PyPI package intelligence

pydantic — deep security report

ShadowCanopy's full breakdown of pydantic on PyPI: verdict, AI analysis, dependency chain, network behavior, prebuilds, and obfuscated code.

Safe to use
Deep-scanned by ShadowCanopy — no threats found in its code, dependencies, or network behavior.
Scanned 11/3/2026
Approvedpydantic@2.14.2View on registry ↗latest: 2.14.2

All findings are false positives from heuristics matching benign patterns (function names containing 'eval', test data with timestamps/IPs/hex escapes, and test code using cloudpickle). The actual source is legitimate Pydantic validation/JSON schema logic with no malicious behavior.

Protect your projects free

AI breakdown

Plain-English summary of what this package does and how it behaves.

pydantic is a Python package for data validation using type hints, with core modules for models, fields, parsing, and schema handling.

Capabilities

  • Defines data models with type hints
  • Generates JSON schemas
  • Parses and validates various data types
  • Supports environment variable settings

Data access

  • Environment variables

Network

  • Network address and URL validation

Static analysis flagged multiple instances of obfuscated files, decoded payloads, and hardcoded public IPs; however the manifest and file list match the legitimate pydantic library with no scripts or dependencies.

Dependency & execution chain

Every package this one pulls in, colored by verdict. Expand to walk the tree.

6 packages6 direct
pydantic@2.14.220 findings
typing-extensions@4.16.04 findings
tzdata@2026.6

Security findings (20)

Static analysis rule matches, with the exact code that triggered them.

mediumObfuscated source fileATK-023pydantic/json_schema.py

Multiple obfuscation patterns in pydantic/json_schema.py

mediumObfuscated source fileATK-023pydantic-2.14.2/pydantic/json_schema.py

Multiple obfuscation patterns in pydantic-2.14.2/pydantic/json_schema.py

mediumObfuscated source fileATK-023pydantic/_internal/_generate_schema.py

Multiple obfuscation patterns in pydantic/_internal/_generate_schema.py

mediumObfuscated source fileATK-023pydantic-2.14.2/pydantic/_internal/_generate_schema.py

Multiple obfuscation patterns in pydantic-2.14.2/pydantic/_internal/_generate_schema.py

mediumObfuscated source fileATK-023tests/test_types.py

Multiple obfuscation patterns in tests/test_types.py

mediumObfuscated source fileATK-023pydantic-2.14.2/tests/test_types.py

Multiple obfuscation patterns in pydantic-2.14.2/tests/test_types.py

highHardcoded public IP in network codeATK-028pydantic/functional_validators.py

File pydantic/functional_validators.py contains a hardcoded public IP (03:04:05) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028pydantic-2.14.2/pydantic/functional_validators.py

File pydantic-2.14.2/pydantic/functional_validators.py contains a hardcoded public IP (03:04:05) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028tests/test_datetime.py

File tests/test_datetime.py contains a hardcoded public IP (09:15:00) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028pydantic-2.14.2/tests/test_datetime.py

File pydantic-2.14.2/tests/test_datetime.py contains a hardcoded public IP (09:15:00) used in network code — review for hidden exfiltration or C2 endpoints.

highDecoded payload executedATK-026tests/test_generics.py

File tests/test_generics.py decodes a base64/hex blob and passes it to an execution sink — a common way to hide a malicious payload.

highDecoded payload executedATK-026pydantic-2.14.2/tests/test_generics.py

File pydantic-2.14.2/tests/test_generics.py decodes a base64/hex blob and passes it to an execution sink — a common way to hide a malicious payload.

highHardcoded public IP in network codeATK-028tests/test_json.py

File tests/test_json.py contains a hardcoded public IP (12:34:56) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028pydantic-2.14.2/tests/test_json.py

File pydantic-2.14.2/tests/test_json.py contains a hardcoded public IP (12:34:56) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028tests/test_networks.py

File tests/test_networks.py contains a hardcoded public IP (123.45.67.8) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028pydantic-2.14.2/tests/test_networks.py

File pydantic-2.14.2/tests/test_networks.py contains a hardcoded public IP (123.45.67.8) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028tests/types/test_datetime.py

File tests/types/test_datetime.py contains a hardcoded public IP (10:10:10) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028pydantic-2.14.2/tests/types/test_datetime.py

File pydantic-2.14.2/tests/types/test_datetime.py contains a hardcoded public IP (10:10:10) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028tests/types/test_time.py

File tests/types/test_time.py contains a hardcoded public IP (10:10:10) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028pydantic-2.14.2/tests/types/test_time.py

File pydantic-2.14.2/tests/types/test_time.py contains a hardcoded public IP (10:10:10) used in network code — review for hidden exfiltration or C2 endpoints.

Package metadata

LicenseUnknown

Data validation using Python type hints

Files in package (500)

HISTORY.mdpydantic-2.14.2/HISTORY.mdMakefilepydantic-2.14.2/MakefileREADME.mdpydantic-2.14.2/README.mdpydantic/__init__.pypydantic-2.14.2/pydantic/__init__.pypydantic/_migration.pypydantic-2.14.2/pydantic/_migration.pypydantic/alias_generators.pypydantic-2.14.2/pydantic/alias_generators.pypydantic/aliases.pypydantic-2.14.2/pydantic/aliases.pypydantic/annotated_handlers.pypydantic-2.14.2/pydantic/annotated_handlers.pypydantic/class_validators.pypydantic-2.14.2/pydantic/class_validators.pypydantic/color.pypydantic-2.14.2/pydantic/color.pypydantic/config.pypydantic-2.14.2/pydantic/config.pypydantic/dataclasses.pypydantic-2.14.2/pydantic/dataclasses.pypydantic/datetime_parse.pypydantic-2.14.2/pydantic/datetime_parse.pypydantic/decorator.pypydantic-2.14.2/pydantic/decorator.pypydantic/env_settings.pypydantic-2.14.2/pydantic/env_settings.pypydantic/error_wrappers.pypydantic-2.14.2/pydantic/error_wrappers.pypydantic/errors.pypydantic-2.14.2/pydantic/errors.pypydantic/fields.pypydantic-2.14.2/pydantic/fields.pypydantic/functional_serializers.pypydantic-2.14.2/pydantic/functional_serializers.pypydantic/functional_validators.pypydantic-2.14.2/pydantic/functional_validators.py

How ShadowCanopy checks PyPI packages

ShadowCanopy blocks every dependency by default and only lets through what it can verify — against live malicious-package advisories, an AI behavior scan, and a byte-for-byte hash check. It protects installs across npm, PyPI, crates.io, pkg.go.dev, RubyGems, Maven Central, NuGet, Packagist, Hex, pub.dev, Swift Package Manager.

Protect your projects freeSee what's being blocked

This report reflects ShadowCanopy's threat intelligence at page load and is informational, not a warranty. Canonical URL: https://shadowcanopy.dev/packages/pypi/pydantic