fix linting issue

This commit is contained in:
manasghandat
2023-03-21 18:51:51 +05:30
parent d1d6db877d
commit 00e94d976a
3 changed files with 34 additions and 34 deletions

View File

@@ -268,7 +268,7 @@ def dumps(extractor: capa.features.extractors.base_extractor.FeatureExtractor) -
basic_block=bbaddr,
address=Address.from_capa(addr),
feature=feature_from_capa(feature),
) # type: ignore
) # type: ignore
for feature, addr in extractor.extract_basic_block_features(f, bb)
]
@@ -304,21 +304,21 @@ def dumps(extractor: capa.features.extractors.base_extractor.FeatureExtractor) -
address=faddr,
features=tuple(ffeatures),
basic_blocks=basic_blocks,
) # type: ignore
) # type: ignore
)
features = Features(
global_=global_features,
file=tuple(file_features),
functions=tuple(function_features),
) # type: ignore
) # type: ignore
freeze = Freeze(
version=2,
base_address=Address.from_capa(extractor.get_base_address()),
extractor=Extractor(name=extractor.__class__.__name__),
features=features,
) # type: ignore
) # type: ignore
return freeze.json()

View File

@@ -101,77 +101,77 @@ class FeatureModel(BaseModel):
def feature_from_capa(f: capa.features.common.Feature) -> "Feature":
if isinstance(f, capa.features.common.OS):
assert isinstance(f.value,str)
assert isinstance(f.value, str)
return OSFeature(os=f.value, description=f.description)
elif isinstance(f, capa.features.common.Arch):
assert isinstance(f.value,str)
assert isinstance(f.value, str)
return ArchFeature(arch=f.value, description=f.description)
elif isinstance(f, capa.features.common.Format):
assert isinstance(f.value,str)
assert isinstance(f.value, str)
return FormatFeature(format=f.value, description=f.description)
elif isinstance(f, capa.features.common.MatchedRule):
assert isinstance(f.value,str)
assert isinstance(f.value, str)
return MatchFeature(match=f.value, description=f.description)
elif isinstance(f, capa.features.common.Characteristic):
assert isinstance(f.value,str)
assert isinstance(f.value, str)
return CharacteristicFeature(characteristic=f.value, description=f.description)
elif isinstance(f, capa.features.file.Export):
assert isinstance(f.value,str)
assert isinstance(f.value, str)
return ExportFeature(export=f.value, description=f.description)
elif isinstance(f, capa.features.file.Import):
assert isinstance(f.value,str)
return ImportFeature(import_=f.value, description=f.description) # type: ignore
assert isinstance(f.value, str)
return ImportFeature(import_=f.value, description=f.description) # type: ignore
elif isinstance(f, capa.features.file.Section):
assert isinstance(f.value,str)
assert isinstance(f.value, str)
return SectionFeature(section=f.value, description=f.description)
elif isinstance(f, capa.features.file.FunctionName):
assert isinstance(f.value,str)
return FunctionNameFeature(function_name=f.value, description=f.description) # type: ignore
assert isinstance(f.value, str)
return FunctionNameFeature(function_name=f.value, description=f.description) # type: ignore
# must come before check for String due to inheritance
elif isinstance(f, capa.features.common.Substring):
assert isinstance(f.value,str)
assert isinstance(f.value, str)
return SubstringFeature(substring=f.value, description=f.description)
# must come before check for String due to inheritance
elif isinstance(f, capa.features.common.Regex):
assert isinstance(f.value,str)
assert isinstance(f.value, str)
return RegexFeature(regex=f.value, description=f.description)
elif isinstance(f, capa.features.common.String):
assert isinstance(f.value,str)
assert isinstance(f.value, str)
return StringFeature(string=f.value, description=f.description)
elif isinstance(f, capa.features.common.Class):
assert isinstance(f.value,str)
return ClassFeature(class_=f.value, description=f.description) # type: ignore
assert isinstance(f.value, str)
return ClassFeature(class_=f.value, description=f.description) # type: ignore
elif isinstance(f, capa.features.common.Namespace):
assert isinstance(f.value,str)
assert isinstance(f.value, str)
return NamespaceFeature(namespace=f.value, description=f.description)
elif isinstance(f, capa.features.basicblock.BasicBlock):
assert isinstance(f.value,(str|None))
assert isinstance(f.value, (str | None))
return BasicBlockFeature(description=f.description)
elif isinstance(f, capa.features.insn.API):
assert isinstance(f.value,str)
assert isinstance(f.value, str)
return APIFeature(api=f.value, description=f.description)
elif isinstance(f, capa.features.insn.Property):
assert isinstance(f.value,str)
assert isinstance(f.value, str)
return PropertyFeature(property=f.value, access=f.access, description=f.description)
elif isinstance(f, capa.features.insn.Number):
assert isinstance(f.value,(int,float))
assert isinstance(f.value, (int, float))
return NumberFeature(number=f.value, description=f.description)
elif isinstance(f, capa.features.common.Bytes):
@@ -180,20 +180,20 @@ def feature_from_capa(f: capa.features.common.Feature) -> "Feature":
return BytesFeature(bytes=binascii.hexlify(buf).decode("ascii"), description=f.description)
elif isinstance(f, capa.features.insn.Offset):
assert isinstance(f.value,int)
assert isinstance(f.value, int)
return OffsetFeature(offset=f.value, description=f.description)
elif isinstance(f, capa.features.insn.Mnemonic):
assert isinstance(f.value,str)
assert isinstance(f.value, str)
return MnemonicFeature(mnemonic=f.value, description=f.description)
elif isinstance(f, capa.features.insn.OperandNumber):
assert isinstance(f.value,int)
return OperandNumberFeature(index=f.index, operand_number=f.value, description=f.description) # type: ignore
assert isinstance(f.value, int)
return OperandNumberFeature(index=f.index, operand_number=f.value, description=f.description) # type: ignore
elif isinstance(f, capa.features.insn.OperandOffset):
assert isinstance(f.value,int)
return OperandOffsetFeature(index=f.index, operand_offset=f.value, description=f.description) # type: ignore
assert isinstance(f.value, int)
return OperandOffsetFeature(index=f.index, operand_offset=f.value, description=f.description) # type: ignore
else:
raise NotImplementedError(f"feature_from_capa({type(f)}) not implemented")

View File

@@ -355,7 +355,7 @@ class Match(BaseModel):
node=node,
children=tuple(children),
locations=tuple(locations),
captures = {capture : tuple(captures[capture]) for capture in captures}
captures={capture: tuple(captures[capture]) for capture in captures},
)
@@ -497,8 +497,8 @@ class RuleMetadata(FrozenModel):
malware_family=rule.meta.get("maec/malware-family"),
malware_category=rule.meta.get("maec/malware-category"),
malware_category_ov=rule.meta.get("maec/malware-category-ov"),
), # type: ignore
) # type: ignore
), # type: ignore
) # type: ignore
class Config:
frozen = True