AutoFTE is a small local workflow I built while messing around with AFL++, crash triage, and basic binary analysis. It is not meant to be a polished platform. The goal is just to take a toy target from "I have crash files" to "I have a readable summary of what probably broke."
- Runs quick crash triage and groups similar inputs together
- Checks the target for common protections like NX, PIE, RELRO, and canaries
- Optionally asks a local Ollama model for a short write-up and patch ideas
- Generates a simple markdown summary and a static HTML dashboard
vuln.c: intentionally vulnerable demo targetfuzzer.sh: thin AFL++ wrapper for local runstriage.py: groups crash files by debugger frame or crash signalbinary_analyzer.py: collects quick protection infollm_analyzer.py: optional Ollama-based notesreport_builder.py: builds a short markdown summarysec_dash.py: writes a lightweight static dashboardpipeline.sh: runs the normal local workflow
- Create the micromamba env:
micromamba create -f environment.yml
micromamba activate autofte- Build the sample target:
make-
Make sure you have at least one crash file in
out/default/crashes/. -
Run the pipeline:
./pipeline.sh ./target vuln.cOutputs land in the repo root:
crash_triage.jsonbinary_analysis.jsonllm_analysis.jsonif Ollama is reachableanalysis_summary.mddashboard/index.html
- AFL++,
gdb, and the usual binutils tools still need to exist on the machine. - If
gdbis missing, crash grouping falls back to signal-based buckets. - Ollama is optional. If it is not running, the rest of the pipeline still finishes.
mythic_integrator.pyis just an old side experiment and is not part of the normal flow anymore.
