
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.
基于图的自动化漏洞发现,面向安全消息应用。 577 Industries 为 DARPA SBIR Direct-to-Phase-II 主题 HR0011SB20254-12 (ASEMA) 的工程实现。

正在寻找面向评估者的构件? 经过清理的公开可行性发布位于
577-Industries/asema-feasibility-artifacts的标签v1.0.0-asema-dp2-feasibility。如需验证 ASEMA 提案中的声明,请从该处开始。
工程平台 — AegisGraph 背后的实际实现:
| 子系统 | 路径 | 功能描述 |
|---|---|---|
| PolyDiff Extended | aegisgraph/polydiff/ | 跨6个解析器家族(URL、图片、OpenGraph、DeepLink、QR码、Protocol Buffers)的多格式差异解析,带有归一化事实向量 |
| HarnessGen | aegisgraph/harnessgen/ | 图驱动的多语言模糊测试工具生成(Jazzer用于JVM,libFuzzer+HWASAN用于原生,cargo-fuzz用于Rust) |
| InvariantCheck | aegisgraph/invariants/ | 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/ | 三环基准设计:合成(第1环)、公开源码静态+可达性(第2环)、授权动态(第3环) |
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 在推送时运行;reproduce.yml 为 if: false,直到自托管运行器配置完成validator/sanitize_check.py 对每个公开导出候选强制实施9条规则,确保任何构件离开仓库前得到检查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 | 模式v2(引擎输出的附加扩展) |
| 0014 | 协调披露账本格式(哈希链JSONL) |
| 0020 | PolyDiff 多家族扩展 |
| 0021 | 验证器导出纪律 |
对应的公开可行性发布位于 577-Industries/asema-feasibility-artifacts:
Apache-2.0。参见 LICENSE。
SPEC.md 是工作技术规范。如果实现与规范不一致,请有意更新规范。
validator/, aegisgraph/safety.py |
| 模式验证、清理检查(规则1–9)、通过故意破坏测试的可证伪性 |
| Schema | schema/ | 6个JSON模式 + 模式v2附加扩展(discovery_run、crash、disagreement、invariant_violation、cross_target_candidate、disclosure_event) |
| Decision log | docs/decision-log/ | 涵盖所有架构决策的14个ADR |