
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.
그래프 기반 자동화된 취약점 발견: 안전한 메시징 애플리케이션을 위한. DARPA SBIR Direct-to-Phase-II 주제 HR0011SB20254-12 (ASEMA)에 대한 577 Industries의 엔지니어링 구현.

평가자 대상 아티팩트를 찾고 계신가요? 정제된 공개 실현 가능성 릴리스는
v1.0.0-asema-dp2-feasibility태그의577-Industries/asema-feasibility-artifacts에 있습니다. ASEMA 제안의 주장을 검증하는 경우 여기에서 시작하세요.
AegisGraph 뒤에 있는 실제 구현인 엔지니어링 플랫폼:
git clone https://github.com/577Industries/aegisgraph
cd aegisgraph
git checkout v1.0.0-tier3-research
# 권장: 고정된 devcontainer 사용
devcontainer up
make tooling-strict # 고정된 툴체인 확인
python3 -m pytest -q # 1030 통과, 19 건너뜀 예상
# 엔진별 스모크 테스트
make reprochain-map # ReproChain 도달 가능성 매핑
make polydiff-regression # PolyDiff 차등 파서 회귀 테스트 (8개의 과거 CVE 재발견)
make extract # 고정된 SMA에 대한 정적 추출
make smabench # SMABench 벤치마크 생성
make validate # 증거 + CETM 검증
make reproduce # 전체 재현 파이프라인
CLI 진입점은 설치 후 aegisgraph이거나, 이 체크아웃에서 python3 -m aegisgraph.cli입니다.
make export-public-sanitized와 명시적인 인간 승인을 통해 게시 전에 제어됩니다.v1.0.0-tier3-research 태그, 커밋 d91c1df6).github/workflows/ci.yml은 push 시 실행됨; reproduce.yml은 자체 호스팅 러너가 프로비저닝될 때까지 if: falsevalidator/sanitize_check.py는 모든 공개 내보내기 후보에 대해 9가지 규칙을 적용하여 아티팩트가 이 저장소를 떠나기 전에 검사docs/decision-log/의 14개 ADR은 모든 아키텍처 결정을 문서화합니다:
일치하는 공개 실현 가능성 릴리스는 577-Industries/asema-feasibility-artifacts에 있습니다:
Apache-2.0. LICENSE를 참조하세요.
SPEC.md가 작업 중인 기술 사양입니다. 구현과 사양이 불일치할 경우, 사양을 의도적으로 업데이트하십시오.
| 하위 시스템 | 경로 | 기능 |
|---|
| PolyDiff Extended | aegisgraph/polydiff/ | 6개의 파서 패밀리(url, image, opengraph, deeplink, qr, proto)에 걸친 다중 형식 차등 파싱, 정규화된 사실 벡터 제공 |
| HarnessGen | aegisgraph/harnessgen/ | 그래프 기반 다국어 퍼즈 하네스 생성 (JVM용 Jazzer, 네이티브용 libFuzzer+HWASAN, Rust용 cargo-fuzz) |
| InvariantCheck | aegisgraph/invariants/ | 15개의 SMA 특화 보안 불변식, 공개 감사 가능한 ground-truth 픽스처 포함; 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 + 안전 | validator/, aegisgraph/safety.py | 스키마 검증, 정리 검사 (규칙 1–9), 의도적 손상 테스트를 통한 반증 가능성 |
| Schema | schema/ | 6개의 JSON 스키마 + Schema v2 부가 확장 (discovery_run, crash, disagreement, invariant_violation, cross_target_candidate, disclosure_event) |
| 결정 로그 | docs/decision-log/ | 모든 아키텍처 결정을 문서화한 14개의 ADR |
| ADR | 주제 |
|---|
| 0001 | 저장소 분할: 엔지니어링과 공개 릴리스 경계 |
| 0002 | 비공개 ReproChain 처리 |
| 0003 | ReproChain 대상으로 libwebp 선택 |
| 0004 | PolyDiff 파서 선택 (초기 url 패밀리 + 6개 패밀리로 확장) |
| 0005 | 검증기 마이그레이션 |
| 0006 | 공개 소유권 (PI 명명된 소유자; 법률 검토 게이트) |
| 0007–0012 | 엔진 아키텍처 (HarnessGen, InvariantCheck, CrossSMA, DynamicProbe 스캐폴드) |
| 0013 | Schema v2 (엔진 출력을 위한 부가 확장) |
| 0014 | 조정된 공개 원장 형식 (해시 체인 JSONL) |
| 0020 | PolyDiff 다중 패밀리 확장 |
| 0021 | 검증기 내보내기 규율 |