AegisGraph: grafikbasierte Bewertungsplattform für Anwendungsschicht-Evidenz für sichere Messaging-Anwendungen (SMAs). DARPA ASEMA HR0011SB20254-12 Tier-3-Forschung. ReproChain CVE-2023-4863-Erreichbarkeit + PolyDiff-Differentialparser-Fuzzing + Claim-State-Governance + reproduzierbare Benchmark-Oberfläche.
Graphgesteuerte automatisierte Schwachstellenerkennung für sichere Messaging-Anwendungen. Die Engineering-Implementierung von 577 Industries für das DARPA-SBIR-Thema HR0011SB20254-12 (ASEMA) im Rahmen von Direct-to-Phase-II.

Sie suchen nach Artefakten für Gutachter? Die bereinigte öffentliche Machbarkeitsveröffentlichung finden Sie unter
577Industries/asema-feasibility-artifactsbeim Tagv1.0.0-asema-dp2-feasibility. Beginnen Sie dort, wenn Sie Aussagen im ASEMA-Vorschlag überprüfen möchten.
Die Engineering-Plattform — die tatsächliche Implementierung hinter AegisGraph:
| Subsystem | Pfad | Funktion |
|---|---|---|
| PolyDiff Extended | aegisgraph/polydiff/ | Differenzielle Analyse über mehrere Formate hinweg mit 6 Parser-Familien (url, image, opengraph, deeplink, qr, proto) und normalisierten Faktenvektoren |
| HarnessGen | aegisgraph/harnessgen/ | Graphgesteuerte Generierung polyglotter Fuzz-Harnesses (Jazzer für JVM, libFuzzer+HWASAN für native, cargo-fuzz für Rust) |
| InvariantCheck | aegisgraph/invariants/ | 15 SMA-spezifische Sicherheitsinvarianten mit öffentlich prüfbaren Ground-Truth-Fixtures; MASTG/SSDF-Zuordnung |
| CrossSMA | aegisgraph/crosssma/ | Anwendungsübergreifende Propagationsmatrix (4 SMA-Ziele × 6 Muster) mit struktureller Kanonisierung |
| DynamicProbe (Optionsphase) | aegisgraph/dynamicprobe/ | Frida-instrumentierter AOSP+HWASAN-Emulator mit strukturell erzwungenem, signiertem Autorisierungs-Gate |
| Koordinierte Offenlegung | aegisgraph/disclosure/ | Hash-verkettetes Offenlegungs-Ledger + Routing an 7 Hersteller + Embargo-Timer für Tag 7/14/30/60/90 + CERT/CC-Fallback |
| ReproChain | reprochain/ | Simulation vor der Offenlegung gegen CVE-2023-4863 (libwebp); eingebundene Schwachstellen- und Fix-Commits + ASAN-Harness |
| Extraktion | extraction/ | Statische Extraktion über gepinnte öffentliche SMAs (Signal Android, Element X Android); 8 CodeQL-Abfragen + 4 Semgrep-Regeln + MobSF-Integration |
| SMABench | smabench/ | Drei-Ring-Benchmark-Design: synthetisch (Ring 1), statisch aus öffentlichen Quellen + Erreichbarkeit (Ring 2), autorisiert dynamisch (Ring 3) |
| Validator + Sicherheit | validator/, aegisgraph/safety.py | Schema-Validierung, Sanitize-Check (Regeln 1–9), Falsifizierbarkeit durch absichtlichen Korruptionstest |
| Schema | schema/ | 6 JSON-Schemas + additive Schema-v2-Erweiterung (discovery_run, crash, disagreement, invariant_violation, cross_target_candidate, disclosure_event) |
| Entscheidungsprotokoll | docs/decision-log/ | 14 ADRs zu allen Architekturentscheidungen |
git clone https://github.com/577Industries/aegisgraph
cd aegisgraph
git checkout v1.0.0-tier3-research
# Recommended: use the pinned devcontainer
devcontainer up
make tooling-strict # verify pinned toolchain
python3 -m pytest -q # expect 1030 passed, 19 skipped
# Per-engine smoke tests
make reprochain-map # ReproChain reachability mapping
make polydiff-regression # PolyDiff differential parser regression (8 historical CVE rediscoveries)
make extract # static extraction over pinned SMAs
make smabench # SMABench benchmark generation
make validate # evidence + CETM validation
make reproduce # full reproduction pipeline
Der CLI-Einstiegspunkt ist aegisgraph nach der Installation oder python3 -m aegisgraph.cli aus diesem Checkout.
make export-public-sanitized und ausdrückliche menschliche Freigabe vor der Veröffentlichung.v1.0.0-tier3-research-Tag, Commit d91c1df6).github/workflows/ci.yml läuft bei Push; reproduce.yml ist if: false, bis der selbstgehostete Runner bereitgestellt istvalidator/sanitize_check.py erzwingt 9 Regeln für jeden öffentlichen Export-Kandidaten, bevor ein Artefakt dieses Repository verlässtDie 14 ADRs in docs/decision-log/ dokumentieren jede Architekturentscheidung:
| ADR | Thema |
|---|---|
| 0001 | Repo-Aufteilung: Grenze zwischen Engineering und öffentlicher Veröffentlichung |
| 0002 | Umgang mit privater ReproChain |
| 0003 | Auswahl von libwebp als ReproChain-Ziel |
| 0004 | Auswahl des PolyDiff-Parsers (anfängliche url-Familie + Erweiterung auf 6 Familien) |
| 0005 | Migration des Validators |
| 0006 | Zuständigkeit für Offenlegung (PI als benannter Verantwortlicher; Freigabegate durch Rechtsberatung) |
| 0007–0012 | Engine-Architektur (HarnessGen, InvariantCheck, CrossSMA, DynamicProbe-Gerüste) |
| 0013 | Schema v2 (additive Erweiterung für Engine-Ausgabe) |
| 0014 | Format des Ledgers für koordinierte Offenlegung (hash-verkettetes JSONL) |
| 0020 | PolyDiff-Erweiterung auf mehrere Familien |
| 0021 | Exportdisziplin des Validators |