PyPI package intelligence

pillow — deep security report

ShadowCanopy's full breakdown of pillow 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/23/2026
Approvedpillow@13.0.0View on registry ↗latest: 13.0.0

Pillow 13.0.0 is the legitimate, widely-used Python imaging library. All findings are false positives: archived Adobe/SGI/JPEG spec URLs appear only in source comments; binary literals, hex strings and test data are normal for image format parsers and unit tests; date strings mis-flagged as IPs are harmless metadata or format examples. No credential theft, exfiltration, remote execution, backdoors or any other malicious behavior exists in the provided source.

Protect your projects free

AI breakdown

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

Pillow is the Python Imaging Library (fork) for image processing and manipulation.

Capabilities

  • Image file handling
  • No scripts defined
  • No dependencies listed

Data access

  • None observed

Network

  • No network access observed

Standard image library package with empty scripts and dependencies; static findings reference potential issues but are not evidenced in the provided manifest or file sample.

Dependency & execution chain

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

8 packages2 direct
pillow@13.0.046 findings
psutil@7.2.2

Obfuscated / hidden code

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

Obfuscated source fileTests/test_file_eps.py

Multiple obfuscation patterns in Tests/test_file_eps.py

Obfuscated source filepillow-13.0.0/Tests/test_file_eps.py

Multiple obfuscation patterns in pillow-13.0.0/Tests/test_file_eps.py

Obfuscated source fileTests/test_file_tiff.py

Multiple obfuscation patterns in Tests/test_file_tiff.py

Obfuscated source filepillow-13.0.0/Tests/test_file_tiff.py

Multiple obfuscation patterns in pillow-13.0.0/Tests/test_file_tiff.py

Obfuscated source filesrc/PIL/TiffImagePlugin.py

Multiple obfuscation patterns in src/PIL/TiffImagePlugin.py

Obfuscated source filepillow-13.0.0/src/PIL/TiffImagePlugin.py

Multiple obfuscation patterns in pillow-13.0.0/src/PIL/TiffImagePlugin.py

Security findings (46)

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

highMalicious URL in packageATK-021Tests/test_file_eps.py

URLhaus: 2026-10-21 14:46:59: https://web.archive.org/web/20220120164601/https://www.adobe.com/content/dam/acom/en/devnet/actionscript/articles/5002.EPSF_Spec.pdf (urlhaus)

highMalicious URL in packageATK-021docs/example/DdsImagePlugin.py

URLhaus: 2026-10-21 14:46:59: https://web.archive.org/web/20170802060935/http://oss.sgi.com/projects/ogl-sample/registry/EXT/texture_compression_s3tc.txt (urlhaus)

highMalicious URL in packageATK-021src/PIL/EpsImagePlugin.py

URLhaus: 2026-10-21 14:46:59: https://web.archive.org/web/20160528181353/http://partners.adobe.com/public/developer/en/ps/5002.EPSF_Spec.pdf (urlhaus)

highMalicious URL in packageATK-021src/PIL/JpegPresets.py

URLhaus: 2026-10-21 14:46:59: https://web.archive.org/web/20120328125543/http://www.jpegcameras.com/libjpeg/libjpeg-3.html (urlhaus)

mediumObfuscated source fileATK-023Tests/test_file_dds.py

Multiple obfuscation patterns in Tests/test_file_dds.py

mediumObfuscated source fileATK-023pillow-13.0.0/Tests/test_file_dds.py

Multiple obfuscation patterns in pillow-13.0.0/Tests/test_file_dds.py

mediumObfuscated source fileATK-023Tests/test_file_eps.py

Multiple obfuscation patterns in Tests/test_file_eps.py

mediumObfuscated source fileATK-023pillow-13.0.0/Tests/test_file_eps.py

Multiple obfuscation patterns in pillow-13.0.0/Tests/test_file_eps.py

mediumObfuscated source fileATK-023Tests/test_file_jpeg2k.py

Multiple obfuscation patterns in Tests/test_file_jpeg2k.py

mediumObfuscated source fileATK-023pillow-13.0.0/Tests/test_file_jpeg2k.py

Multiple obfuscation patterns in pillow-13.0.0/Tests/test_file_jpeg2k.py

mediumObfuscated source fileATK-023Tests/test_file_libtiff.py

Multiple obfuscation patterns in Tests/test_file_libtiff.py

mediumObfuscated source fileATK-023pillow-13.0.0/Tests/test_file_libtiff.py

Multiple obfuscation patterns in pillow-13.0.0/Tests/test_file_libtiff.py

mediumObfuscated source fileATK-023Tests/test_file_psd.py

Multiple obfuscation patterns in Tests/test_file_psd.py

mediumObfuscated source fileATK-023pillow-13.0.0/Tests/test_file_psd.py

Multiple obfuscation patterns in pillow-13.0.0/Tests/test_file_psd.py

mediumObfuscated source fileATK-023Tests/test_file_tiff.py

Multiple obfuscation patterns in Tests/test_file_tiff.py

mediumObfuscated source fileATK-023pillow-13.0.0/Tests/test_file_tiff.py

Multiple obfuscation patterns in pillow-13.0.0/Tests/test_file_tiff.py

mediumObfuscated source fileATK-023Tests/test_image_transform.py

Multiple obfuscation patterns in Tests/test_image_transform.py

mediumObfuscated source fileATK-023pillow-13.0.0/Tests/test_image_transform.py

Multiple obfuscation patterns in pillow-13.0.0/Tests/test_image_transform.py

mediumObfuscated source fileATK-023Tests/test_imagefont.py

Multiple obfuscation patterns in Tests/test_imagefont.py

mediumObfuscated source fileATK-023pillow-13.0.0/Tests/test_imagefont.py

Multiple obfuscation patterns in pillow-13.0.0/Tests/test_imagefont.py

mediumObfuscated source fileATK-023Tests/test_pdfparser.py

Multiple obfuscation patterns in Tests/test_pdfparser.py

mediumObfuscated source fileATK-023pillow-13.0.0/Tests/test_pdfparser.py

Multiple obfuscation patterns in pillow-13.0.0/Tests/test_pdfparser.py

mediumObfuscated source fileATK-023src/PIL/Image.py

Multiple obfuscation patterns in src/PIL/Image.py

mediumObfuscated source fileATK-023pillow-13.0.0/src/PIL/Image.py

Multiple obfuscation patterns in pillow-13.0.0/src/PIL/Image.py

mediumObfuscated source fileATK-023src/PIL/ImageFont.py

Multiple obfuscation patterns in src/PIL/ImageFont.py

mediumObfuscated source fileATK-023pillow-13.0.0/src/PIL/ImageFont.py

Multiple obfuscation patterns in pillow-13.0.0/src/PIL/ImageFont.py

mediumObfuscated source fileATK-023src/PIL/PdfParser.py

Multiple obfuscation patterns in src/PIL/PdfParser.py

mediumObfuscated source fileATK-023pillow-13.0.0/src/PIL/PdfParser.py

Multiple obfuscation patterns in pillow-13.0.0/src/PIL/PdfParser.py

mediumObfuscated source fileATK-023src/PIL/TiffImagePlugin.py

Multiple obfuscation patterns in src/PIL/TiffImagePlugin.py

mediumObfuscated source fileATK-023pillow-13.0.0/src/PIL/TiffImagePlugin.py

Multiple obfuscation patterns in pillow-13.0.0/src/PIL/TiffImagePlugin.py

highHardcoded public IP in network codeATK-028Tests/test_file_jpeg.py

File Tests/test_file_jpeg.py contains a hardcoded public IP (1999:99:99) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028pillow-13.0.0/Tests/test_file_jpeg.py

File pillow-13.0.0/Tests/test_file_jpeg.py contains a hardcoded public IP (1999:99:99) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028Tests/test_file_webp_metadata.py

File Tests/test_file_webp_metadata.py contains a hardcoded public IP (14:56:27) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028pillow-13.0.0/Tests/test_file_webp_metadata.py

File pillow-13.0.0/Tests/test_file_webp_metadata.py contains a hardcoded public IP (14:56:27) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028Tests/test_image.py

File Tests/test_image.py contains a hardcoded public IP (2003:12:14) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028pillow-13.0.0/Tests/test_image.py

File pillow-13.0.0/Tests/test_image.py contains a hardcoded public IP (2003:12:14) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028docs/conf.py

File docs/conf.py contains a hardcoded public IP (07:54:11) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028pillow-13.0.0/docs/conf.py

File pillow-13.0.0/docs/conf.py contains a hardcoded public IP (07:54:11) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028src/PIL/AvifImagePlugin.py

File src/PIL/AvifImagePlugin.py contains a hardcoded public IP (4:0:0) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028pillow-13.0.0/src/PIL/AvifImagePlugin.py

File pillow-13.0.0/src/PIL/AvifImagePlugin.py contains a hardcoded public IP (4:0:0) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028src/PIL/Image.py

File src/PIL/Image.py contains a hardcoded public IP (1999:99:99) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028pillow-13.0.0/src/PIL/Image.py

File pillow-13.0.0/src/PIL/Image.py contains a hardcoded public IP (1999:99:99) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028src/PIL/PdfParser.py

File src/PIL/PdfParser.py contains a hardcoded public IP (7.9.2.2) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028pillow-13.0.0/src/PIL/PdfParser.py

File pillow-13.0.0/src/PIL/PdfParser.py contains a hardcoded public IP (7.9.2.2) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028src/_avif.c

File src/_avif.c contains a hardcoded public IP (7.3.6.7) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028pillow-13.0.0/src/_avif.c

File pillow-13.0.0/src/_avif.c contains a hardcoded public IP (7.3.6.7) used in network code — review for hidden exfiltration or C2 endpoints.

Package metadata

LicenseUnknown

Python Imaging Library (fork)

Files in package (500)

.pre-commit-config.yamlpillow-13.0.0/.pre-commit-config.yamlAGENTS.mdpillow-13.0.0/AGENTS.mdCHANGES.rstpillow-13.0.0/CHANGES.rstLICENSEpillow-13.0.0/LICENSEMANIFEST.inpillow-13.0.0/MANIFEST.inMakefilepillow-13.0.0/MakefilePKG-INFOpillow-13.0.0/PKG-INFOREADME.mdpillow-13.0.0/README.mdRELEASING.mdpillow-13.0.0/RELEASING.mdTests/README.rstpillow-13.0.0/Tests/README.rstTests/benchmarks.pypillow-13.0.0/Tests/benchmarks.pyTests/conftest.pypillow-13.0.0/Tests/conftest.pyTests/createfontdatachunk.pypillow-13.0.0/Tests/createfontdatachunk.pyTests/fonts/10x20-ISO8859-1-fewer-characters.pcfpillow-13.0.0/Tests/fonts/10x20-ISO8859-1-fewer-characters.pcfTests/fonts/10x20-ISO8859-1.pcfpillow-13.0.0/Tests/fonts/10x20-ISO8859-1.pcfTests/fonts/10x20.pbmpillow-13.0.0/Tests/fonts/10x20.pbmTests/fonts/10x20.pilpillow-13.0.0/Tests/fonts/10x20.pilTests/fonts/AdobeVFPrototype.ttfpillow-13.0.0/Tests/fonts/AdobeVFPrototype.ttfTests/fonts/AdobeVFPrototypeDuplicates.ttfpillow-13.0.0/Tests/fonts/AdobeVFPrototypeDuplicates.ttfTests/fonts/ArefRuqaa-Regular.ttfpillow-13.0.0/Tests/fonts/ArefRuqaa-Regular.ttf

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