
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.
Descubrimiento automatizado de vulnerabilidades basado en grafos para aplicaciones de mensajería segura. Implementación de ingeniería de 577 Industries para el tema HR0011SB20254-12 (ASEMA) de DARPA SBIR Directo a Fase II.

¿Buscas artefactos orientados al evaluador? La versión pública sanitizada de viabilidad reside en
577-Industries/asema-feasibility-artifactsen la etiquetav1.0.0-asema-dp2-feasibility. Empieza allí si estás verificando las afirmaciones de la propuesta ASEMA.
La plataforma de ingeniería — la implementación real detrás de AegisGraph:
git clone https://github.com/577Industries/aegisgraph
cd aegisgraph
git checkout v1.0.0-tier3-research
# Recomendado: usar el devcontainer fijado
devcontainer up
make tooling-strict # verificar cadena de herramientas fijada
python3 -m pytest -q # esperar 1030 aprobadas, 19 omitidas
# Pruebas de humo por motor
make reprochain-map # mapeo de alcanzabilidad de ReproChain
make polydiff-regression # regresión del analizador diferencial de PolyDiff (8 redescubrimientos históricos de CVE)
make extract # extracción estática sobre SMAs fijados
make smabench # generación de benchmark SMABench
make validate # validación de evidencia + CETM
make reproduce # pipeline de reproducción completa
El punto de entrada CLI es aegisgraph tras la instalación, o python3 -m aegisgraph.cli desde este checkout.
make export-public-sanitized y aprobación humana explícita antes de su publicación.v1.0.0-tier3-research, commit d91c1df6).github/workflows/ci.yml se ejecuta al hacer push; reproduce.yml está if: false hasta que se aprovisione el runner autoalojadovalidator/sanitize_check.py aplica 9 reglas en cada candidato de exportación pública antes de que cualquier artefacto salga de este repoLas 14 ADR en docs/decision-log/ documentan cada decisión arquitectónica:
El lanzamiento público de viabilidad correspondiente está en 577-Industries/asema-feasibility-artifacts:
Apache-2.0. Ver LICENSE.
SPEC.md es la especificación técnica en funcionamiento. Si la implementación y la especificación divergen, actualiza la especificación deliberadamente.
| Subsistema | Ruta | Qué hace |
|---|
| PolyDiff Extendido | aegisgraph/polydiff/ | Análisis diferencial multi-formato en 6 familias de analizadores (url, image, opengraph, deeplink, qr, proto) con vectores de hechos normalizados |
| HarnessGen | aegisgraph/harnessgen/ | Generación de arneses de fuzzing políglotas basados en grafos (Jazzer para JVM, libFuzzer+HWASAN para nativo, cargo-fuzz para Rust) |
| InvariantCheck | aegisgraph/invariants/ | 15 invariantes de seguridad específicos de SMA con fixtures de verdad fundamental auditables públicamente; mapeo MASTG/SSDF |
| CrossSMA | aegisgraph/crosssma/ | Matriz de propagación entre aplicaciones (4 objetivos SMA × 6 patrones) con canonicalización estructural |
| DynamicProbe (período de opción) | aegisgraph/dynamicprobe/ | Emulador AOSP+HWASAN instrumentado con Frida y compuerta de autorización firmada estructuralmente |
| Divulgación Coordinada | aegisgraph/disclosure/ | Libro mayor de divulgación encadenado con hash + enrutamiento a 7 proveedores + temporizador de embargo en días 7/14/30/60/90 + respaldo CERT/CC |
| ReproChain | reprochain/ | Simulación previa a la divulgación contra CVE-2023-4863 (libwebp); commits de vulnerabilidad y parche incluidos + arnés ASAN |
| Extracción | extraction/ | Extracción estática sobre SMAs públicos fijados (Signal Android, Element X Android); 8 consultas CodeQL + 4 reglas Semgrep + integración MobSF |
| SMABench | smabench/ | Diseño de benchmark de tres anillos: sintético (Anillo 1), estático de fuente pública + alcanzabilidad (Anillo 2), dinámico autorizado (Anillo 3) |
| Validador + seguridad | validator/, aegisgraph/safety.py | Validación de esquema, comprobación de sanitización (Reglas 1–9), falseabilidad mediante prueba de corrupción deliberada |
| Esquema | schema/ | 6 esquemas JSON + extensión aditiva de Schema v2 (discovery_run, crash, disagreement, invariant_violation, cross_target_candidate, disclosure_event) |
| Registro de decisiones | docs/decision-log/ | 14 ADR que cubren todas las decisiones arquitectónicas |
| ADR | Tema |
|---|
| 0001 | División del repositorio: límite entre ingeniería y publicación pública |
| 0002 | Manejo privado de ReproChain |
| 0003 | Selección de libwebp para objetivo de ReproChain |
| 0004 | Selección de analizadores PolyDiff (familia url inicial + extensión a 6 familias) |
| 0005 | Migración del validador |
| 0006 | Propiedad de divulgación (PI como propietario designado; compuerta de revisión legal) |
| 0007–0012 | Arquitectura de motores (andamios de HarnessGen, InvariantCheck, CrossSMA, DynamicProbe) |
| 0013 | Schema v2 (extensión aditiva para salida de motores) |
| 0014 | Formato del libro mayor de divulgación coordinada (JSONL encadenado con hash) |
| 0020 | Extensión multi-familia de PolyDiff |
| 0021 | Disciplina de exportación del validador |