PyPI / pydantic_core / 2.50.1

pydantic_core 2.50.1

Source
https://github.com/pydantic/pydantic
Tag scanned
core-v2.50.1
Directory
pydantic-core (only this part of the repository was scanned)
Compared with
core-v2.50.0 (0 signals introduced since)
Files
281 scanned, 7 skipped (binary, oversized, or unrecognised)
Signals
0 critical · 0 warn · 5 info
Scan time
3.0 s
LLM review
Reviewed by claude-haiku-5-5 (Anthropic): 1 of 1 warn and critical signal; 1 demoted to info.
Disclude version
4.1.0
Scanned (UTC)
2026-10-21 21:01

Signals

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

  1. info warn → info by review encoding-base64 pydantic-core/tests/test_json.py:193:22

    base64-like blob (44 bytes, compression ratio 1.25) (raw pass, confidence 0.60)

        data = b'\xd8\x07\xc1Tx$\x91F%\xf3\xf3I\xca\xd8@\x0c\xee\xc3\xab\xff\x7f\xd3\xcd\xcd\xf9\xc2\x10\xe4\xa1\xb01e'
        encoded_std = b'"2AfBVHgkkUYl8/NJythADO7Dq/9/083N+cIQ5KGwMWU="'
        encoded_url = b'"2AfBVHgkkUYl8_NJythADO7Dq_9_083N-cIQ5KGwMWU="'
        assert to_json(data, bytes_mode='base64') == encoded_url
    likely benign LLM, confidence 0.95 A base64 test-vector literal used to assert correct bytes-to-base64 JSON serialization in a test suite.
    Reasoning

    The flagged blob is a base64 encoding of the raw bytes shown on the line above, used as an expected value in a unit test for a JSON serializer's bytes_mode='base64' option. The file is a test file for a JSON library, and the encoding is the intended behavior being tested, so this is a legitimate test fixture rather than a hidden payload.

  2. identifier `а` contains homoglyph candidates: а (0430)→a (in string/comment) (raw pass, confidence 0.35)

            ),
            pytest.param('а' * 25, 32, None, id='a lot of `а`s'),
        ],
    )
  3. identifier `а` contains homoglyph candidates: а (0430)→a (in string/comment) (raw pass, confidence 0.35)

            ),
            pytest.param('а' * 25, 32, None, id='a lot of `а`s'),
        ],
    )
  4. identifier `pasℝs` mixes scripts: Latin + Other (in string/comment) (raw pass, confidence 0.40)

            (
                'http://usßer:pasℝs@a💣b.com:123/c?d=e&d=f#g',
                {
                    'str()': 'http://us%C3%9Fer:pas%E2%84%9Ds@xn--ab-qt72a.com:123/c?d=e&d=f#g',
  5. `btoa` encodes a value as base64 at runtime — used in exfiltration patterns (ast pass, confidence 0.55)

          let buffer = await blob.arrayBuffer();
          return btoa(new Uint8Array(buffer).reduce((data, byte) => data + String.fromCharCode(byte), ''));
        }
      } else {

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/pydantic/pydantic pydantic && cd pydantic
git checkout core-v2.50.1
disclude scan --severity info --diff core-v2.50.0 pydantic-core