An open-source tool that detects capabilities in executable files like malware, identifying behaviors such as backdoor installation or network communication.
capa is an open-source tool developed by Mandiant's FLARE team that identifies capabilities in executable files, such as malware. It analyzes PE, ELF, .NET modules, shellcode, and sandbox reports to detect behaviors like backdoor installation, network communication, or data encoding, helping analysts understand a program's intent. The tool maps these capabilities to the MITRE ATT&CK framework for standardized threat reporting.
Malware analysts, reverse engineers, and security researchers who need to quickly assess suspicious binaries and understand their functionality. It's also valuable for threat intelligence teams mapping malware behaviors to known attack patterns.
Developers choose capa for its rule-based extensibility, integration with disassemblers like IDA Pro and Ghidra, and support for both static and dynamic analysis via sandbox reports. Its open-source nature and active community ensure continuous updates and a transparent approach to capability detection.
The FLARE team's open-source tool to identify capabilities in executable files.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses a YAML-based rule format that allows users to define and share custom capability signatures, making it adaptable to new malware families and techniques.
Offers plugins for IDA Pro and Ghidra, enabling interactive analysis within popular reverse engineering tools and feature extraction from disassembled code.
Maps detected capabilities to MITRE ATT&CK tactics and techniques, providing standardized threat intelligence for reporting and correlation with known attack patterns.
Supports analysis of executable files directly and processes sandbox reports (e.g., CAPE, DRAKVUF), enhancing detection of runtime behaviors that static analysis might miss.
Static analysis is limited against packed or obfuscated malware, as admitted in README warnings, requiring sandbox reports for accurate detection and increasing analysis complexity.
Detection quality heavily relies on the rule set; false negatives can occur with missing or outdated rules, necessitating continuous manual updates and community contributions.
Integrating with disassemblers like Ghidra via PyGhidra or using dynamic analysis with sandboxes requires additional configuration and dependencies, which can be non-trivial for beginners.