VCamper(“Version Camper”)是一个概念验证型 CLI 工具,用于审查 Git 提交范围,以发现可能被静默修复的安全漏洞。
安全修复往往在公告发布之前就已进入公开的 Git 历史。一个看似维护性的提交可能携带足够的证据,让审查者推断出漏洞路径及其可能造成的后果。
VCamper 将这种发布差异(release-diff)工作流转化为可重复的证据收集过程。它会收集每个候选提交的补丁及变更文件的快照。在要求代理筛选并验证最可能重要的提交之前,它会先记录一个热点(hotspot)计划。
关注更新:x.com/rndhouse
curl 在提交 76f83f0db23846e254d940ec7fe141010077eb88 中修复了 CVE-2025-0725。提交标题 content_encoding: drop support for zlib before 1.2.0.4 读起来像是兼容性维护。该修复于 2025-01-24 通过 PR #16079 合入 curl 的 GitHub 仓库。curl 于 2025-02-05 发布了安全公告。这意味着公开代码与公开公告之间相隔约 12 天。来源:curl 公告 和 curl PR #16079。
以下命令单独分析该修复提交:
cargo run -- analyze \
--repo /path/to/curl \
--from 76f83f0db23846e254d940ec7fe141010077eb88 \
--to 76f83f0db23846e254d940ec7fe141010077eb88 \
--provider codex \
--model gpt-5.4 \
--screen-effort medium \
--verify-effort high \
--out /tmp/vcamper-curl-cve-2025-0725
VCamper 将该提交标记为与安全相关,置信度为 0.95。该发现将移除的旧版 zlib gzip 回退路径追溯到远程客户端内存耗尽风险:服务器可以让 curl 持续缓冲攻击者控制的 gzip 头部字节,直至内存耗尽。验证器将相关状态识别为 GZIP_UNDERFLOW;可选的 gzip 头部字段可能持续缺少终止 NUL 字节,而 curl 则不断重新分配内存并将字节追加到 z->next_in。
该运行仅使用了公开的修复提交;CVE 文本未参与分析。该发现与易受攻击的旧版 zlib 回退路径相符,并将支持的后果报告为远程资源消耗型 DoS。curl 的公告使用了更宽泛的 CWE-680 分类。
wolfSSL 在来自 PR #10131 的提交 abce5be989ccd0665e2b9445abb856886975dfd1 中修复了 CVE-2026-5194。提交标题为 20260403-WC_FIPS_186。这比 curl 的情况更难,因为该补丁将 FIPS 186 合规工作与测试和验证变更混在一起。它涉及 wolfcrypt/src/ 中的 ASN.1 和 ECC 代码,还触及 TLS 和 PKCS#7 路径。
该提交说明了 VCamper 为何采用分阶段(staged)的 Codex 处理流程。宽泛的提示词容易偏向某个单一的本地漏洞故事。分阶段流水线则让多个独立理论保持活跃,并从同一提交中浮现出三个经过验证的发现:
ConfirmSignature 中共享的 ASN.1 signatureAlgorithm / 密钥族绑定缺陷复合候选理论承载了主要信号。最终的分阶段运行确认了一个 0.90 的发现:签名对象验证允许攻击者控制的签名 OID 将 ECDSA 验证导向不匹配或低于策略要求的摘要。已发布的 CVE 还强调了混合 EdDSA / ML-DSA 的启用。VCamper 落入了同一补丁族。它保留了多个理论并独立验证了它们,还恢复了共享的验证边界。
以下命令展示了当前原型在该提交上的行为:
cargo run -- analyze \
--repo /path/to/wolfssl \
--from abce5be989ccd0665e2b9445abb856886975dfd1 \
--to abce5be989ccd0665e2b9445abb856886975dfd1 \
--provider codex \
--model gpt-5.4 \
--screen-effort xhigh \
--verify-effort xhigh \
--inventory-focuses 0,1,3,4,9 \
--out /tmp/vcamper-wolfssl-cve-2026-5194
该命令使用了经过筛选的热点短名单,因为该提交异常嘈杂。该运行从一个读起来像合规性例行变更的提交中恢复了相关的补丁族,以及一个有用的复合签名对象验证理论。对于困难的加密提交,原型可以恢复共享的信任边界,也能让多个经过验证的安全故事保持活跃。更贴近 CVE 叙事的匹配需要在后续阶段具备更强的混合特性推理能力。
cargo run -- analyze \
--repo /path/to/repo \
--from <older-release-commit> \
--to <newer-release-commit> \
--provider codex \
--model gpt-5.4 \
--screen-effort medium \
--verify-effort high \
--out /tmp/vcamper-run
gitcodexclaude