From f5383da72882760bf64f4ad65070563013dee006 Mon Sep 17 00:00:00 2001 From: Willi Ballenthin Date: Wed, 22 Apr 2026 20:25:13 +0300 Subject: [PATCH] fix: add missing capa.features.extractors.elf import to ghidra and ida helpers Without this import, any ELF analysis via the Ghidra or IDA plugin raises AttributeError: module 'capa.features.extractors' has no attribute 'elf'. --- CHANGELOG.md | 3 +++ capa/ghidra/helpers.py | 1 + capa/ida/helpers.py | 1 + 3 files changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 15cbf94c..05c13869 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -48,6 +48,9 @@ - fix: remove unreachable backports.functools_lru_cache fallback and dead dependency @williballenthin - fix: Scopes.from_dict uses cls instead of self so subclasses return the correct type @williballenthin - fix: correct wrong dict key in VMRay _compute_monitor_threads assertion (used thread_id instead of process_id) @williballenthin +fix: replace assert with isinstance guard in get_callee for invalid MethodSpec tokens @williballenthin +- fix: replace assert with isinstance guard in get_callee for invalid MethodSpec tokens @williballenthin +- fix: add missing capa.features.extractors.elf import to ghidra/helpers.py and ida/helpers.py @williballenthin (SURF-71) - fix: remove dead view_tab_rulegen assignment from CapaExplorerForm that was never read @williballenthin (SURF-70) - fix: remove dead reset_query method from CapaExplorerSearchProxyModel that was never called @williballenthin (SURF-69) - fix: remove unused imports of capa.rules and capa.engine from view.py @williballenthin (SURF-68) diff --git a/capa/ghidra/helpers.py b/capa/ghidra/helpers.py index 61b275d1..8be4c376 100644 --- a/capa/ghidra/helpers.py +++ b/capa/ghidra/helpers.py @@ -22,6 +22,7 @@ import capa.version import capa.features.common import capa.features.freeze import capa.render.result_document as rdoc +import capa.features.extractors.elf import capa.features.extractors.ghidra.context as ghidra_context import capa.features.extractors.ghidra.helpers from capa.features.address import AbsoluteVirtualAddress diff --git a/capa/ida/helpers.py b/capa/ida/helpers.py index 20a6f64d..bb4417dd 100644 --- a/capa/ida/helpers.py +++ b/capa/ida/helpers.py @@ -31,6 +31,7 @@ import capa.version import capa.render.utils as rutils import capa.features.freeze import capa.render.result_document as rdoc +import capa.features.extractors.elf from capa.features.address import AbsoluteVirtualAddress logger = logging.getLogger("capa")