Tool
BinAbsInspector
Static vulnerability scanner from Tencent Keen Lab that runs as a Ghidra extension or headless script and applies abstract interpretation to Ghidra's P-code rather than to assembly, covering x86, x64, ARMv7 and AArch64 binaries. Its flow- and context-sensitive interprocedural analysis, with configurable value-set size and call-string depth, optional Z3 constraint solving and models of external functions, feeds checkers for 13 CWE classes, including command injection, buffer overflows and out-of-bounds access, format strings, integer overflow, double free, use-after-free and NULL dereference. Warnings list the instruction address and its call context, in the Ghidra console or as JSON.
Requirements & limits
- The only release, v0.1 from 2022-04-20, is an extension ZIP built for Ghidra 10.1.2. The reviewed main commit is 20 commits ahead; its Dockerfile and CI workflows use Ghidra 10.4 with JDK 17, and the last commit dates from 2024-05-14, so compatibility with current Ghidra releases is not documented. Source builds use Gradle 7.x (tested with 7.4) against a local Ghidra installation.
- Z3 is required (tested version 4.8.15): the README suggests replacing the Java bindings bundled in lib/ with a matching package and installing the native library separately, not from Linux distribution packages. Runs use Ghidra's headless analyzer, the Script Manager after default auto-analysis in the GUI, or the provided Dockerfile, which builds Z3 from source and defaults to an Ubuntu mirror in China that the UBUNTU_MIRROR argument overrides.
- Binaries are supplied by the user. Warnings are leads for manual review, not confirmed vulnerabilities; Keen Lab's release article reports its own Juliet test-suite comparison with cwe_checker on x86, x64 and ARMv7 for four CWE classes, scored by true and false positives and negatives.
- GPL-3.0. Nothing was built and no binaries were analyzed.
About this entry
- Type
- Tool
- Category
- Native analysis tools
- Relationship
- Foundation tool
- Targets
- Binary
Sources reviewed
The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.
Primary sources
- README.md GitHub · KeenSecurityLab/BinAbsInspector · Revision 658b413
- README.md#L5-L23 GitHub · KeenSecurityLab/BinAbsInspector · Revision 658b413
- README.md#L25-L81 GitHub · KeenSecurityLab/BinAbsInspector · Revision 658b413
- Dockerfile GitHub · KeenSecurityLab/BinAbsInspector · Revision 658b413
- .github/workflows/integration_test.yml GitHub · KeenSecurityLab/BinAbsInspector · Revision 658b413
- LICENSE GitHub · KeenSecurityLab/BinAbsInspector · Revision 658b413
- https://github.com/KeenSecurityLab/BinAbsInspector/releases/tag/v0.1
- https://keenlab.tencent.com/zh/2022/04/20/2022-BinAbsInspector-public-release/
More in Native binaries
- VulHunt Community Edition · Tool
- BinSync · Tool
- class-dump · Tool
- Lucid · Tool
- r2dec · Tool
- DownUnderCTF: masked-squares flag checker · Case study