crates.io / base64 / 0.23.1

base64 0.23.1

Source
https://github.com/marshallpierce/rust-base64
Tag scanned
v0.23.1
Compared with
v0.23.0 (0 signals introduced since)
Files
33 scanned, 8 skipped (binary, oversized, or unrecognised)
Signals
0 critical · 0 warn · 9 info
Scan time
5.4 s
LLM review
Reviewed by claude-haiku-5-5 (Anthropic): 9 of 9 warn and critical signals; 9 demoted to info.
Disclude version
4.1.0
Scanned (UTC)
2026-10-22 21:57

Signals

Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.

  1. info warn → info by review encoding-base64 src/chunked_encoder.rs:100:14

    base64-like blob (48 bytes, compression ratio 1.23) (raw pass, confidence 0.60)

            assert_eq!(
                "Zm9vYmFyYmF6cXV4cXV1eGNvcmdlZ3JhdWx0Z2FycGx5eg==",
                chunked_encode_str(b"foobarbazquxquuxcorgegraultgarplyz", PAD)
            );
    likely benign LLM, confidence 0.95 Base64 test vector in a unit test of a base64 encoder.
    Reasoning

    Test assertion comparing base64 output of a known plaintext string; the blob is a test vector for an encoder library, not a payload. Raw pass base64 heuristic false positive.

  2. info warn → info by review encoding-base64 src/engine/tests.rs:261:10

    base64-like blob (64 bytes, compression ratio 1.17) (raw pass, confidence 0.60)

        let alphabet = Alphabet::new_with_padding(
            "4QTRhE+Hiz0Nme6DsnuAFCP8WaojxdVOZpKL53r2=BIkqSUcbYJG91tvX7lywMgf",
            Symbol::new(b'-').unwrap(),
        )
    likely benign LLM, confidence 0.95 Custom base64 alphabet literal used in a test of alphabet configuration.
    Reasoning

    A custom base64 alphabet constant passed to Alphabet::new_with_padding in a test; this is a shuffled alphabet definition used to test the library's alphabet support, not obfuscated code.

  3. info warn → info by review encoding-base64 src/engine/tests.rs:788:16

    base64-like blob (128 bytes, compression ratio 1.00) (raw pass, confidence 0.60)

    fn detects_users_real_world_invalid_suffix<E: EngineWrapper>(engine_wrapper: E) {
        let b64 = "z3Uuv7+Xsn+acg0ZNRsw1/ZEl1FJEMw3kV0N0MaAZuEqXsMjfR2AE51PUsgwNEY4c+PdL3UxO/kcDInOe4+MiyeJL2mAapHLXk+7PBQ6hdqt5Oy4rwOIW4TvRzGHAW==";
    
        let engine = E::standard();
    likely benign LLM, confidence 0.90 Base64 test input for decoder invalid-suffix handling.
    Reasoning

    A base64 string literal in a test named detects_users_real_world_invalid_suffix, consistent with test data for invalid-padding handling. It is inert data in a test fixture; the raw base64 heuristic fires on any long literal.

  4. info warn → info by review high-complexity src/engine/tests.rs:788:16

    string literal compression ratio 0.953 (128 bytes) (raw pass, confidence 0.60)

    fn detects_users_real_world_invalid_suffix<E: EngineWrapper>(engine_wrapper: E) {
        let b64 = "z3Uuv7+Xsn+acg0ZNRsw1/ZEl1FJEMw3kV0N0MaAZuEqXsMjfR2AE51PUsgwNEY4c+PdL3UxO/kcDInOe4+MiyeJL2mAapHLXk+7PBQ6hdqt5Oy4rwOIW4TvRzGHAW==";
    
        let engine = E::standard();
    likely benign LLM, confidence 0.90 High-entropy base64 test string in a decoder test.
    Reasoning

    Same literal as the base64 finding; high-complexity flag on a random-looking string in a test fixture. Expected for base64 test data with low compressibility.

  5. info warn → info by review encoding-base64 tests/encode.rs:14:10

    base64-like blob (81 bytes, compression ratio 1.14) (raw pass, confidence 0.60)

        compare_encode(
            "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7P\
             D0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn8\
             =",
    likely benign LLM, confidence 0.95 All-bytes base64 encoding test vector.
    Reasoning

    Sequential byte-value base64 encoding test vector (AAECAw... covers all 0-255 bytes), a standard encoder conformance input.

  6. info warn → info by review encoding-base64 tests/encode.rs:15:10

    base64-like blob (90 bytes, compression ratio 1.06) (raw pass, confidence 0.60)

            "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7P\
             D0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn8\
             =",
            &ascii,
    likely benign LLM, confidence 0.95 All-bytes base64 encoding test vector, continued.
    Reasoning

    Continuation of the same all-bytes base64 conformance test vector in an encoder test file.

  7. info warn → info by review encoding-base64 tests/encode.rs:26:10

    4 rows of base64-like lines, lines 26-29 (first: base64-like blob (81 bytes, compression ratio 1.14)) (raw pass, confidence 0.60)

        compare_encode(
            "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7P\
             D0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn\
             +AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6\
    likely benign LLM, confidence 0.95 Multi-line all-bytes base64 test vector.
    Reasoning

    Further lines of the same sequential byte-value base64 test vector used in compare_encode assertions.

  8. info warn → info by review encoding-base64 tests/encode.rs:39:10

    base64-like blob (83 bytes, compression ratio 1.13) (raw pass, confidence 0.60)

        assert_eq!(
            "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0\
             -P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn\
             -AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq\
    likely benign LLM, confidence 0.95 URL-safe all-bytes base64 test vector.
    Reasoning

    Variant of the all-bytes base64 test vector using URL-safe characters, typical for testing a base64 library's alphabet variants.

  9. info warn → info by review encoding-base64 tests/encode.rs:40:11

    base64-like blob (86 bytes, compression ratio 1.06) (raw pass, confidence 0.60)

            "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0\
             -P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn\
             -AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq\
    likely benign LLM, confidence 0.95 URL-safe all-bytes base64 test vector, continued.
    Reasoning

    Same URL-safe all-bytes base64 test vector in an encoder test file; standard conformance data.

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.

cargo install disclude --version 4.1.0
git clone https://github.com/marshallpierce/rust-base64 rust-base64 && cd rust-base64
git checkout v0.23.1
disclude scan --severity info --diff v0.23.0 .