
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.
Descoberta automatizada de vulnerabilidades orientada por grafos para aplicações de mensagens seguras. Implementação de engenharia da 577 Industries para o tópico DARPA SBIR Direct-to-Phase-II HR0011SB20254-12 (ASEMA).

Procurando artefatos voltados para avaliadores? A versão pública sanitizada de viabilidade está em
577-Industries/asema-feasibility-artifactsna tagv1.0.0-asema-dp2-feasibility. Comece por lá se estiver verificando alegações na proposta ASEMA.
A plataforma de engenharia — a implementação real por trás do AegisGraph:
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
O ponto de entrada da CLI é aegisgraph após a instalação, ou python3 -m aegisgraph.cli a partir deste checkout.
make export-public-sanitized e aprovação humana explícita antes da publicação.v1.0.0-tier3-research, commit d91c1df6).github/workflows/ci.yml é executado ao push; reproduce.yml está if: false até que o runner auto-hospedado seja provisionadovalidator/sanitize_check.py aplica 9 regras em cada candidato a exportação pública antes que qualquer artefato saia deste repositórioOs 14 ADRs em docs/decision-log/ documentam cada decisão arquitetural:
A versão pública correspondente de viabilidade está em 577-Industries/asema-feasibility-artifacts:
Apache-2.0. Veja LICENSE.
SPEC.md é a especificação técnica em vigor. Se a implementação e a especificação divergirem, atualize a especificação deliberadamente.
| Subsistema | Caminho | O que faz |
|---|
| PolyDiff Estendido | aegisgraph/polydiff/ | Parsing diferencial multi-formato em 6 famílias de analisadores (url, image, opengraph, deeplink, qr, proto) com vetores de fatos normalizados |
| HarnessGen | aegisgraph/harnessgen/ | Geração de harness de fuzz poliglota orientada por grafos (Jazzer para JVM, libFuzzer+HWASAN para nativo, cargo-fuzz para Rust) |
| InvariantCheck | aegisgraph/invariants/ | 15 invariantes de segurança específicos para SMA com fixtures de verdade fundamental auditáveis publicamente; mapeamento MASTG/SSDF |
| CrossSMA | aegisgraph/crosssma/ | Matriz de propagação entre aplicações (4 alvos SMA × 6 padrões) com canonicalização estrutural |
| DynamicProbe (período de opção) | aegisgraph/dynamicprobe/ | Emulador AOSP+HWASAN instrumentado com Frida com portão de autorização assinado estruturalmente reforçado |
| Divulgação Coordenada | aegisgraph/disclosure/ | Ledger de divulgação encadeado por hash + roteamento para 7 fornecedores + temporizador de embargo dia-7/14/30/60/90 + fallback CERT/CC |
| ReproChain | reprochain/ | Simulação pré-divulgação contra CVE-2023-4863 (libwebp); commits de vulnerabilidade+correção vendored + harness ASAN |
| Extração | extraction/ | Extração estática sobre SMAs públicas fixadas (Signal Android, Element X Android); 8 consultas CodeQL + 4 regras Semgrep + integração MobSF |
| SMABench | smabench/ | Projeto de benchmark de três anéis: sintético (Anel 1), estático de código-fonte público + alcançabilidade (Anel 2), dinâmico autorizado (Anel 3) |
| Validador + segurança | validator/, aegisgraph/safety.py | Validação de esquema, verificação de sanitização (Regras 1–9), falseabilidade via teste de corrupção deliberada |
| Schema | schema/ | 6 esquemas JSON + extensão aditiva Schema v2 (discovery_run, crash, disagreement, invariant_violation, cross_target_candidate, disclosure_event) |
| Registro de decisões | docs/decision-log/ | 14 ADRs cobrindo todas as decisões arquiteturais |
| ADR | Tópico |
|---|
| 0001 | Divisão do repositório: limite entre engenharia e versão pública |
| 0002 | Manuseio do ReproChain privado |
| 0003 | Seleção do libwebp para alvo do ReproChain |
| 0004 | Seleção do analisador PolyDiff (família url inicial + extensão para 6 famílias) |
| 0005 | Migração do validador |
| 0006 | Propriedade da divulgação (PI nomeado como proprietário; portão de revisão jurídica) |
| 0007–0012 | Arquitetura dos mecanismos (scaffolds de HarnessGen, InvariantCheck, CrossSMA, DynamicProbe) |
| 0013 | Schema v2 (extensão aditiva para saída do mecanismo) |
| 0014 | Formato do ledger de divulgação coordenada (JSONL encadeado por hash) |
| 0020 | Extensão multifamília do PolyDiff |
| 0021 | Disciplina de exportação do validador |