Skip to content

Commit

Permalink
Improved validator docstrings
Browse files Browse the repository at this point in the history
  • Loading branch information
thomaspatzke committed Oct 5, 2022
1 parent 9d103d2 commit c808a3f
Show file tree
Hide file tree
Showing 5 changed files with 7 additions and 11 deletions.
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "pySigma"
version = "0.8.4"
version = "0.8.5"
license = "LGPL-2.1-only"
description = "Sigma rule processing and conversion tools"
authors = ["Thomas Patzke <[email protected]>"]
Expand Down
4 changes: 1 addition & 3 deletions sigma/validators/condition.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,7 @@ class DanglingDetectionIssue(SigmaValidationIssue):
detection_name : str

class DanglingDetectionValidator(SigmaRuleValidator):
"""
Check for detection definitions not referenced from condition.
"""
"""Check for detection definitions not referenced from condition. """
detection_names : Set[str]

def condition_referenced_ids(self, cond : ConditionItem, detections : SigmaDetections) -> Set[str]:
Expand Down
1 change: 1 addition & 0 deletions sigma/validators/modifiers.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ class ModifierAppliedMultipleIssue(SigmaValidationIssue):
modifiers: Set[Type[SigmaModifier]]

class InvalidModifierCombinationsValidator(SigmaDetectionItemValidator):
"""Detects invalid combinations of value modifiers."""
def validate_detection_item(self, detection_item: SigmaDetectionItem) -> List[SigmaValidationIssue]:
issues = []

Expand Down
1 change: 1 addition & 0 deletions sigma/validators/tags.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ class InvalidATTACKTagIssue(SigmaValidationIssue):
tag: SigmaRuleTag

class ATTACKTagValidator(SigmaTagValidator):
"""Check for usage of valid MITRE ATT&CK tags."""
def __init__(self) -> None:
self.allowed_tags = {
tactic.lower().replace("-", "_")
Expand Down
10 changes: 3 additions & 7 deletions sigma/validators/values.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,14 @@
from sigma.types import SigmaString, SpecialChars
from sigma.validators.base import SigmaDetectionItemValidator, SigmaStringValueValidator, SigmaValidationIssue, SigmaValidationIssueSeverity


@dataclass
class DoubleWildcardIssue(SigmaValidationIssue):
description: ClassVar[str] = "String contains multiple consecutive * wildcards"
severity: ClassVar[SigmaValidationIssueSeverity] = SigmaValidationIssueSeverity.LOW
string : SigmaString

class DoubleWildcardValidator(SigmaStringValueValidator):
"""
Check strings for consecutive multi-character wildcards *.
"""
"""Check strings for consecutive multi-character wildcards *."""
def validate_value(self, value: SigmaString) -> List[SigmaValidationIssue]:
prev_wildcard = False
for c in value.s:
Expand All @@ -36,9 +33,7 @@ class NumberAsStringIssue(SigmaValidationIssue):
string : SigmaString

class NumberAsStringValidator(SigmaStringValueValidator):
"""
Check numbers that were expressed as strings.
"""
"""Check numbers that were expressed as strings."""
def validate_value(self, value: SigmaString) -> List[SigmaValidationIssue]:
if len(value.s) == 1 and isinstance(value.s[0], str):
try:
Expand Down Expand Up @@ -91,6 +86,7 @@ class WildcardInsteadOfEndswithIssue(SigmaValidationIssue):
detection_item: SigmaDetectionItem

class WildcardsInsteadOfModifiersValidator(SigmaDetectionItemValidator):
"""Check if wildcards were used where usage of startswith, endswith and contains modifiers would be possible."""
def validate_detection_item(self, detection_item: SigmaDetectionItem) -> List[SigmaValidationIssue]:
if all((
isinstance(value, SigmaString) and
Expand Down

0 comments on commit c808a3f

Please sign in to comment.