rustls 0.23.45
- Source
- https://github.com/rustls/rustls
- Commit scanned
2976d90fd1c2- Directory
rustls- Compared with
64ad386785c7(0 signals introduced since)- Files
- 127 scanned, 58 skipped (binary, oversized, or unrecognised)
- Signals
- 0 critical · 0 warn · 16 info
- Scan time
- 13.2 s
- LLM review
- Reviewed by claude-haiku-5-5 (Anthropic): 16 of 16 warn and critical signals; 16 demoted to info.
- Disclude version
- 4.0.0
- Scanned (UTC)
- 2026-10-14 20:56
Signals
Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.
-
dismissed Byte-string literal holding a TLS PRF test secret for SHA-256.
Reasoning
The hex escapes are fixed PRF test-vector secrets and seeds in a TLS 1.2 crypto test module, compared against included expected-output files. This is a standard known-answer test and the raw-pass hex signal is a false positive.
-
let secret = b"\x9b\xbe\x43\x6b\xa9\x40\xf0\x17\xb1\x76\x52\x84\x9a\x71\xdb\x35"; let seed = b"\xa0\xba\x9f\x93\x6c\xda\x31\x18\x27\xa6\xf7\x96\xff\xd5\x19\x8c"; let label = b"test label"; let expect = include_bytes!;dismissed Test secret and seed bytes for a TLS PRF known-answer test.Reasoning
Same test-vector block: the secret and seed are known-answer inputs for the PRF test, with the expected output loaded from testdata. Nothing executes or hides a payload.
-
dismissed Test secret bytes for the SHA-512 PRF known-answer test.
Reasoning
SHA-512 PRF test vector inputs in a unit test, paired with testdata expected output. This is ordinary cryptographic test data.
-
let secret = b"\xb0\x32\x35\x23\xc1\x85\x35\x99\x58\x4d\x88\x56\x8b\xbb\x05\xeb"; let seed = b"\xd4\x64\x0e\x12\xe4\xbc\xdb\xfb\x43\x7f\x03\xe6\xae\x41\x8e\xe5"; let label = b"test label"; let expect = include_bytes!;dismissed Test seed bytes for the SHA-512 PRF known-answer test.Reasoning
Seed bytes for the SHA-512 PRF test vector, as above. The high-entropy look is expected for cryptographic constants.
-
dismissed Test secret bytes for the SHA-384 PRF known-answer test.
Reasoning
SHA-384 PRF test vector inputs in a unit test with external expected output. Standard crypto test data.
-
let secret = b"\xb8\x0b\x73\x3d\x6c\xee\xfc\xdc\x71\x56\x6e\xa4\x8e\x55\x67\xdf"; let seed = b"\xcd\x66\x5c\xf6\xa8\x44\x7d\xd6\xff\x8b\x27\x55\x5e\xdb\x74\x65"; let label = b"test label"; let expect = include_bytes!;dismissed Test seed bytes for the SHA-384 PRF known-answer test.Reasoning
SHA-384 PRF test seed bytes in a known-answer test. Benign test data with the expected result in a separate file.
-
\x16\x03\x01\x00\xeb\x01\x00\x00\xe7\x03\x03\xb6\x1f\xe4\x3a\x55\ \x90\x3e\xc0\x28\x9c\x12\xe0\x5c\x84\xea\x90\x1b\xfb\x11\xfc\xbd\ \x25\x55\xda\x9f\x51\x93\x1b\x8d\x92\x66\xfd\x00\x00\x2e\xc0\x2c\ \xc0\x2b\xc0\x24\xc0\x23\xc0\x0a\xc0\x09\xcc\xa9\xc0\x30\xc0\x2f\dismissed Multi-line byte literal containing a captured TLS ClientHello for parser testing.Reasoning
The escapes form a captured TLS ClientHello record (0x16 handshake, 0x0301 version, cipher suite list) used as parser input in a message test. Recorded protocol bytes are expected in such a test.
-
\x90\x3e\xc0\x28\x9c\x12\xe0\x5c\x84\xea\x90\x1b\xfb\x11\xfc\xbd\ \x25\x55\xda\x9f\x51\x93\x1b\x8d\x92\x66\xfd\x00\x00\x2e\xc0\x2c\ \xc0\x2b\xc0\x24\xc0\x23\xc0\x0a\xc0\x09\xcc\xa9\xc0\x30\xc0\x2f\ \xc0\x28\xc0\x27\xc0\x14\xc0\x13\xcc\xa8\x00\x9d\x00\x9c\x00\x3d\dismissed Continuation of a recorded TLS ClientHello byte fixture for message parsing tests.Reasoning
Continuation of the captured TLS ClientHello test vector: cipher suite list bytes fed to the message reader. Benign test fixture.
-
\x32\x05\x68\x32\x2d\x31\x36\x05\x68\x32\x2d\x31\x35\x05\x68\x32\ \x2d\x31\x34\x08\x73\x70\x64\x79\x2f\x33\x2e\x31\x06\x73\x70\x64\ \x79\x2f\x33\x08\x68\x74\x74\x70\x2f\x31\x2e\x31\x00\x0b\x00\x02\ \x01\x00\x00\x0a\x00\x0a\x00\x08\x00\x1d\x00\x17\x00\x18\x00\x19";dismissed Tail of a recorded TLS ClientHello fixture with ALPN and extension bytes.Reasoning
The bytes encode ALPN and extension data of a ClientHello (h2, http/1.1, spdy, ec point formats, supported groups) in a parser test. Expected protocol content, not a payload.
-
\x2d\x31\x34\x08\x73\x70\x64\x79\x2f\x33\x2e\x31\x06\x73\x70\x64\ \x79\x2f\x33\x08\x68\x74\x74\x70\x2f\x31\x2e\x31\x00\x0b\x00\x02\ \x01\x00\x00\x0a\x00\x0a\x00\x08\x00\x1d\x00\x17\x00\x18\x00\x19"; let mut rd = Reader::init(bytes);dismissed Closing extension bytes of a recorded TLS ClientHello test fixture.Reasoning
Final extension bytes of the captured ClientHello test fixture, consumed by a Reader in the test. Benign protocol test data.
-
\x16\x03\x01\x00\xc8\x01\x00\x00\xc4\x03\x03\xec\x12\xdd\x17\x64\ \xa4\x39\xfd\x7e\x8c\x85\x46\xb8\x4d\x1e\xa0\x6e\xb3\xd7\xa0\x51\ \xf0\x3c\xb8\x17\x47\x0d\x4c\x54\xc5\xdf\x72\x00\x00\x1c\xea\xea\ \xc0\x2b\xc0\x2f\xc0\x2c\xc0\x30\xcc\xa9\xcc\xa8\xc0\x13\xc0\x14\likely benign Byte-literal TLS ClientHello test fixture in a Rust integration test.Reasoning
The snippet is a run of hex escapes that decodes to a TLS ClientHello (record header 0x16 0x03 0x01, cipher suite list such as 0xc02b/0xc02f, 0xcca9). In a Rust test file this is a recorded handshake fixture, consistent with testing TLS parsing or fingerprinting. The raw pass flags it only because the byte sequence looks encoded.
-
\xa4\x39\xfd\x7e\x8c\x85\x46\xb8\x4d\x1e\xa0\x6e\xb3\xd7\xa0\x51\ \xf0\x3c\xb8\x17\x47\x0d\x4c\x54\xc5\xdf\x72\x00\x00\x1c\xea\xea\ \xc0\x2b\xc0\x2f\xc0\x2c\xc0\x30\xcc\xa9\xcc\xa8\xc0\x13\xc0\x14\ \x00\x9c\x00\x9d\x00\x2f\x00\x35\x00\x0a\x01\x00\x00\x7f\xda\xda\likely benign Continuation of a TLS ClientHello byte fixture in a Rust test.Reasoning
This continues the same TLS ClientHello byte fixture, with cipher suites and extension bytes (0x009c, 0x002f, 0x0a). It is test data in a tests/ file, with no execution or decoding of the bytes into anything dangerous.
-
\x01\x00\x05\x00\x05\x01\x00\x00\x00\x00\x00\x12\x00\x00\x00\x10\ \x00\x0e\x00\x0c\x02\x68\x32\x08\x68\x74\x74\x70\x2f\x31\x2e\x31\ \x75\x50\x00\x00\x00\x0b\x00\x02\x01\x00\x00\x0a\x00\x0a\x00\x08\ \x1a\x1a\x00\x1d\x00\x17\x00\x18\x1a\x1a\x00\x01\x00\likely benign TLS extension bytes (ALPN, supported groups) in a Rust test fixture.Reasoning
The bytes encode TLS extensions (ALPN with h2 and http/1.1, supported groups, signature algorithms). This is a structurally valid handshake capture used as a parser or fingerprint test vector. The raw-pass hex-escape signal is a false positive on binary test data.
-
const BASE64_ECHCONFIG_LIST_LOCALHOST: &str = "AED+DQA8AAAgACAxoIJyV36iDlfFRmqE+ho2PxXE0EISPfUUJYKCy6T8VwAIAAEAAQABAAOACWxvY2FsaG9zdAAA"; // Two EchConfigs, both with server-name "cloudflare-esni.com".likely benign Base64 ECHConfigList test constant for localhost.Reasoning
This is a base64-encoded ECHConfigList for localhost, a standard Encrypted Client Hello test vector. The 'AED+DQ' prefix and the structure match the ECH draft format. It is a constant string in a test file, not a payload or an obfuscated command.
-
const BASE64_ECHCONFIG_LIST_CF: &str = "AK3+DQBCwwAgACAJ9T5U4FeM6631r2bvAuGtmEd8zQaoTkFAtArTcMl/XQAEAAEAASUTY2xvdWRmbGFyZS1lc25pLmNvbQAA/g0AYwMAEABBBGGbUlGLuGRorUeFwmrgHImkrh9uxoPrnFKpS5bQvnc5grfMS3PvymQ2FYL02WQi1ZzZJg5OsYYdzlaGYnEoJNsABAABAAEqE2Nsb3VkZmxhcmUtZXNuaS5jb20AAA==";likely benign Base64 ECHConfigList test constant for cloudflare-esni.com.Reasoning
This is a base64 ECHConfigList constant for cloudflare-esni.com, the same ECH draft format, used as a test vector. The comment in the file indicates it is test data. Its length and structure are typical of a real config, not an encoded dropper.
-
t BASE64_ECHCONFIG_LIST_WITH_UNSUPPORTED: &str = "AQW63QAFBQQDAgH+DQBmAAAQAEEE5itp4r9ln5e+Lx4NlIpM1Zdrt6keDUb73ampHp3culoB59aXqAoY+cPEox5W4nyDSNsWGhz1HX7xlC1Lz3IiwQAMAAEAAQABAAIAAQADQA5wdWJsaWMuZXhhbXBsZQAA/g0APQAAIAAgfWYWFXMCFK7ucFMzZvNqYJ6tZcDCCOYjIjRqtbzY3hwABBERIiJADnB1YmxpYy5leGFtcGxlAAD+DQBNAAAgACCFvWoDJ3wlQntS4mlikely benign Base64 ECHConfigList test constant with an unsupported version.Reasoning
This is a base64 ECH config list containing an unsupported-version entry, used to test how the parser handles unknown versions. The name BASE64_ECHCONFIG_LIST_WITH_UNSUPPORTED makes the purpose clear. It is a deliberate test fixture in a tests/ file.
Reproduce This Scan
Run disclude locally to verify. Add --format sarif for SARIF output. Add --llm (with an API key in the environment) to include the LLM review.
&&