
PoC: identificar patches de segurança silenciosos antes do CVE
VCamper ("Version Camper") é um CLI de prova de conceito que analisa um intervalo de commits Git em busca de prováveis correções de segurança silenciosas.
Correções de segurança frequentemente chegam ao histórico público do Git antes que o rastro de avisos (advisories) as alcance. Um commit de aparência rotineira de manutenção pode carregar evidências suficientes para um revisor inferir o caminho do bug e a consequência provável.
O VCamper transforma esse fluxo de trabalho de diff de release em coleta de evidências repetível. Ele reúne o patch de cada candidato e os snapshots dos arquivos alterados. Ele registra um plano de hotspots antes de pedir a um agente que trie e verifique os commits com maior probabilidade de importar.
Acompanhe as atualizações: x.com/rndhouse
O curl corrigiu CVE-2025-0725 no commit 76f83f0db23846e254d940ec7fe141010077eb88. O título content_encoding: drop support for zlib before 1.2.0.4 parece manutenção de compatibilidade. A correção chegou ao repositório GitHub do curl em 2025-01-24 por meio do PR #16079. O curl publicou o advisory em 2025-02-05. Isso deixou cerca de 12 dias entre o código público e o advisory público. Fontes: advisory do curl e .
Este comando analisa esse commit de correção isoladamente:
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
O VCamper sinalizou o commit como relevante para segurança com confiança 0.95. A descoberta rastreou o fallback removido de gzip com zlib antigo até um caminho remoto de esgotamento de memória no lado do cliente: um servidor poderia manter o curl armazenando em buffer bytes de cabeçalho gzip controlados pelo atacante até que a memória fosse esgotada. O verificador identificou o estado relevante como GZIP_UNDERFLOW; campos opcionais do cabeçalho gzip poderiam continuar sem seu NUL de terminação enquanto o curl continuava realocando e anexando bytes a z->next_in.
A execução usou apenas o commit de correção público; o texto do CVE ficou fora da análise. A descoberta correspondeu ao caminho vulnerável do fallback de zlib antigo e relatou a consequência suportada como DoS remoto por consumo de recursos. O advisory do curl usa a classificação mais ampla CWE-680.
O wolfSSL corrigiu CVE-2026-5194 no commit abce5be989ccd0665e2b9445abb856886975dfd1 do PR #10131. O título do commit era 20260403-WC_FIPS_186. Este é um caso mais difícil que o do curl porque o patch mistura trabalho de conformidade com FIPS 186 e alterações de teste e verificação. Ele toca código ASN.1 e ECC em wolfcrypt/src/. Também alcança caminhos TLS e PKCS#7.
Esse commit mostra por que o VCamper usa passagens Codex em etapas. Um prompt amplo derivou para uma única história de bug local. O pipeline em etapas manteve teorias separadas vivas e trouxe à tona três descobertas verificadas do mesmo commit:
signatureAlgorithm / família de chaves em ASN.1 em ConfirmSignatureO finalista composto carrega o sinal principal. A execução final em etapas confirmou uma descoberta de 0.90 de que a verificação de objetos assinados permitia que OIDs de assinatura controlados pelo atacante direcionassem a verificação ECDSA para digests incompatíveis ou abaixo da política. O CVE publicado também enfatiza a habilitação mista de EdDSA / ML-DSA. O VCamper chegou à mesma família de patches. Ele preservou múltiplas teorias e as verificou de forma independente. Também recuperou o limite compartilhado de verificação.
Este comando mostra o comportamento atual do protótipo nesse commit:
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
Esse comando usa uma shortlist de hotspots curada porque o commit é excepcionalmente ruidoso. A execução recuperou a família de patches relevante e uma teoria útil de verificação de objetos assinados compostos a partir de um commit que parece churn de conformidade. Para commits criptográficos difíceis, o protótipo pode recuperar limites de confiança compartilhados. Ele também pode manter múltiplas histórias de segurança verificadas vivas. Uma correspondência mais próxima da narrativa do CVE exige raciocínio mais forte de recursos mistos em estágios posteriores.
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