mirror of
https://github.com/mandiant/capa.git
synced 2026-06-12 11:01:31 -07:00
committed by
Willi Ballenthin
parent
309231f261
commit
b505ba7621
@@ -81,9 +81,6 @@ lint.ignore = [
|
||||
"B904", # Raise exceptions within except clause using raise from
|
||||
"UP028", # Replace yield over for loop with yield from
|
||||
"C409", # Unnecessary list comprehension passed to tuple()
|
||||
# TODO(mike-hunhoff): address circular dependencies
|
||||
# https://github.com/mandiant/capa/issues/2996
|
||||
"F401", # Unused imports
|
||||
]
|
||||
|
||||
[lint.per-file-ignores]
|
||||
|
||||
@@ -17,7 +17,6 @@ import itertools
|
||||
import collections
|
||||
from dataclasses import dataclass
|
||||
|
||||
import capa.perf
|
||||
import capa.engine
|
||||
import capa.helpers
|
||||
import capa.features.freeze as frz
|
||||
|
||||
@@ -18,7 +18,6 @@ import itertools
|
||||
import collections
|
||||
from dataclasses import dataclass
|
||||
|
||||
import capa.perf
|
||||
import capa.engine
|
||||
import capa.helpers
|
||||
import capa.features.freeze as frz
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
import logging
|
||||
from typing import Iterator
|
||||
|
||||
import capa.features.extractors.elf
|
||||
import capa.features.extractors.common
|
||||
import capa.features.extractors.binexport2.file
|
||||
import capa.features.extractors.binexport2.insn
|
||||
|
||||
@@ -19,7 +19,6 @@ from typing import Iterator
|
||||
import pefile
|
||||
from elftools.elf.elffile import ELFFile
|
||||
|
||||
import capa.features.common
|
||||
import capa.features.extractors.common
|
||||
import capa.features.extractors.pefile
|
||||
import capa.features.extractors.elffile
|
||||
|
||||
@@ -18,7 +18,6 @@ from collections import defaultdict
|
||||
from dataclasses import dataclass
|
||||
|
||||
import capa.features.extractors.helpers
|
||||
import capa.features.extractors.binexport2.helpers
|
||||
from capa.features.common import ARCH_I386, ARCH_AMD64, ARCH_AARCH64
|
||||
from capa.features.extractors.binexport2.binexport2_pb2 import BinExport2
|
||||
|
||||
|
||||
@@ -16,7 +16,6 @@ from typing import Iterator
|
||||
|
||||
import binaryninja as binja
|
||||
|
||||
import capa.features.extractors.elf
|
||||
import capa.features.extractors.binja.file
|
||||
import capa.features.extractors.binja.insn
|
||||
import capa.features.extractors.binja.global_
|
||||
|
||||
@@ -16,9 +16,7 @@ from typing import Iterator
|
||||
|
||||
from binaryninja import Segment, BinaryView, SymbolType, SymbolBinding
|
||||
|
||||
import capa.features.extractors.common
|
||||
import capa.features.extractors.helpers
|
||||
import capa.features.extractors.strings
|
||||
from capa.features.file import Export, Import, Section, FunctionName
|
||||
from capa.features.common import (
|
||||
FORMAT_PE,
|
||||
|
||||
@@ -21,7 +21,6 @@ from typing import Iterator
|
||||
|
||||
import pefile
|
||||
|
||||
import capa.features
|
||||
import capa.features.extractors.elf
|
||||
import capa.features.extractors.pefile
|
||||
import capa.features.extractors.strings
|
||||
|
||||
@@ -21,7 +21,6 @@ from pathlib import Path
|
||||
import dnfile
|
||||
from dncil.cil.opcode import OpCodes
|
||||
|
||||
import capa.features.extractors
|
||||
import capa.features.extractors.dotnetfile
|
||||
import capa.features.extractors.dnfile.file
|
||||
import capa.features.extractors.dnfile.insn
|
||||
|
||||
@@ -18,7 +18,6 @@ from typing import Iterator
|
||||
|
||||
from ghidra.program.model.symbol import SourceType, SymbolType
|
||||
|
||||
import capa.features.extractors.common
|
||||
import capa.features.extractors.helpers
|
||||
import capa.features.extractors.strings
|
||||
import capa.features.extractors.ghidra.helpers
|
||||
|
||||
@@ -17,7 +17,6 @@ from typing import Iterator
|
||||
import idaapi
|
||||
|
||||
import capa.ida.helpers
|
||||
import capa.features.extractors.elf
|
||||
import capa.features.extractors.ida.file
|
||||
import capa.features.extractors.ida.insn
|
||||
import capa.features.extractors.ida.global_
|
||||
|
||||
@@ -23,7 +23,6 @@ import ida_entry
|
||||
import ida_loader
|
||||
|
||||
import capa.ida.helpers
|
||||
import capa.features.extractors.common
|
||||
import capa.features.extractors.helpers
|
||||
import capa.features.extractors.strings
|
||||
import capa.features.extractors.ida.helpers
|
||||
|
||||
@@ -18,11 +18,8 @@ from pathlib import Path
|
||||
|
||||
import pefile
|
||||
|
||||
import capa.features.common
|
||||
import capa.features.extractors
|
||||
import capa.features.extractors.common
|
||||
import capa.features.extractors.helpers
|
||||
import capa.features.extractors.strings
|
||||
from capa.features.file import Export, Import, Section
|
||||
from capa.features.common import OS, ARCH_I386, FORMAT_PE, ARCH_AMD64, OS_WINDOWS, Arch, Format, Characteristic
|
||||
from capa.features.address import NO_ADDRESS, FileOffsetAddress, AbsoluteVirtualAddress
|
||||
|
||||
@@ -19,10 +19,8 @@ import vivisect
|
||||
import viv_utils
|
||||
import viv_utils.flirt
|
||||
|
||||
import capa.features.insn
|
||||
import capa.features.extractors.common
|
||||
import capa.features.extractors.helpers
|
||||
import capa.features.extractors.strings
|
||||
from capa.features.file import Export, Import, Section, FunctionName
|
||||
from capa.features.common import Feature, Characteristic
|
||||
from capa.features.address import Address, FileOffsetAddress, AbsoluteVirtualAddress
|
||||
|
||||
@@ -16,7 +16,6 @@ import logging
|
||||
from typing import Iterator
|
||||
from pathlib import Path
|
||||
|
||||
import capa.helpers
|
||||
import capa.features.extractors.vmray.call
|
||||
import capa.features.extractors.vmray.file
|
||||
import capa.features.extractors.vmray.global_
|
||||
|
||||
@@ -24,13 +24,8 @@ from typing import Union, Literal, TypeAlias
|
||||
|
||||
from pydantic import Field, BaseModel, ConfigDict
|
||||
|
||||
import capa.helpers
|
||||
import capa.version
|
||||
import capa.features.file
|
||||
import capa.features.insn
|
||||
import capa.features.common
|
||||
import capa.features.address
|
||||
import capa.features.basicblock
|
||||
import capa.features.extractors.null as null
|
||||
from capa.helpers import assert_never
|
||||
from capa.features.freeze.features import Feature, feature_from_capa
|
||||
|
||||
@@ -17,9 +17,7 @@ import datetime
|
||||
import contextlib
|
||||
from pathlib import Path
|
||||
|
||||
import capa
|
||||
import capa.version
|
||||
import capa.features.common
|
||||
import capa.features.freeze
|
||||
import capa.render.result_document as rdoc
|
||||
import capa.features.extractors.elf
|
||||
|
||||
@@ -30,7 +30,6 @@ from ghidra.util.exception import CancelledException
|
||||
from ghidra.program.flatapi import FlatProgramAPI
|
||||
from ghidra.program.model.symbol import Namespace, SourceType, SymbolType
|
||||
|
||||
import capa
|
||||
import capa.main
|
||||
import capa.rules
|
||||
import capa.version
|
||||
|
||||
@@ -25,7 +25,6 @@ import ida_kernwin
|
||||
import ida_settings
|
||||
|
||||
import capa.rules
|
||||
import capa.engine
|
||||
import capa.loader
|
||||
import capa.version
|
||||
import capa.ida.helpers
|
||||
|
||||
@@ -22,12 +22,10 @@ from pathlib import Path
|
||||
from rich.console import Console
|
||||
|
||||
import capa.rules
|
||||
import capa.helpers
|
||||
import capa.version
|
||||
import capa.features.common
|
||||
import capa.features.freeze as frz
|
||||
import capa.features.address
|
||||
import capa.features.extractors
|
||||
import capa.render.result_document as rdoc
|
||||
import capa.features.extractors.common
|
||||
from capa.rules import RuleSet
|
||||
|
||||
@@ -30,9 +30,7 @@ from pefile import PEFormatError
|
||||
from rich.logging import RichHandler
|
||||
from elftools.common.exceptions import ELFError
|
||||
|
||||
import capa.perf
|
||||
import capa.rules
|
||||
import capa.engine
|
||||
import capa.loader
|
||||
import capa.helpers
|
||||
import capa.version
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
import collections
|
||||
import urllib.parse
|
||||
|
||||
import rich
|
||||
import rich.table
|
||||
from rich.console import Console
|
||||
|
||||
|
||||
@@ -34,7 +34,6 @@ import yaml.parser
|
||||
|
||||
import capa.perf
|
||||
import capa.engine as ceng
|
||||
import capa.features
|
||||
import capa.optimizer
|
||||
import capa.features.com
|
||||
import capa.features.file
|
||||
|
||||
@@ -23,7 +23,6 @@ from pathlib import Path
|
||||
from dataclasses import dataclass
|
||||
|
||||
import capa.rules
|
||||
import capa.helpers
|
||||
import capa.version
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -70,11 +70,8 @@ import multiprocessing
|
||||
import multiprocessing.pool
|
||||
from pathlib import Path
|
||||
|
||||
import capa
|
||||
import capa.main
|
||||
import capa.rules
|
||||
import capa.loader
|
||||
import capa.render.json
|
||||
import capa.capabilities.common
|
||||
import capa.render.result_document as rd
|
||||
|
||||
|
||||
@@ -21,9 +21,7 @@ from pathlib import Path
|
||||
|
||||
import capa.main
|
||||
import capa.rules
|
||||
import capa.engine
|
||||
import capa.loader
|
||||
import capa.features
|
||||
import capa.render.json
|
||||
import capa.render.utils as rutils
|
||||
import capa.render.default
|
||||
|
||||
@@ -46,9 +46,6 @@ from pathlib import Path
|
||||
|
||||
import capa.main
|
||||
import capa.rules
|
||||
import capa.engine
|
||||
import capa.features
|
||||
import capa.features.insn
|
||||
|
||||
logger = logging.getLogger("capa2yara")
|
||||
|
||||
|
||||
@@ -38,12 +38,8 @@ import logging
|
||||
import argparse
|
||||
|
||||
import capa.main
|
||||
import capa.rules
|
||||
import capa.loader
|
||||
import capa.exceptions
|
||||
import capa.render.proto
|
||||
import capa.render.verbose
|
||||
import capa.features.freeze
|
||||
import capa.capabilities.common
|
||||
import capa.render.result_document as rd
|
||||
from capa.loader import FORMAT_BINEXPORT2, BACKEND_BINEXPORT2
|
||||
|
||||
@@ -17,7 +17,6 @@ import logging
|
||||
import argparse
|
||||
from pathlib import Path
|
||||
|
||||
import capa.main
|
||||
import capa.rules
|
||||
from capa.features.common import Feature
|
||||
|
||||
|
||||
@@ -64,11 +64,6 @@ import viv_utils
|
||||
import viv_utils.flirt
|
||||
|
||||
import capa.main
|
||||
import capa.rules
|
||||
import capa.engine
|
||||
import capa.helpers
|
||||
import capa.features
|
||||
import capa.features.freeze
|
||||
from capa.loader import BACKEND_VIV
|
||||
|
||||
logger = logging.getLogger("capa.match-function-id")
|
||||
|
||||
@@ -57,13 +57,7 @@ from rich.console import Console
|
||||
|
||||
import capa.main
|
||||
import capa.perf
|
||||
import capa.rules
|
||||
import capa.engine
|
||||
import capa.loader
|
||||
import capa.helpers
|
||||
import capa.features
|
||||
import capa.features.common
|
||||
import capa.features.freeze
|
||||
import capa.capabilities.common
|
||||
|
||||
logger = logging.getLogger("capa.profile")
|
||||
|
||||
@@ -44,10 +44,8 @@ import argparse
|
||||
from pathlib import Path
|
||||
|
||||
import capa.main
|
||||
import capa.render.json
|
||||
import capa.render.proto
|
||||
import capa.render.proto.capa_pb2
|
||||
import capa.render.result_document
|
||||
|
||||
logger = logging.getLogger("capa.proto-to-results-json")
|
||||
|
||||
|
||||
@@ -65,10 +65,8 @@ import colorama
|
||||
import capa.main
|
||||
import capa.rules
|
||||
import capa.loader
|
||||
import capa.exceptions
|
||||
import capa.render.utils as rutils
|
||||
import capa.render.verbose
|
||||
import capa.features.freeze
|
||||
import capa.capabilities.common
|
||||
import capa.render.result_document as rd
|
||||
from capa.features.freeze import Address
|
||||
|
||||
@@ -76,12 +76,7 @@ import logging
|
||||
import argparse
|
||||
|
||||
import capa.main
|
||||
import capa.rules
|
||||
import capa.engine
|
||||
import capa.loader
|
||||
import capa.helpers
|
||||
import capa.features
|
||||
import capa.exceptions
|
||||
import capa.render.verbose as v
|
||||
import capa.features.freeze
|
||||
import capa.features.address
|
||||
|
||||
@@ -25,8 +25,6 @@ from rich.table import Table
|
||||
import capa.main
|
||||
import capa.rules
|
||||
import capa.helpers
|
||||
import capa.features
|
||||
import capa.exceptions
|
||||
import capa.render.verbose as v
|
||||
import capa.features.common
|
||||
import capa.features.freeze
|
||||
|
||||
@@ -20,7 +20,6 @@ from functools import lru_cache
|
||||
|
||||
import pytest
|
||||
|
||||
import capa.loader
|
||||
import capa.features.file
|
||||
import capa.features.insn
|
||||
import capa.features.common
|
||||
@@ -101,7 +100,6 @@ def xfail(condition, reason: str = ""):
|
||||
# need to limit cache size so GitHub Actions doesn't run out of memory, see #545
|
||||
@lru_cache(maxsize=1)
|
||||
def get_viv_extractor(path: Path):
|
||||
import capa.main
|
||||
import capa.loader
|
||||
import capa.features.extractors.viv.extractor
|
||||
|
||||
@@ -311,7 +309,6 @@ def get_ghidra_extractor(path: Path):
|
||||
|
||||
import capa.loader
|
||||
import capa.features.extractors.ghidra.context
|
||||
import capa.features.extractors.ghidra.extractor
|
||||
|
||||
if path in GHIDRA_CACHE:
|
||||
extractor, program, flat_api, monitor = GHIDRA_CACHE[path]
|
||||
|
||||
@@ -833,7 +833,6 @@ def test_arm_add_two_operand_does_not_crash():
|
||||
],
|
||||
"operand_indices": [0, 1],
|
||||
})
|
||||
from capa.features.insn import Number
|
||||
|
||||
features = list(extract_insn_number_features(fh, bbh, ih))
|
||||
values = {f.value for f, _ in features}
|
||||
|
||||
@@ -20,7 +20,6 @@ import fixtures
|
||||
import capa.features.file
|
||||
import capa.features.insn
|
||||
import capa.features.common
|
||||
import capa.features.basicblock
|
||||
from capa.features.common import (
|
||||
OS,
|
||||
OS_LINUX,
|
||||
|
||||
@@ -19,8 +19,6 @@ import pytest
|
||||
import fixtures
|
||||
|
||||
import capa.main
|
||||
import capa.features.file
|
||||
import capa.features.common
|
||||
|
||||
logger = logging.getLogger(__file__)
|
||||
|
||||
|
||||
@@ -15,11 +15,9 @@
|
||||
|
||||
import fixtures
|
||||
|
||||
import capa.main
|
||||
import capa.features.file
|
||||
import capa.features.insn
|
||||
import capa.features.common
|
||||
import capa.features.basicblock
|
||||
|
||||
DYNAMIC_CAPE_FEATURE_PRESENCE_TESTS = sorted(
|
||||
[
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
|
||||
import fixtures
|
||||
|
||||
import capa.main
|
||||
import capa.features.file
|
||||
import capa.features.insn
|
||||
import capa.features.common
|
||||
|
||||
@@ -38,7 +38,6 @@ from functools import lru_cache
|
||||
import pytest
|
||||
import fixtures
|
||||
|
||||
import capa.main
|
||||
import capa.rules
|
||||
import capa.capabilities.dynamic
|
||||
from capa.features.extractors.base_extractor import ThreadFilter, DynamicFeatureExtractor
|
||||
|
||||
@@ -19,7 +19,6 @@ import fixtures
|
||||
|
||||
import capa.main
|
||||
import capa.rules
|
||||
import capa.features.file
|
||||
import capa.features.insn
|
||||
import capa.features.common
|
||||
import capa.features.freeze
|
||||
|
||||
@@ -19,7 +19,6 @@ import pytest
|
||||
|
||||
import capa.main
|
||||
import capa.rules
|
||||
import capa.helpers
|
||||
import capa.features.file
|
||||
import capa.features.insn
|
||||
import capa.features.common
|
||||
@@ -27,7 +26,6 @@ import capa.features.freeze
|
||||
import capa.features.basicblock
|
||||
import capa.features.extractors.null
|
||||
import capa.features.freeze.features
|
||||
import capa.features.extractors.base_extractor
|
||||
from capa.features.address import Address, AbsoluteVirtualAddress
|
||||
from capa.features.extractors.base_extractor import (
|
||||
BBHandle,
|
||||
|
||||
@@ -21,8 +21,6 @@ import fixtures
|
||||
|
||||
import capa.main
|
||||
import capa.rules
|
||||
import capa.engine
|
||||
import capa.features
|
||||
|
||||
|
||||
def test_main(z9324d_extractor):
|
||||
|
||||
@@ -18,9 +18,7 @@ from typing import Any
|
||||
import pytest
|
||||
|
||||
import capa.rules
|
||||
import capa.render
|
||||
import capa.render.proto
|
||||
import capa.render.utils
|
||||
import capa.features.freeze
|
||||
import capa.features.address
|
||||
import capa.render.proto.capa_pb2 as capa_pb2
|
||||
|
||||
@@ -27,7 +27,6 @@ import capa.features.common
|
||||
import capa.features.freeze
|
||||
import capa.render.vverbose
|
||||
import capa.features.address
|
||||
import capa.features.basicblock
|
||||
import capa.render.result_document
|
||||
import capa.render.result_document as rd
|
||||
import capa.features.freeze.features
|
||||
|
||||
@@ -18,7 +18,6 @@ import textwrap
|
||||
import pytest
|
||||
import fixtures
|
||||
|
||||
import capa
|
||||
import capa.rules
|
||||
import capa.engine as ceng
|
||||
import capa.features.file
|
||||
|
||||
@@ -19,7 +19,6 @@ import pytest
|
||||
|
||||
import capa.rules
|
||||
import capa.engine
|
||||
import capa.rules.cache
|
||||
import capa.features.common
|
||||
import capa.features.address
|
||||
from capa.engine import Or
|
||||
|
||||
@@ -266,7 +266,6 @@ def test_missing_static_dynamic_scope_no_crash_when_scopes_absent():
|
||||
import lint as lint_module
|
||||
|
||||
import capa.engine
|
||||
import capa.features.common
|
||||
|
||||
scopes = capa.rules.Scopes(static=capa.rules.Scope.FUNCTION, dynamic=capa.rules.Scope.PROCESS)
|
||||
statement = capa.engine.And([])
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
|
||||
import fixtures
|
||||
|
||||
import capa.main
|
||||
import capa.features.file
|
||||
import capa.features.insn
|
||||
import capa.features.common
|
||||
|
||||
@@ -13,11 +13,9 @@
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
import os
|
||||
import sys
|
||||
import logging
|
||||
import urllib.parse
|
||||
from glob import glob
|
||||
from pathlib import Path
|
||||
|
||||
import pygments
|
||||
|
||||
Reference in New Issue
Block a user