Releases: n-3-0-l-d-3-v/ultron
Release list
v0.1.0 - Phase 0: the evidence model, proven
The evidence model, proven. Every finding in Aether is a structured claim linked to the exact artifacts that support it. Free-text security claims are not discouraged here — they are unrepresentable. An agent that tries to write "this looks exploitable" gets a schema error naming the offending field.
Aether builds no disassembler and no decompiler. It bridges to Ghidra and binwalk, and contributes the project model, the evidence graph, and the interfaces around them.
What Phase 0 delivers
- Evidence graph — 11 artifact kinds, 10 claim predicates. Content-addressed ids derived from identity fields only, so enriching an artifact never changes its id and two engines observing the same thing converge on one row instead of duplicating.
- Claims separated from attestations — a claim carries no producer and no timestamp, so the same assertion from two engines is one claim with two attestations. Confidence is derived: maximum within a producer, noisy-OR across independent ones. Two engines agreeing at 0.9 gives 0.99, not two near-duplicate findings.
- Enforced invariants — no claim without evidence, no undeclared fields, evidence must be of the kind the predicate demands, and every write happens inside a transactional run so provenance is never optional. Enforced in Python and in SQLite, including a trigger that refuses to strand a claim.
- Triage — ELF/PE headers, sections, symbol tables, and mitigation flags (NX, PIE, RELRO, stack canary, ASLR, CFG), plus ASCII/UTF-16 string extraction and curated detectors for secrets, embedded components, and risky APIs.
- Firmware unpacking — uImage → gzip → cpio and friends, with a standard-library carver when binwalk is absent. Formats it can only locate are reported, never silently skipped.
- Ghidra bridge — running and importing are split, so an export produced on any machine can be ingested without a local Ghidra install.
- Deterministic export —
graph/is byte-identical across independent analyses of the same bytes, so agit diffshows what was discovered rather than that the tool ran again.ledger/carries provenance and grows, as it should. - MCP server — 15 tools over stdio JSON-RPC, zero dependencies. Agent-submitted claims go through the same validation an adapter does and land as
proposed. - Evaluation harness — ground-truth suites scoring recall, forbidden-pattern false positives, and whether a matched claim cites the right kind of evidence.
Verification
25/25 gate checks (python examples/demo_phase0.py), 179 tests, green on Linux, Windows, and macOS across Python 3.10 and 3.12. CI additionally asserts export determinism, runs the evaluation suites, and fails if the README's stated counts drift from reality.
Requirements
Python 3.10+. No runtime dependencies — clone and run.
git clone https://github.com/n-3-0-l-d-3-v/aether-platform.git
cd aether-platform
python examples/demo_phase0.pyWhat full engine support still needs
Aether runs without either engine at reduced depth, and aether doctor reports every gap with its cost and its fix.
- Ghidra — install Ghidra 11.x plus a JDK 21 or newer, then set
GHIDRA_INSTALL_DIR(orAETHER_GHIDRA_HOME/GHIDRA_HOME, or putsupport/analyzeHeadlessonPATH). Without it: no function recovery, cross references, or decompilation. You can skip the local install entirely and useaether import-ghidra <dir>on an export produced elsewhere. - binwalk —
pip install binwalk, plussasquatch,jefferson, andubi_readerfor full extraction. Without it: squashfs, jffs2, ubifs, and vendor formats are located but not unpacked; gzip/bzip2/xz/zip/tar/cpio still work.
Known gap, stated plainly: the Ghidra and binwalk subprocess invocations have not been exercised against a live install — neither engine was present on the machine Phase 0 was built on. Both translation layers are fully tested, the Ghidra importer against a recorded export built from the sample's real bytes, and argv construction is unit-tested. What has not run is the shell-out itself.
Scope
Phases 1–3 — natural-language Accessible Mode, multi-agent orchestration, firmware cartography, dynamic analysis — are deliberately not started. The evidence model exists to be proven before anything is built on top of it.
Documentation: architecture · decision records