
AegisGraph: graph-based application-layer assessment evidence platform for Secure Messaging Applications (SMAs). DARPA ASEMA HR0011SB20254-12 Tier 3 research. ReproChain CVE-2023-4863 reachability + PolyDiff differential parser fuzzing + claim-state governance + reproducible benchmark surface.
Graph-gesteuerte automatisierte Schwachstellenerkennung für sichere Messaging-Anwendungen. Die Implementierung der 577 Industries für das DARPA SBIR Direct-to-Phase-II Thema HR0011SB20254-12 (ASEMA).

Auf der Suche nach evaluatororientierten Artefakten? Die bereinigte öffentliche Machbarkeitsveröffentlichung befindet sich unter
577-Industries/asema-feasibility-artifactsim Tagv1.0.0-asema-dp2-feasibility. Dort beginnen, wenn Sie Behauptungen im ASEMA-Vorschlag überprüfen möchten.
Die Entwicklungsplattform – die eigentliche Implementierung hinter AegisGraph:
git clone https://github.com/577Industries/aegisgraph
cd aegisgraph
git checkout v1.0.0-tier3-research
# Empfohlen: den festgepinnten Devcontainer verwenden
devcontainer up
make tooling-strict # festgepinnte Toolchain überprüfen
python3 -m pytest -q # erwartet 1030 bestanden, 19 übersprungen
# Pro-Engine-Smoke-Tests
make reprochain-map # ReproChain-Erreichbarkeitskartierung
make polydiff-regression # PolyDiff-Differential-Parser-Regression (8 historische CVE-Wiederentdeckungen)
make extract # statische Extraktion über festgepinnten SMAs
make smabench # SMABench-Benchmark-Generierung
make validate # Evidenz + CETM-Validierung
make reproduce # vollständige Reproduktions-Pipeline
Der CLI-Einstiegspunkt ist aegisgraph nach der Installation, oder python3 -m aegisgraph.cli aus diesem Checkout.
make export-public-sanitized und explizite menschliche Genehmigung vor Veröffentlichung.v1.0.0-tier3-research-Tag, Commit d91c1df6).github/workflows/ci.yml läuft bei Push; reproduce.yml ist if: false, bis ein selbstgehosteter Runner bereitgestellt istvalidator/sanitize_check.py erzwingt 9 Regeln für jeden Kandidaten öffentlicher Exporte, bevor ein Artefakt dieses Repository verlässtDie 14 ADRs in docs/decision-log/ dokumentieren jede Architekturentscheidung:
Die passende öffentliche Machbarkeitsveröffentlichung befindet sich unter 577-Industries/asema-feasibility-artifacts:
Apache-2.0. Siehe LICENSE.
SPEC.md ist die aktuelle technische Spezifikation. Wenn Implementierung und Spezifikation abweichen, aktualisieren Sie bewusst die Spezifikation.
| Subsystem | Pfad | Beschreibung |
|---|
| PolyDiff Extended | aegisgraph/polydiff/ | Multi-Format-Differential-Parsing über 6 Parser-Familien (url, image, opengraph, deeplink, qr, proto) mit normalisierten Faktenvektoren |
| HarnessGen | aegisgraph/harnessgen/ | Graph-gesteuerte Polyglot-Fuzz-Harness-Erzeugung (Jazzer für JVM, libFuzzer+HWASAN für nativ, cargo-fuzz für Rust) |
| InvariantCheck | aegisgraph/invariants/ | 15 SMA-spezifische Sicherheitsinvarianten mit öffentlich überprüfbaren Ground-Truth-Fixtures; MASTG/SSDF-Zuordnung |
| CrossSMA | aegisgraph/crosssma/ | Anwendungsübergreifende Ausbreitungsmatrix (4 SMA-Ziele × 6 Muster) mit struktureller Kanonisierung |
| DynamicProbe (Optionszeitraum) | aegisgraph/dynamicprobe/ | Frida-instrumentierter AOSP+HWASAN-Emulator mit strukturell erzwungenem signiertem Autorisierungsgate |
| Coordinated Disclosure | aegisgraph/disclosure/ | Hash-verkettetes Offenlegungsbuch + 7-Anbieter-Routing + Embargo-Timer Tag 7/14/30/60/90 + CERT/CC-Fallback |
| ReproChain | reprochain/ | Simulation vor der Offenlegung gegen CVE-2023-4863 (libwebp); vendored Schwachstellen- + Fix-Commits + ASAN-Harness |
| Extraction | extraction/ | Statische Extraktion über festgepinnten öffentlichen SMAs (Signal Android, Element X Android); 8 CodeQL-Abfragen + 4 Semgrep-Regeln + MobSF-Integration |
| SMABench | smabench/ | Drei-Ring-Benchmark-Design: synthetisch (Ring 1), öffentliche Quelle statisch + Erreichbarkeit (Ring 2), autorisiert dynamisch (Ring 3) |
| Validator + Sicherheit | validator/, aegisgraph/safety.py | Schema-Validierung, Sanitize-Check (Regeln 1–9), Falsifizierbarkeit durch absichtlichen Korruptions-Test |
| Schema | schema/ | 6 JSON-Schemata + Schema v2 additive Erweiterung (discovery_run, crash, disagreement, invariant_violation, cross_target_candidate, disclosure_event) |
| Entscheidungsprotokoll | docs/decision-log/ | 14 ADRs, die alle Architekturentscheidungen dokumentieren |
| ADR | Thema |
|---|
| 0001 | Repository-Split: Grenze zwischen Entwicklung und öffentlicher Veröffentlichung |
| 0002 | Private ReproChain-Handhabung |
| 0003 | Auswahl von libwebp als ReproChain-Ziel |
| 0004 | PolyDiff-Parser-Auswahl (ursprüngliche url-Familie + Erweiterung auf 6 Familien) |
| 0005 | Validator-Migration |
| 0006 | Offenlegungsverantwortung (PI als benannter Besitzer; Rechtsberatungs-Prüf-Gate) |
| 0007–0012 | Engine-Architektur (HarnessGen, InvariantCheck, CrossSMA, DynamicProbe-Gerüste) |
| 0013 | Schema v2 (additive Erweiterung für Engine-Ausgabe) |
| 0014 | Koordiniertes Offenlegungsbuch-Format (hash-verkettetes JSONL) |
| 0020 | PolyDiff-Mehrfamilien-Erweiterung |
| 0021 | Exportdisziplin des Validators |