litellm-supply-chain-auditor
Scan Python projects for compromised LLM dependencies. Think npm audit for your AI stack.
What is this?
A CLI tool and GitHub Action that detects malicious or compromised versions of popular LLM libraries (LiteLLM, LangChain, LlamaIndex) in your Python projects. It verifies package integrity against known-good hashes, cross-references against CVE databases, and generates detailed security audit reports—all designed to address the real supply chain vulnerabilities affecting AI teams today.
Features
- Dependency Scanning: Analyzes
requirements.txt,pyproject.toml, andpoetry.lockfiles - Hash Verification: Validates package integrity against PyPI records and historical snapshots
- CVE Detection: Real-time integration with GitHub Advisory Database for known compromises
- Blast Radius Analysis: Visualize dependency trees to understand the impact of compromised packages
- GitHub Action: Drop-in CI/CD integration for continuous monitoring
- Security Reports: Generate detailed audit reports with remediation guidance
- Pre-commit Hook: Catch vulnerable dependencies before they're committed
Quick Start
Installation
pip install litellm-supply-chain-auditor
Basic Usage
# Scan your project
litellm-auditor scan
# Scan a specific directory
litellm-auditor scan --path /path/to/project
# Generate a full audit report
litellm-auditor audit --output report.pdf
# Verify specific package versions
litellm-auditor verify litellm==1.0.0
GitHub Action
Add to .github/workflows/security.yml:
name: LLM Supply Chain Audit
on: [push, pull_request]
jobs:
audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: your-org/litellm-supply-chain-auditor@v1
with:
fail-on-vulnerability: true
Pre-commit Hook
Add to .pre-commit-config.yaml:
- repo: https://github.com/your-org/litellm-supply-chain-auditor
rev: v1.0.0
hooks:
- id: litellm-audit
Usage Examples
# Scan and display results in terminal
$ litellm-auditor scan
✓ Requirements parsed: 24 dependencies
⚠ Checking against CVE database...
✗ CRITICAL: litellm 0.1.911 is known compromised
→ Upgrade to 0.1.912 or later
→ See: https://github.com/advisories/...
# Export detailed JSON report
$ litellm-auditor scan --format json --output audit.json
# Strict mode: fail if any vulnerability found
$ litellm-auditor scan --strict
Tech Stack
- Language: Python 3.8+
- CLI Framework: Click
- Data Format: Rich for terminal output
- API Integration: Requests (GitHub Advisory Database)
- Testing: pytest
- Packaging: pyproject.toml (setuptools)
- CI/CD: GitHub Actions
Monitored Packages
- LiteLLM
- LangChain
- LlamaIndex
See MONITORED_PACKAGES.md for the complete list and update cadence.
Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
License
MIT License — see LICENSE for details.
Release files for litellm-supply-chain-auditor 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| litellm_supply_chain_auditor-0.1.0.tar.gz | 15.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| litellm_supply_chain_auditor-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 31.1 kB
Release files / litellm_supply_chain_auditor-0.1.0.tar.gz
| Download URL | litellm_supply_chain_auditor-0.1.0.tar.gz |
|---|---|
| Size | 15.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3c55cdb3735085b9df112a045bd3fc6d4290a5e504fc8c711b208cf9f3f0f158
|
|
BLAKE2b-256 checksum How to use checksums |
25abd8cb2f3cc442fb2fabd8a7b7c265c9d9b5d57b6bab054b2286502378b6fc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / litellm_supply_chain_auditor-0.1.0-py3-none-any.whl
| Download URL | litellm_supply_chain_auditor-0.1.0-py3-none-any.whl |
|---|---|
| Size | 15.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6ea485f719f8c07e780417ce60922b8f718e2da0d37e4d3d1d32f4034569a580
|
|
BLAKE2b-256 checksum How to use checksums |
35ad8fbc4fc4d06ef6ba4644e94631bd498d8f720e2f2d6b16558d01b423f01a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|