Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md
ABLATION

NIST SP 800-218 CISA Secure by Design MIL-HDBK-115C

Ablation is an AI-assisted reverse engineering (AIARE) framework.


demo

Capabilities

Decompilers, Disassemblers & Analyzers

Native CPUs

ISAVariants
x86x86-32 · x86-64
ARMARM-32 · ARM-64 · Thumb
MIPSMIPS-32 · nanoMIPS · MIPS-64
PowerPCPPC-32 · PPC-64 · VLE · PPC476 Book E · XCOFF32 / AIX
RISC-VRV32 · RV64 · HiSilicon ext
ARCARC EM · ARC HS
LoongArchLoongArch64 · KASAN/KCOV V2
Alpha AXPAlpha 21064 · 21164 · 21264 · ECOFF · ELF
Intel MCS8051 / MCS-51 · CC254x
XilinxMicroBlaze · Versal PDI/CDO · ZynqMP BOOT.BIN

Automotive ECUs

ISAVariants
V850 / RH850V850-32 · RH850
Renesas SHSH-2A
MotorolaM68K / CPU32 · MC88100
InfineonTriCore TC1.6x
TI DSPTMS320C28x
Infineon C166C166 · C167

VMs & Runtimes

ISAVariants
DEXDalvik · ART
ARKArkTS
MicroPython.mpy v6
BEAMErlang BEAM bytecode
Java.class · JAR
Python.pyc (3.8–3.12)
Core Engine
CapabilityCodeDescription
AI Knowledge-Graph Analysis1 2Combines knowledge graphs with agent-driven retrieval to explore relationships and iteratively refine binary analysis.
Analysis Context & Caching1 2Reuses analysis results and session state across runs to avoid redundant processing.
Intermediate Representation1Lifts machine code from supported architectures into a shared IR for dataflow analysis, taint tracking, symbolic execution, and decompilation.
Architecture Definition Language1Describes ISA encodings and semantics as reusable graphs, allowing new architectures without changing the core analysis engines.
Control & Data-Flow Analysis1 2Builds control-flow graphs, propagates dataflow facts, and recovers high-level control structures from branch instructions.
Static Single Assignment1 2Models register definitions with SSA and unifies architecture-specific instructions for type recovery, struct analysis, and pseudo-C generation.
Expression Analysis1Converts instructions into typed expressions and merges equivalent computations to reduce redundant taint findings.
Register & Argument Tracking1 2Tracks symbolic register values across calls and traces sink arguments to network input, file reads, or prior return values.
ARM64 Data-Flow Slicing1 2Traces ARM64 store addresses backward to identify exact and possible writes to targeted globals and structure fields.
Function Prioritization1 2Profiles function calls and filters findings in functions without runtime call or pointer references.
Binary Parsing & Hardening1 2Parses ELF, PE, and Mach-O metadata and inspects ELF hardening, including NX, PIE, RELRO, and stack canaries.
Disassembly & Code Profiling1 2Provides Capstone disassembly with memory-efficient streaming, targeted windows, and optional Angr-backed dataflow analysis.
Architecture & ABI Models1 2Normalizes x86 instructions and models register aliases, calling conventions, and Linux syscalls in 32-bit and 64-bit modes.
Function Discovery1 2Recovers function entry points from stripped binaries and flat ROMs using prologues, calls, reset vectors, and alignment patterns.
Debug Metadata & Symbol Recovery1 2Recovers ELF function addresses and names from unwind metadata, DWARF, and BTF, plus i386 string cross-references.
Packed & Encrypted Region Detection1Locates compressed, encrypted, and packed regions using sliding-window Shannon entropy analysis.
Dynamic Function Emulation1Emulates ARM64 and x86-64 leaf functions to corroborate static findings with observed register and memory writes.
Cryptographic Analysis1 2Detects cipher implementations, recovers XOR and affine keys, and tests JWT secrets and RSA/ECDSA nonce reuse.
ReAct (Reasoning + Acting)
CapabilityCodeDescription
AI-Guided Analysis1 2Pre-fetches function context and prior results for single-call LLM naming, role analysis, and patch hypotheses.
Semantic Code Search1Ranks functions by natural-language queries using fast vector embeddings, helping analysts locate relevant code before manual disassembly.
Vulnerability Hypothesis Tracking1Ranks competing vulnerability hypotheses as evidence accumulates and preserves investigation state across sessions.
Evidence Scoring & Validation1 2Ranks probes by expected information gain and executes approved adapters to gather evidence for competing hypotheses.
Cross-Target Learning1 2Reuses productive findings, queries, and vendor-specific sink patterns across related targets while discarding unproductive patterns.
Function Identification & Naming1 2Automatically names known functions using FLIRT-style signatures and preserves analyst-assigned names across binary versions.
Approximate Function Matching1 2Indexes opcode-category sequences for fast approximate matching and DTW-based similar-function search.
Vulnerability Pattern Mining1 2Mines prior findings for CWE trends and scans binaries for registered CVE-specific byte patterns.
KASAN Finding Validation1Verifies KASAN candidates in stripped production binaries, confirming 11 of 14 candidates in TencentOS kernel 6.6.119.
Security Research
CapabilityCodeDescription
Data-Flow Taint Analysis1 2Traces attacker-controlled data with function-level analysis on x86-64 and intra- or interprocedural analysis on ARM64.
Dangerous Call Classification1 2 3Classifies sink arguments on x86-64, ARM32, and LoongArch64 and filters constant-format calls before taint analysis.
Input Validation & Call Wrappers1 2Discovers transitive sink wrappers and profiles sanitization coverage to refine vulnerability triage.
Network Attack-Surface Detection1Prioritizes propagated-argument sinks in functions reachable from network input, excluding unreachable candidates from taint analysis.
Exploit Path Validation1 2Checks path feasibility with bounded Z3 solving and stores reviewed findings for later analysis and export.
Format-String Vulnerabilities1Finds non-constant format arguments in logging calls and includes provenance traces for assessing attacker control.
Heap Memory Vulnerabilities1 2Detects allocation overflows, use-after-free, double-free, and off-by-one patterns on x86-64 and LoongArch64.
Parser Length & Bounds Checks1 2Detects length-subtraction underflows and validates TLV chunk bounds in protocol parser loops.
Unsafe Input & Function Checks1 2Classifies risky sscanf call sites and flags deprecated or unsafe imported functions.
Unauthenticated Attack Surface1Maps unauthenticated routes and their reachable sinks by reconstructing dispatch and authentication wrappers from binaries.
Web & Fortinet Attack Surfaces1 2Reconstructs Apache handler chains and maps Fortinet CMDB operations to command-execution sinks.
SQL & Lua Injection Analysis1 2Classifies SQL query provenance in binaries and traces request input to Lua evaluation in source trees.
Compiler Defects & Hardening1 2Detects LoongArch64 min/max miscompilations and missing or inconsistent binary hardening.
Windows Driver Vulnerabilities1 2Ranks BYOVD primitives by impact and identifies METHOD_NEITHER IOCTL handlers that expose raw user-space pointers.
Source Code Security Analysis1 2Profiles source files and traces dangerous sinks back to request-input sources across repository call graphs.
Exploit Development & Scoring1 2Builds encoded shellcode and ROP chains, calculates cyclic offsets, and scores findings with BARE for Metasploit modules.
Firmware Analysis
CapabilityCodeDescription
Fortinet Firmware Analysis1 2Recovers FortiOS partition keys and extracts firmware containers into analyzable ELF and filesystem images.
Junos Firmware Analysis1 2 3Extracts signed Junos packages and ISO9660/Rock Ridge userlands, verifies RSA/EC signatures, and compares releases with MIPS32/o32-aware analysis.
Firmware Extraction & Triage1 2Scans firmware signatures, strings, and entropy and extracts partitions from supported vendor containers.
IBM AIX Binary Analysis1 2Parses XCOFF32/64 sections and symbols and extracts BFF package archives without the AIX toolchain.
ECU Architecture Detection1 2Identifies raw-ROM architectures and classifies code, calibration data, and interrupt-vector regions before disassembly.
Embedded Architecture Decoding1 2Decodes C166/C167 and TI C28x instructions and recovers function starts from ECU firmware.
ECU Security Analysis1 2Detects predictable UDS and KWP2000 seeds and traces diagnostic input to memory writes on TriCore.
Calibration & CAN Analysis1 2 3Parses ECU calibration definitions and maps CAN frames to named signals using DBC layouts and scaling metadata.
Texas Instruments & ML Firmware1 2Parses TI COFF2 symbols and detects embedded NNC/TVM models, weak normalization symbols, and NPU usage risks.
Legacy Binary Formats1 2Parses Motorola M88K COFF binaries and extracts files from Tandem NonStop Guardian PAK archives.
Multi-Architecture Analysis Matrix
CapabilityCodeDescription
Android App Analysis1 2Parses APK manifests and DEX metadata and audits exported components, secrets, dangerous APIs, and native interfaces.
HarmonyOS App Analysis1 2 3Reconstructs ArkTS modules as JavaScript-like pseudocode and surfaces embedded API keys and endpoint URLs.
Go Binary Analysis1 2Recovers Go function names from pclntab metadata and reconstructs command handlers and message framing in supported binaries.
Java & Spring Analysis1 2Parses Java artifacts and detects deserialization gadgets, XXE, JNDI injection, and exposed Spring Actuator endpoints.
Erlang & MicroPython Analysis1 2Lifts BEAM and MicroPython bytecode to pseudocode and flags dynamic execution and controlled hardware or network operations.
Python, Perl & Electron Analysis1 2 3Audits Python bytecode, traces Perl input into backticks, and detects insecure Electron windows, IPC, and renderer boundaries.
Browser Extension Security1Detects externally connectable extensions whose privileged message handlers process web requests without verifying sender identity.
LoongArch & nanoMIPS Analysis1 2 3Provides architecture-specific decoding, lifting, taint analysis, and sink classification for LoongArch64 and variable-width nanoMIPS.
C++ Call Recovery1 2Reconstructs C++ class hierarchies and resolves ARM64 and x86-64 virtual calls for accurate call graphs.
PowerPC Call Recovery1 2 3Resolves PowerPC indirect calls and ELFv1 trampolines and uses AltiVec density to identify signal-processing routines.
Windows Binary Analysis1 2 3 4 5 6Detects Windows CFG bypasses, exposed SEH handlers, and COM hijacks while extracting ETW providers and RPC interfaces.
Protocol Analysis
CapabilityCodeDescription
Protocol & Steganography Analysis1 2Reconstructs ARM64 protocol state machines and extracts cryptographic material hidden in firmware bitmap pixels.
TLS Security Analysis1 2Audits TLS certificates, key exchanges, transport protections, and session-resumption downgrade paths.
API Security Testing1Discovers undocumented APIs and tests major web transports for authorization, injection, SSRF, JWT, and OAuth weaknesses.
Nginx Security Testing1Fingerprints Nginx and probes for exposed status endpoints, alias traversal, proxy SSRF, and request smuggling.
AI & Agent Security1 2Audits AI endpoints, MCP tool flows, RAG stores, and agent-to-agent trust chains for injection and data exposure.
Live Ecosystems
CapabilityCodeDescription
Host & Privilege Assessment1 2Inventories hosts, detects process injection, traces syscalls, and identifies privilege-escalation misconfigurations.
Forensics & Malware Analysis1 2Collects Windows and Linux forensic artifacts, detects timestomping and rootkits, and recovers ELF binaries from memory.
Network & Industrial Protocols1 2Discovers services and ICS/OT protocols, extracts exposed PCAP credentials, and flags C2 or lateral-movement patterns.
Cisco Infrastructure Assessment1 2Audits Cisco appliance and data-center configurations, recovers weak credentials, and maps trust and lateral-movement paths.
Container & Kubernetes Security1 2Assesses container privilege, isolation, secret exposure, RBAC, and cloud-metadata risks.
VoIP Security Assessment1Enumerates VoIP services and gateways and detects unencrypted media, weak SIP registration, and toll-fraud exposure.
DocIN (Documentation + Integrity)
CapabilityCodeDescription
Binary Diffing & Patch Tracking1Matches functions across binary versions and reports instruction, callee, and string changes for patch review.
Sequence-Based Function Matching1 2Matches homologous functions with DTW and localizes patched instruction windows using matrix-profile distances.
Structural Function Matching1Matches functions across architectures and optimized builds by comparing control-flow topology instead of instruction sequences.
Module Security Quality Gate1Blocks commits with critical or high findings from cached ten-section security audits of Ablation modules.
Finding Export & Reporting1 2 3Exports findings as replayable YARA rules, SARIF 2.1.0, and JSON for analysis and reporting workflows.
Automated Vulnerability Sweeps1 2Runs resumable pre-filtering, sink classification, and taint phases, including eight Fortinet vulnerability profiles.
Game Engine Analysis1Identifies game engines and engine-specific RCE surfaces in stripped binaries using extensible signature and vtable patterns.
Threat Classification1Labels findings with MITRE ATT&CK technique and tactic IDs for export and reporting.
Software Composition & Supply Chain1 2Extracts library versions and provenance into SBOM-ready component records for supply-chain review.
Binary Ninja Plugin1Annotates Binary Ninja with cached function names, taint findings, and session verdicts at instruction level.
Rubric Library
CapabilityDescription
IndexA structured collection of named, versionable LLM "behavior specifications" that you can apply to different tasks to get consistent, high-quality analyses on demand.

Setup & About

Install
pip install ablation-tool

Requirements: Python >= 3.10 · capstone>=5.0.1 · numpy · lief · fastembed · pyelftools

Optional feature sets:

# All optional analyzers
pip install "ablation-tool[full]"

# CPython .pyc scanning and Apple BV41 decompression
pip install "ablation-tool[bytecode]"

sentence-transformers, Anthropic, and Angr support are optional; the full extra includes them together with xdis and lz4.

Acknowledgments

The code couldn't exist without their ideas. Though no code was written by these authors, doctors, and engineers, their work has direct influence on the production of code that makes Ablation what it is.

Research Papers

TitleAuthors
Reverse Compilation Techniques · Specifying the Semantics of Machine Instructions · UQBT: Adaptable Binary Translation at Low Cost · Machine-Adaptable Dynamic Binary TranslationDr. Cristina Cifuentes
Design of a Retargetable Decompiler for a Static Platform-Independent Malware AnalysisPetr Zemek, Lukáš Ďurfina, Jakub Křoustek, Dušan Kolář, Tomas Hruska, Karel Masařík, Alexander Meduna
Finding Taint-Style Vulnerabilities in Linux-based Embedded Firmware with SSE-based Alias AnalysisCheng, Zheng, Liu, Guan, Liu, Li, Zhu, Ye, Sun
iResolveX: Multi-Layered Indirect Call Resolution via Static Reasoning and Learning-Augmented RefinementMonika Santra, Bokai Zhang, Mark Lim, Vishnu Asutosh Dasu, Dongrui Zeng, Gang Tan
Extracting Protocol Format as State Machine via Controlled Static Loop AnalysisQingkai Shi, Xiangzhe Xu, Xiangyu Zhang
NEMETYL: Message Type Identification of Binary Network Protocols using Continuous Segment SimilarityStephan Kleber, Rens Wouter van der Heijden, Frank Kargl
Imperfect Forward Secrecy: How Diffie-Hellman Fails in PracticeDavid Adrian, Karthikeyan Bhargavan, Zakir Durumeric, Pierrick Gaudry, Matthew Green, J. Alex Halderman, Nadia Heninger, Drew Springall, Emmanuel Thomé, Luke Valenta
Nonce-Disrespecting Adversaries: Practical Forgery Attacks on GCM in TLSHanno Böck, Aaron Zauner, Sean Devlin, Juraj Somorovsky, Philipp Jovanovic
Whitening Sentence Representations for Better Semantics and Faster RetrievalJianlin Su, Jiarun Cao, Weijie Liu, Yangyiwen Ou
Constant Propagation with Conditional BranchesMark N. Wegman, F. Kenneth Zadeck
A Simple, Fast Dominance AlgorithmCooper, Harvey, Kennedy
libdft: Practical Dynamic Data Flow Tracking for Commodity SystemsVasileios P. Kemerlis, Georgios Portokalidis, Kangkook Jee, Angelos D. Keromytis

Books supplied by www.oreilly.com | github.com/oreillymedia

TitleAuthors
The Art of Software Security AssessmentMark Dowd, John McDonald, Justin Schuh
Practical Binary AnalysisDennis Andriesse
Practical Malware AnalysisMichael Sikorski, Andrew Honig
Practical Reverse EngineeringBruce Dang, Alexandre Gazet, Elias Bachaalany
Hacking: The Art of Exploitation (2e)Jon Erickson
Learning Linux Binary AnalysisRyan O'Neill
Windows Internals Part 1 & 2Pavel Yosifovich, Mark Russinovich, David Solomon, Alex Ionescu, Andrea Allievi
Rootkits: Subverting the Windows KernelGreg Hoglund, Jamie Butler
Advanced Compiler Design and ImplementationSteven Muchnick
Engineering a CompilerKeith Cooper, Linda Torczon
Practical IoT HackingFotios Chantzis, Ioannis Stais, Paulino Calderon, Evangelos Deirmentzoglou, Beau Woods
Inside the Android OS: Building, Customizing, Managing and Operating Android System ServicesG. Blake Meike
Malware Analysis and Detection EngineeringAbhijit Mohanta, Anoop Saldanha
Evasive MalwareKyle Cucci
Hacking CryptographyKamran Khan, Bill Cox
Real-World CryptographyDavid Wong
Agentic GraphRAGAnthony Alcaraz, Sam Julien

Honorable Mention

Microsoft Excel (Data Analysis ToolPak). When analyzing closed infrastructure or securing black-box systems, this exact process is called timing analysis or telemetry reverse engineering. Without source code, the Data Analysis ToolPak mathematically deconstructs how an application works on the backend by strictly observing its inputs and outputs.

Real-World Results

Ablation has been used to analyze production firmware and kernel drivers from Cisco, IBM, TencentOS, Huawei, Fortinet, and more.

Following coordinated disclosure, the Cisco Product Security Incident Response Team (PSIRT) adopted Ablation for internal vulnerability triage and continues to use it to evaluate ongoing disclosure reports. Cisco Adaptive Security Appliance (ASA) LINA is among the artifacts analyzed, with findings submitted through CERT/CC VINCE.

CVEProductTitleCVSS
CVE‑2026‑76420Secure Firewall Management Center (FMC)Peer Impersonation9.0 Critical
CVE‑2026‑76412Secure Firewall Management Center (FMC)Privilege Escalation to root8.5 High
CVE‑2026‑76413Secure Firewall Management Center (FMC)Single Sign-On Token Forgery8.5 High
CVE‑2026‑76447Identity Services Engine (ISE)OCSP Responder Authentication Bypass5.3 Medium
Demonstrations

Ablation in Action

Ablation in Action

How to Use Ablation

How to Use Ablation

Learn as You RE

Learn as You RE

Code Standards

NIST SP 800-218

This defines how software should be built, organized around four practice areas: preparing the development environment, protecting the codebase from unauthorized changes, writing software with security built into every layer, and responding when vulnerabilities surface after release.

What this means for Ablation in practice is a mandatory ten-section security audit on every module before it touches the repository. The audit covers input validation, memory handling, integer safety, error handling, concurrency, dependency security, injection prevention, secrets handling, logging, and residual risks. No module is committed without passing it.

Taint trackers, which are the modules that matter most if they get something wrong, carry an additional requirement: 85% statement coverage enforced by a hard gate in the test suite, verified against byte-exact synthetic instruction sequences that test ABI register behavior, not just whether the code runs without crashing. Dependencies are pinned with exact hashes and scanned weekly for known CVEs.

CISA Secure by Design

CISA asks software manufacturers to commit to three things: take ownership of the security outcomes of the people who rely on the software, be transparent about its limitations, and treat security as a requirement rather than a recommendation.

For a RE framework, taking ownership of security outcomes has a specific meaning. A taint tracker that misses a vulnerability does not just produce a wrong answer. It produces a result someone may act on as evidence the binary is clean. That is why a false negative in any Ablation taint tracker is classified as a CRITICAL defect.

Every tracker ships with a documented known-anomalies file describing the exact conditions under which it can produce false negatives, so a researcher knows when to apply manual verification on top of the automated result. The precommit gate is not advisory. No code enters the repository without passing it.

MIL-HDBK-115C

The US Department of Defense handbook for reverse engineering methodology defines four phases:

  • Phase 1: Every engagement starts with a session file recording the target description, artifact hash, tool selection, and documentation plan before any analysis runs. The rule that semantic search runs before manual disassembly maps to the following phase.
  • Phase 2: Requires characterizing a binary at the function level before doing detailed trace work. The DynamicSandbox covers the following.
  • Phase 3: The structured retrospective written at the close of every completed project maps to the final phase.
  • Phase 4: The standards document tracks 29 specific requirements drawn from all three frameworks. All 29 are met.
Responsible Use & Contact

Responsible Use: Ablation is built for authorized security research. Use it only against systems you own or have explicit written permission to test. Running it against systems without authorization violates computer fraud laws in most jurisdictions. The author is not responsible for misuse.

Contact: Feel free to contact me if you have any questions, ideas, complaints, or bugs:

关于 About

Ablation is an AI-assisted reverse engineering (AIARE) framework
claude-codecodexgeminihermes-agentkimiopencodereverse-engineering

语言 Languages

Python99.9%
Shell0.1%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
1824
Total Commits
峰值: 498次/周
Less
More

核心贡献者 Contributors