fix: remove unused imports and un-suppress F401

closes #2996
This commit is contained in:
Willi Ballenthin
2026-05-07 12:40:42 +02:00
committed by Willi Ballenthin
parent 309231f261
commit b505ba7621
53 changed files with 0 additions and 98 deletions
-3
View File
@@ -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]
-1
View File
@@ -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
-1
View File
@@ -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_
-2
View File
@@ -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,
-1
View File
@@ -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
-1
View File
@@ -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_
-1
View File
@@ -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
-3
View File
@@ -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
-2
View File
@@ -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_
-5
View File
@@ -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
-2
View File
@@ -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
-1
View File
@@ -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
-1
View File
@@ -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
-2
View File
@@ -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
-2
View File
@@ -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
-1
View File
@@ -16,7 +16,6 @@
import collections
import urllib.parse
import rich
import rich.table
from rich.console import Console
-1
View File
@@ -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
-1
View 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__)
-3
View File
@@ -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
-2
View File
@@ -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
-3
View File
@@ -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
-1
View File
@@ -17,7 +17,6 @@ import logging
import argparse
from pathlib import Path
import capa.main
import capa.rules
from capa.features.common import Feature
-5
View File
@@ -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")
-6
View File
@@ -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")
-2
View File
@@ -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")
-2
View File
@@ -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
-5
View File
@@ -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
-2
View File
@@ -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
-3
View File
@@ -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]
-1
View File
@@ -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}
-1
View File
@@ -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,
-2
View File
@@ -19,8 +19,6 @@ import pytest
import fixtures
import capa.main
import capa.features.file
import capa.features.common
logger = logging.getLogger(__file__)
-2
View 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(
[
-1
View File
@@ -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
-1
View File
@@ -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
-2
View File
@@ -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,
-2
View File
@@ -21,8 +21,6 @@ import fixtures
import capa.main
import capa.rules
import capa.engine
import capa.features
def test_main(z9324d_extractor):
-2
View File
@@ -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
-1
View File
@@ -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
-1
View File
@@ -18,7 +18,6 @@ import textwrap
import pytest
import fixtures
import capa
import capa.rules
import capa.engine as ceng
import capa.features.file
-1
View 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
-1
View File
@@ -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([])
-1
View File
@@ -15,7 +15,6 @@
import fixtures
import capa.main
import capa.features.file
import capa.features.insn
import capa.features.common
-2
View File
@@ -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