AegisGraph: 보안 메시징 애플리케이션(SMA)을 위한 그래프 기반 애플리케이션 계층 평가 증거 플랫폼. DARPA ASEMA HR0011SB20254-12 Tier 3 연구. ReproChain CVE-2023-4863 도달 가능성 + PolyDiff 차등 파서 퍼징 + 클레임 상태 거버넌스 + 재현 가능한 벤치마크 표면.
보안 메시징 애플리케이션을 위한 그래프 기반 자동 취약점 탐색. DARPA SBIR Direct-to-Phase-II 주제 HR0011SB20254-12 (ASEMA)에 대한 577 Industries의 엔지니어링 구현.

평가자용 산출물을 찾고 계신가요? 정제된 공개 타당성 릴리스는 태그
v1.0.0-asema-dp2-feasibility의577Industries/asema-feasibility-artifacts에 있습니다. ASEMA 제안서의 주장을 검증하고 계신다면 그곳에서 시작하십시오.
엔지니어링 플랫폼 — AegisGraph 이면의 실제 구현:
| 하위 시스템 | 경로 | 기능 |
|---|---|---|
| PolyDiff Extended | aegisgraph/polydiff/ | 정규화된 팩트 벡터를 사용한 6개 파서 계열(url, image, opengraph, deeplink, qr, proto)에 걸친 다중 형식 차분 파싱 |
| HarnessGen | aegisgraph/harnessgen/ | 그래프 기반 폴리글랏 퍼즈 하네스 생성 (JVM용 Jazzer, 네이티브용 libFuzzer+HWASAN, Rust용 cargo-fuzz) |
| InvariantCheck | aegisgraph/invariants/ | 공개적으로 감사 가능한 정답(ground-truth) 픽스처를 갖춘 15개의 SMA 전용 보안 불변식; MASTG/SSDF 매핑 |
| CrossSMA | aegisgraph/crosssma/ | 구조적 정규화를 갖춘 교차 애플리케이션 전파 매트릭스 (4개 SMA 대상 × 6개 패턴) |
| DynamicProbe (옵션 기간) | aegisgraph/dynamicprobe/ | 구조적으로 강제되는 서명된 권한 부여 게이트를 갖춘 Frida 계측 AOSP+HWASAN 에뮬레이터 |
| Coordinated Disclosure | aegisgraph/disclosure/ | 해시 체인 공개 원장 + 7개 벤더 라우팅 + 7/14/30/60/90일 엠바고 타이머 + CERT/CC 폴백 |
| ReproChain | reprochain/ | CVE-2023-4863 (libwebp)에 대한 공개 전 시뮬레이션; 벤더링된 취약점+수정 커밋 + ASAN 하네스 |
| Extraction | extraction/ | 고정된 공개 SMA(Signal Android, Element X Android)에 대한 정적 추출; 8개 CodeQL 쿼리 + 4개 Semgrep 규칙 + MobSF 통합 |
| SMABench | smabench/ | 3링 벤치마크 설계: 합성 (링 1), 공개 소스 정적 + 도달 가능성 (링 2), 승인된 동적 (링 3) |
| Validator + safety | validator/, aegisgraph/safety.py | 스키마 검증, 정제 검사 (규칙 1–9), 의도적 손상 테스트를 통한 반증 가능성 |
| Schema | schema/ | 6개 JSON 스키마 + Schema v2 추가 확장 (discovery_run, crash, disagreement, invariant_violation, cross_target_candidate, disclosure_event) |
| Decision log | docs/decision-log/ | 모든 아키텍처 결정을 다루는 14개 ADR |
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
설치 후 CLI 진입점은 aegisgraph이며, 이 체크아웃에서는 python3 -m aegisgraph.cli입니다.
make export-public-sanitized와 게시 전 명시적 인간 승인으로 게이트됩니다.v1.0.0-tier3-research 태그, 커밋 d91c1df6).github/workflows/ci.yml은 푸시 시 실행되며, reproduce.yml은 자체 호스팅 러너가 프로비저닝될 때까지 if: false입니다validator/sanitize_check.py는 모든 산출물이 이 저장소를 떠나기 전에 모든 공개 내보내기 후보에 대해 9개 규칙을 적용합니다docs/decision-log/의 14개 ADR은 모든 아키텍처 결정을 문서화합니다:
| ADR | 주제 |
|---|---|
| 0001 | 저장소 분리: 엔지니어링 vs 공개 릴리스 경계 |
| 0002 | 비공개 ReproChain 처리 |
| 0003 | ReproChain 대상에 대한 libwebp 선택 |
| 0004 | PolyDiff 파서 선택 (초기 url 계열 + 6개 계열로 확장) |
| 0005 | 검증기 마이그레이션 |
| 0006 | 공개 소유권 (PI를 명명된 소유자로 지정; 법무 검토 게이트) |
| 0007–0012 | 엔진 아키텍처 (HarnessGen, InvariantCheck, CrossSMA, DynamicProbe 스캐폴드) |
| 0013 | 스키마 v2 (엔진 출력을 위한 추가적 확장) |
| 0014 | 조정된 공개 원장 형식 (해시 체인 JSONL) |
| 0020 | PolyDiff 다중 계열 확장 |
| 0021 | 검증기 내보내기 규율 |
대응하는 공개 타당성 릴리스는 577Industries/asema-feasibility-artifacts에 있습니다:
Apache-2.0. LICENSE를 참조하세요.
SPEC.md는 작업 기술 명세서입니다. 구현과 명세가 어긋날 경우, 명세를 의도적으로 갱신하세요.