PyPI package intelligence

setuptools — deep security report

ShadowCanopy's full breakdown of setuptools 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 10/20/2026
Approvedsetuptools@84.2.1View on registry ↗latest: 84.2.1

All findings are false positives from regex matches on escape sequences, docstrings, and comments inside vendored copies of tarfile, jaraco.text, more-itertools and packaging. No malicious behavior (exfil, C2, eval of attacker data, etc.) exists in the supplied source. This is the legitimate setuptools package.

Protect your projects free

AI breakdown

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

setuptools is a Python build backend for packaging projects with support for C/C++ extension modules.

Capabilities

  • Provides distutils compatibility layer
  • Supports building extension modules

Data access

  • None observed

Network

  • Hardcoded public IP in network code (multiple instances flagged by static findings)

Static findings report obfuscated files and hardcoded IPs that may require code review; otherwise this is the standard benign packaging tool with no scripts or dependencies declared.

Dependency & execution chain

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

298 packages8 direct1 flaggedtruncated
setuptools@84.2.116 findings
tomli@2.5.0
ruff@0.17.4

Obfuscated / hidden code

Encoded payloads decoded statically (without executing them) so you can see what they resolve to.

Obfuscated source filesetuptools/_vendor/packaging/metadata.py

Multiple obfuscation patterns in setuptools/_vendor/packaging/metadata.py

Obfuscated source filesetuptools-84.2.1/setuptools/_vendor/packaging/metadata.py

Multiple obfuscation patterns in setuptools-84.2.1/setuptools/_vendor/packaging/metadata.py

Security findings (16)

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

mediumObfuscated source fileATK-023setuptools/_vendor/backports/tarfile/__init__.py

Multiple obfuscation patterns in setuptools/_vendor/backports/tarfile/__init__.py

mediumObfuscated source fileATK-023setuptools-84.2.1/setuptools/_vendor/backports/tarfile/__init__.py

Multiple obfuscation patterns in setuptools-84.2.1/setuptools/_vendor/backports/tarfile/__init__.py

mediumObfuscated source fileATK-023setuptools/_vendor/jaraco/text/__init__.py

Multiple obfuscation patterns in setuptools/_vendor/jaraco/text/__init__.py

mediumObfuscated source fileATK-023setuptools-84.2.1/setuptools/_vendor/jaraco/text/__init__.py

Multiple obfuscation patterns in setuptools-84.2.1/setuptools/_vendor/jaraco/text/__init__.py

mediumObfuscated source fileATK-023setuptools/_vendor/more_itertools/recipes.py

Multiple obfuscation patterns in setuptools/_vendor/more_itertools/recipes.py

mediumObfuscated source fileATK-023setuptools-84.2.1/setuptools/_vendor/more_itertools/recipes.py

Multiple obfuscation patterns in setuptools-84.2.1/setuptools/_vendor/more_itertools/recipes.py

mediumObfuscated source fileATK-023setuptools/_vendor/packaging/metadata.py

Multiple obfuscation patterns in setuptools/_vendor/packaging/metadata.py

mediumObfuscated source fileATK-023setuptools-84.2.1/setuptools/_vendor/packaging/metadata.py

Multiple obfuscation patterns in setuptools-84.2.1/setuptools/_vendor/packaging/metadata.py

highHardcoded public IP in network codeATK-028setuptools/_distutils/compilers/C/tests/test_cygwin.py

File setuptools/_distutils/compilers/C/tests/test_cygwin.py contains a hardcoded public IP (16:42:21) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028setuptools-84.2.1/setuptools/_distutils/compilers/C/tests/test_cygwin.py

File setuptools-84.2.1/setuptools/_distutils/compilers/C/tests/test_cygwin.py contains a hardcoded public IP (16:42:21) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028setuptools/_vendor/backports/tarfile/__init__.py

File setuptools/_vendor/backports/tarfile/__init__.py contains a hardcoded public IP (1::2) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028setuptools-84.2.1/setuptools/_vendor/backports/tarfile/__init__.py

File setuptools-84.2.1/setuptools/_vendor/backports/tarfile/__init__.py contains a hardcoded public IP (1::2) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028setuptools/_vendor/more_itertools/more.py

File setuptools/_vendor/more_itertools/more.py contains a hardcoded public IP (7.2.1.1) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028setuptools-84.2.1/setuptools/_vendor/more_itertools/more.py

File setuptools-84.2.1/setuptools/_vendor/more_itertools/more.py contains a hardcoded public IP (7.2.1.1) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028setuptools/_vendor/wheel/wheelfile.py

File setuptools/_vendor/wheel/wheelfile.py contains a hardcoded public IP (00:00:00) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028setuptools-84.2.1/setuptools/_vendor/wheel/wheelfile.py

File setuptools-84.2.1/setuptools/_vendor/wheel/wheelfile.py contains a hardcoded public IP (00:00:00) used in network code — review for hidden exfiltration or C2 endpoints.

Package metadata

LicenseUnknown

Most extensible Python build backend with support for C/C++ extension modules

Files in package (500)

LICENSEsetuptools-84.2.1/LICENSEMANIFEST.insetuptools-84.2.1/MANIFEST.inNEWS.rstsetuptools-84.2.1/NEWS.rstPKG-INFOsetuptools-84.2.1/PKG-INFOREADME.rstsetuptools-84.2.1/README.rst_distutils_hack/__init__.pysetuptools-84.2.1/_distutils_hack/__init__.py_distutils_hack/override.pysetuptools-84.2.1/_distutils_hack/override.pyconftest.pysetuptools-84.2.1/conftest.pydocs/artwork.rstsetuptools-84.2.1/docs/artwork.rstdocs/build_meta.rstsetuptools-84.2.1/docs/build_meta.rstdocs/conf.pysetuptools-84.2.1/docs/conf.pydocs/deprecated/changed_keywords.rstsetuptools-84.2.1/docs/deprecated/changed_keywords.rstdocs/deprecated/commands.rstsetuptools-84.2.1/docs/deprecated/commands.rstdocs/deprecated/dependency_links.rstsetuptools-84.2.1/docs/deprecated/dependency_links.rstdocs/deprecated/distutils/_setuptools_disclaimer.rstsetuptools-84.2.1/docs/deprecated/distutils/_setuptools_disclaimer.rstdocs/deprecated/distutils/apiref.rstsetuptools-84.2.1/docs/deprecated/distutils/apiref.rstdocs/deprecated/distutils/builtdist.rstsetuptools-84.2.1/docs/deprecated/distutils/builtdist.rstdocs/deprecated/distutils/commandref.rstsetuptools-84.2.1/docs/deprecated/distutils/commandref.rstdocs/deprecated/distutils/configfile.rstsetuptools-84.2.1/docs/deprecated/distutils/configfile.rstdocs/deprecated/distutils/examples.rstsetuptools-84.2.1/docs/deprecated/distutils/examples.rst

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/setuptools