Did you check the docs?
Is your feature request related to a problem? Please describe.
There is no automated scanning for vulnerabilities in Python dependencies. With many dependencies, CVEs in packages like aiohttp, urllib3, and NLTK can go undetected until downstream consumers or container image scanners flag them.
Describe the solution you'd like
A weekly cron on the develop branch makes to catch newly disclosed CVEs using trivy
We would get a report along the lines of this:
Report Summary
┌─────────────┬────────┬─────────────────┐
│ Target │ Type │ Vulnerabilities │
├─────────────┼────────┼─────────────────┤
│ poetry.lock │ poetry │ 48 │
└─────────────┴────────┴─────────────────┘
Legend:
- '-': Not scanned
- '0': Clean (no security findings detected)
poetry.lock (poetry)
====================
Total: 48 (HIGH: 48, CRITICAL: 0)
┌───────────────────┬─────────────────────┬──────────┬────────┬───────────────────┬───────────────┬──────────────────────────────────────────────────────────────┐
│ Library │ Vulnerability │ Severity │ Status │ Installed Version │ Fixed Version │ Title │
├───────────────────┼─────────────────────┼──────────┼────────┼───────────────────┼───────────────┼──────────────────────────────────────────────────────────────┤
│ aiohttp │ CVE-2026-69244 │ HIGH │ fixed │ 3.13.5 │ 3.14.3 │ AIOHTTP: Out-of-bounds heap read in C HTTP response parser │
│ │ │ │ │ │ │ error path (malformed... │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-69244 │
├───────────────────┼─────────────────────┤ │ ├───────────────────┼───────────────┼──────────────────────────────────────────────────────────────┤
│ cryptography │ CVE-2026-69247 │ │ │ 46.0.6 │ 50.0.0 │ cryptography: PKCS#7 EnvelopedData decryption exposes a │
│ │ │ │ │ │ │ Bleichenbacher oracle through distinguishable errors and... │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-69247 │
│ ├─────────────────────┤ │ │ ├───────────────┼──────────────────────────────────────────────────────────────┤
│ │ CVE-2026-69249 │ │ │ │ 49.0.0 │ python-cryptography: Duplicate self-signed intermediates can │
│ │ │ │ │ │ │ cause exponential path-building │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-69249 │
│ ├─────────────────────┤ │ │ ├───────────────┼──────────────────────────────────────────────────────────────┤
│ │ GHSA-537c-gmf6-5ccf │ │ │ │ 48.0.1 │ Vulnerable OpenSSL included in cryptography wheels │
│ │ │ │ │ │ │ https://github.com/advisories/GHSA-537c-gmf6-5ccf │
├───────────────────┼─────────────────────┤ │ ├───────────────────┼───────────────┼──────────────────────────────────────────────────────────────┤
│ gitpython │ CVE-2026-42215 │ │ │ 3.1.46 │ 3.1.47 │ GitPython is a python library used to interact with Git │
│ │ │ │ │ │ │ repositories. ... │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-42215 │
│ ├─────────────────────┤ │ │ │ ├──────────────────────────────────────────────────────────────┤
│ │ CVE-2026-42284 │ │ │ │ │ GitPython is a python library used to interact with Git │
│ │ │ │ │ │ │ repositories. ... │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-42284 │
│ ├─────────────────────┤ │ │ ├───────────────┼──────────────────────────────────────────────────────────────┤
│ │ CVE-2026-44243 │ │ │ │ 3.1.48 │ GitPython: GitPython: Arbitrary file write via crafted │
│ │ │ │ │ │ │ reference paths │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-44243 │
│ ├─────────────────────┤ │ │ ├───────────────┼──────────────────────────────────────────────────────────────┤
│ │ CVE-2026-44244 │ │ │ │ 3.1.49 │ GitPython is a python library used to interact with Git │
│ │ │ │ │ │ │ repositories. ... │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-44244 │
│ ├─────────────────────┤ │ │ ├───────────────┼──────────────────────────────────────────────────────────────┤
│ │ GHSA-2f96-g7mh-g2hx │ │ │ │ 3.1.51 │ GitPython: Command Injection via git long-option prefix │
│ │ │ │ │ │ │ abbreviation bypass of CVE-2026-42215 blocklist... │
│ │ │ │ │ │ │ https://github.com/advisories/GHSA-2f96-g7mh-g2hx │
│ ├─────────────────────┤ │ │ ├───────────────┼──────────────────────────────────────────────────────────────┤
│ │ GHSA-3f7w-8rr8-f37f │ │ │ │ 3.1.57 │ GitPython: Unguarded git option forwarding in │
│ │ │ │ │ │ │ IndexFile.checkout() and TagReference.create() enables │
│ │ │ │ │ │ │ arbitrary file... │
│ │ │ │ │ │ │ https://github.com/advisories/GHSA-3f7w-8rr8-f37f │
│ ├─────────────────────┤ │ │ ├───────────────┼──────────────────────────────────────────────────────────────┤
│ │ GHSA-3rp5-jjmw-4wv2 │ │ │ │ 3.1.53 │ GitPython: git-config section-name injection enables │
│ │ │ │ │ │ │ arbitrary config directives (core.sshCommand RCE) │
│ │ │ │ │ │ │ https://github.com/advisories/GHSA-3rp5-jjmw-4wv2 │
│ ├─────────────────────┤ │ │ ├───────────────┼──────────────────────────────────────────────────────────────┤
│ │ GHSA-6p8h-3wgx-97gf │ │ │ │ 3.1.54 │ GitPython: Incomplete unsafe_git_clone_options denylist │
│ │ │ │ │ │ │ omits --template enabling arbitrary command execution via │
│ │ │ │ │ │ │ clone... │
│ │ │ │ │ │ │ https://github.com/advisories/GHSA-6p8h-3wgx-97gf │
│ ├─────────────────────┤ │ │ ├───────────────┼──────────────────────────────────────────────────────────────┤
│ │ GHSA-94p4-4cq8-9g67 │ │ │ │ 3.1.55 │ GitPython: Environment-variable exfiltration via │
│ │ │ │ │ │ │ Repo.create_remote() / Remote.add() URL (incomplete fix of │
│ │ │ │ │ │ │ GHSA-rwj8-pgh3-r573)... │
│ │ │ │ │ │ │ https://github.com/advisories/GHSA-94p4-4cq8-9g67 │
│ ├─────────────────────┤ │ │ ├───────────────┼──────────────────────────────────────────────────────────────┤
│ │ GHSA-956x-8gvw-wg5v │ │ │ │ 3.1.51 │ GitPython: command injection via unguarded Git options in │
│ │ │ │ │ │ │ `Repo.archive()`, `git.ls_remote()`, and arbitrary... │
│ │ │ │ │ │ │ https://github.com/advisories/GHSA-956x-8gvw-wg5v │
│ ├─────────────────────┤ │ │ ├───────────────┼──────────────────────────────────────────────────────────────┤
│ │ GHSA-fjr4-x663-mwxc │ │ │ │ 3.1.54 │ GitPython: Arbitrary file overwrite via git diff --output │
│ │ │ │ │ │ │ argument injection in Diffable.diff... │
│ │ │ │ │ │ │ https://github.com/advisories/GHSA-fjr4-x663-mwxc │
│ ├─────────────────────┤ │ │ ├───────────────┼──────────────────────────────────────────────────────────────┤
│ │ GHSA-mv93-w799-cj2w │ │ │ │ 3.1.50 │ GitPython: Newline injection in config_writer() section │
│ │ │ │ │ │ │ parameter bypasses CVE-2026-42215 patch, enabling RCE... │
│ │ │ │ │ │ │ https://github.com/advisories/GHSA-mv93-w799-cj2w │
│ ├─────────────────────┤ │ │ ├───────────────┼──────────────────────────────────────────────────────────────┤
│ │ GHSA-r9mr-m37c-5fr3 │ │ │ │ 3.1.54 │ GitPython: Unsafe git option guard bypass via │
│ │ │ │ │ │ │ single-character kwarg value token smuggling... │
│ │ │ │ │ │ │ https://github.com/advisories/GHSA-r9mr-m37c-5fr3 │
│ ├─────────────────────┤ │ │ ├───────────────┼──────────────────────────────────────────────────────────────┤
│ │ GHSA-rwj8-pgh3-r573 │ │ │ │ 3.1.52 │ GitPython: Environment-variable exfiltration via │
│ │ │ │ │ │ │ os.path.expandvars() on Repo.clone_from() URL │
│ │ │ │ │ │ │ https://github.com/advisories/GHSA-rwj8-pgh3-r573 │
├───────────────────┼─────────────────────┤ │ ├───────────────────┼───────────────┼──────────────────────────────────────────────────────────────┤
│ langchain-classic │ CVE-2026-45134 │ │ │ 1.0.3 │ 1.0.7 │ LangSmith SDK: Public prompt pull deserializes untrusted │
│ │ │ │ │ │ │ manifests without trust boundary warning... │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-45134 │
├───────────────────┼─────────────────────┤ │ ├───────────────────┼───────────────┼──────────────────────────────────────────────────────────────┤
│ langchain-core │ CVE-2026-44843 │ │ │ 1.2.26 │ 1.3.3, 0.3.85 │ langchain: LangChain: Information disclosure and data │
│ │ │ │ │ │ │ integrity compromise via insecure deserialization │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-44843 │
├───────────────────┼─────────────────────┤ │ ├───────────────────┼───────────────┼──────────────────────────────────────────────────────────────┤
│ langsmith │ CVE-2026-45134 │ │ │ 0.7.26 │ 0.8.0 │ LangSmith SDK: Public prompt pull deserializes untrusted │
│ │ │ │ │ │ │ manifests without trust boundary warning... │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-45134 │
│ ├─────────────────────┤ │ │ ├───────────────┼──────────────────────────────────────────────────────────────┤
│ │ GHSA-f4xh-w4cj-qxq8 │ │ │ │ 0.8.18 │ LangSmith SDK TracingMiddleware: Arbitrary server-side file │
│ │ │ │ │ │ │ read │
│ │ │ │ │ │ │ https://github.com/advisories/GHSA-f4xh-w4cj-qxq8 │
├───────────────────┼─────────────────────┤ │ ├───────────────────┼───────────────┼──────────────────────────────────────────────────────────────┤
│ nltk │ CVE-2026-12061 │ │ │ 3.9.4 │ 3.10.0 │ Natural Language Toolkit (NLTK): ReDoS in NLTK │
│ │ │ │ │ │ │ ReviewsCorpusReader FEATURES regex │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-12061 │
│ ├─────────────────────┤ │ │ │ ├──────────────────────────────────────────────────────────────┤
│ │ CVE-2026-12072 │ │ │ │ │ Natural Language Toolkit (NLTK): Path Traversal in │
│ │ │ │ │ │ │ NKJPCorpusReader leads to Arbitrary File... │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-12072 │
│ ├─────────────────────┤ │ │ │ ├──────────────────────────────────────────────────────────────┤
│ │ CVE-2026-12074 │ │ │ │ │ Natural Language Toolkit (NLTK) has path traversal in │
│ │ │ │ │ │ │ FramenetCorpusReader.frame() that allows arbitrary... │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-12074 │
│ ├─────────────────────┤ │ │ │ ├──────────────────────────────────────────────────────────────┤
│ │ CVE-2026-12075 │ │ │ │ │ Natural Language Toolkit (NLTK): DNS-rebinding SSRF filter │
│ │ │ │ │ │ │ bypass in nltk.pathsec.urlopen (nltk.download /... │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-12075 │
│ ├─────────────────────┤ │ │ │ ├──────────────────────────────────────────────────────────────┤
│ │ CVE-2026-54293 │ │ │ │ │ nltk: NLTK: Information Disclosure via Path Traversal in │
│ │ │ │ │ │ │ `nltk.data.load()` │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-54293 │
├───────────────────┼─────────────────────┤ │ ├───────────────────┼───────────────┼──────────────────────────────────────────────────────────────┤
│ pillow │ CVE-2026-54058 │ │ │ 12.2.0 │ 12.3.0 │ Pillow: Pillow: Memory disclosure or denial of service via │
│ │ │ │ │ │ │ crafted McIdas AREA... │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-54058 │
│ ├─────────────────────┤ │ │ │ ├──────────────────────────────────────────────────────────────┤
│ │ CVE-2026-54059 │ │ │ │ │ python-pillow: Pillow: Denial of Service via crafted PCF │
│ │ │ │ │ │ │ font data │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-54059 │
│ ├─────────────────────┤ │ │ │ ├──────────────────────────────────────────────────────────────┤
│ │ CVE-2026-54060 │ │ │ │ │ python-pillow: Pillow: Denial of Service via excessive │
│ │ │ │ │ │ │ memory allocation when processing font... │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-54060 │
│ ├─────────────────────┤ │ │ │ ├──────────────────────────────────────────────────────────────┤
│ │ CVE-2026-55379 │ │ │ │ │ python-pillow: Pillow: Denial of Service via crafted BDF │
│ │ │ │ │ │ │ font file │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-55379 │
│ ├─────────────────────┤ │ │ │ ├──────────────────────────────────────────────────────────────┤
│ │ CVE-2026-55380 │ │ │ │ │ python-pillow: Pillow: Denial of Service via crafted GD 2.x │
│ │ │ │ │ │ │ image file │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-55380 │
│ ├─────────────────────┤ │ │ │ ├──────────────────────────────────────────────────────────────┤
│ │ CVE-2026-59197 │ │ │ │ │ Pillow: Pillow: Native heap out-of-bounds write │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-59197 │
│ ├─────────────────────┤ │ │ │ ├──────────────────────────────────────────────────────────────┤
│ │ CVE-2026-59199 │ │ │ │ │ Pillow: Pillow: Denial of Service via out-of-bounds write in │
│ │ │ │ │ │ │ image processing │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-59199 │
│ ├─────────────────────┤ │ │ │ ├──────────────────────────────────────────────────────────────┤
│ │ CVE-2026-59200 │ │ │ │ │ Pillow: Pillow: Denial of service via crafted PDF stream │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-59200 │
│ ├─────────────────────┤ │ │ │ ├──────────────────────────────────────────────────────────────┤
│ │ CVE-2026-59204 │ │ │ │ │ Pillow: Pillow: Denial of Service via crafted JPEG2000 image │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-59204 │
│ ├─────────────────────┤ │ │ │ ├──────────────────────────────────────────────────────────────┤
│ │ CVE-2026-59205 │ │ │ │ │ Pillow: Pillow: Controlled native heap corruption in │
│ │ │ │ │ │ │ ImageCms.ImageCmsTransform.apply API │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-59205 │
├───────────────────┼─────────────────────┤ │ ├───────────────────┼───────────────┼──────────────────────────────────────────────────────────────┤
│ pyasn1 │ CVE-2026-59884 │ │ │ 0.6.3 │ 0.6.4 │ python-pyasn1: pyasn1: Denial of Service via crafted BER │
│ │ │ │ │ │ │ input │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-59884 │
│ ├─────────────────────┤ │ │ │ ├──────────────────────────────────────────────────────────────┤
│ │ CVE-2026-59885 │ │ │ │ │ pyasn1: python-pyasn1: pyasn1: Denial of Service via crafted │
│ │ │ │ │ │ │ ASN.1 OBJECT IDENTIFIER │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-59885 │
│ ├─────────────────────┤ │ │ │ ├──────────────────────────────────────────────────────────────┤
│ │ CVE-2026-59886 │ │ │ │ │ pyasn1: pyasn1: Denial of Service via crafted ASN.1 REAL │
│ │ │ │ │ │ │ values │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-59886 │
├───────────────────┼─────────────────────┤ │ ├───────────────────┼───────────────┼──────────────────────────────────────────────────────────────┤
│ soupsieve │ CVE-2026-49476 │ │ │ 2.8.3 │ 2.8.4 │ python-soupsieve: Soupsieve: Denial of Service via crafted │
│ │ │ │ │ │ │ CSS selector string │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-49476 │
│ ├─────────────────────┤ │ │ │ ├──────────────────────────────────────────────────────────────┤
│ │ CVE-2026-49477 │ │ │ │ │ soupsieve: Soupsieve: Denial of Service via crafted CSS │
│ │ │ │ │ │ │ selector strings │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-49477 │
├───────────────────┼─────────────────────┤ │ ├───────────────────┼───────────────┼──────────────────────────────────────────────────────────────┤
│ starlette │ CVE-2026-48818 │ │ │ 1.0.0 │ 1.1.0 │ starlette: Starlette: SSRF and NTLM credential theft via UNC │
│ │ │ │ │ │ │ paths in StaticFiles... │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-48818 │
│ ├─────────────────────┤ │ │ ├───────────────┼──────────────────────────────────────────────────────────────┤
│ │ CVE-2026-54283 │ │ │ │ 1.3.1 │ starlette: Starlette: request.form() limits silently ignored │
│ │ │ │ │ │ │ for application/x-www-form-urlencoded enable DoS │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-54283 │
├───────────────────┼─────────────────────┤ │ ├───────────────────┼───────────────┼──────────────────────────────────────────────────────────────┤
│ tornado │ CVE-2026-49853 │ │ │ 6.5.5 │ 6.5.6 │ Tornado is a Python web framework and asynchronous │
│ │ │ │ │ │ │ networking library. ... │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-49853 │
│ ├─────────────────────┤ │ │ │ ├──────────────────────────────────────────────────────────────┤
│ │ CVE-2026-49855 │ │ │ │ │ Tornado is a Python web framework and asynchronous │
│ │ │ │ │ │ │ networking library. ... │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-49855 │
├───────────────────┼─────────────────────┤ │ ├───────────────────┼───────────────┼──────────────────────────────────────────────────────────────┤
│ urllib3 │ CVE-2026-44431 │ │ │ 2.6.3 │ 2.7.0 │ urllib3: urllib3: Information disclosure via cross-origin │
│ │ │ │ │ │ │ redirects forwarding sensitive headers │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-44431 │
│ ├─────────────────────┤ │ │ │ ├──────────────────────────────────────────────────────────────┤
│ │ CVE-2026-44432 │ │ │ │ │ urllib3: urllib3: Denial of Service due to excessive HTTP │
│ │ │ │ │ │ │ response decompression │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-44432 │
└───────────────────┴─────────────────────┴──────────┴────────┴───────────────────┴───────────────┴──────────────────────────────────────────────────────────────┘
This can be used to inform dependency upgrades
Describe alternatives you've considered
n / a
Additional context
No response
Did you check the docs?
Is your feature request related to a problem? Please describe.
There is no automated scanning for vulnerabilities in Python dependencies. With many dependencies, CVEs in packages like aiohttp, urllib3, and NLTK can go undetected until downstream consumers or container image scanners flag them.
Describe the solution you'd like
A weekly cron on the
developbranch makes to catch newly disclosed CVEs using trivyWe would get a report along the lines of this:
This can be used to inform dependency upgrades
Describe alternatives you've considered
n / a
Additional context
No response