AI Finder - AI artifact scanner for supply chain security
Project description
ai-finder
AI artifact scanner for supply chain security and compliance
About
ai-finder detects AI/ML artifacts in codebases for:
- Supply Chain Security - Identify AI models, SDKs, and dependencies
- EU AI Act Compliance - Generate SBOM reports for regulatory requirements
- Risk Assessment - Detect API keys, model provenance, and usage patterns
Features
SDK Detection (12 languages)
| Language | SDKs Detected |
|---|---|
| Python | OpenAI, Anthropic, HuggingFace, LangChain, LlamaIndex, Strands, CrewAI, AutoGen |
| JavaScript/TypeScript | OpenAI, Anthropic, LangChain, Vercel AI SDK |
| Go | go-openai, go-anthropic |
| Rust | async-openai, anthropic-rs |
| Java/Kotlin | openai-java, LangChain4j, Spring AI |
| And more... | Ruby, PHP, C#, C++, Swift, Scala, Kotlin |
AI Package Detection (150+ packages)
Comprehensive detection across categories:
| Category | Packages |
|---|---|
| LLM Clients | OpenAI, Anthropic, Cohere, Groq, Mistral, Ollama, Google GenAI, Azure OpenAI |
| Agent Frameworks | LangChain, LlamaIndex, Strands Agents, CrewAI, AutoGen, Semantic Kernel |
| ML Frameworks | PyTorch, TensorFlow, Keras, JAX, Transformers, scikit-learn, XGBoost |
| Vector Databases | ChromaDB, Pinecone, Weaviate, Qdrant, Milvus, FAISS, LanceDB |
| Speech/Audio AI | OpenAI Whisper, Faster Whisper, ElevenLabs, Bark |
| AI Safety | AIProxyGuard, Guardrails AI, NeMo Guardrails, LLM Guard |
| Tools & Utilities | Tavily, LangSmith, W&B, MLflow, Accelerate, Datasets |
| MCP/Tool Use | MCP, Anthropic Tools |
Model File Detection (12 formats)
GGUF, SafeTensors, ONNX, PyTorch, TensorFlow, TFLite, CoreML, JAX, Keras, MXNet, PaddlePaddle, Pickle
Manifest Parsing (11 formats)
requirements.txt, pyproject.toml, package.json, go.mod, Cargo.toml, pom.xml, build.gradle, Gemfile, composer.json, *.csproj, Package.swift
Output Formats
- JSON - Machine-readable findings
- CycloneDX 1.6 - OWASP SBOM format with ML-BOM support
- SPDX 2.3 - Linux Foundation SBOM format
- SPDX 3.0 - Latest SPDX specification with JSON-LD
License Handling
- Licenses are automatically enriched from PyPI, npm, and HuggingFace
- Unknown licenses are marked as
NOASSERTIONper SPDX specification - Supports SPDX license expressions
Installation
pip install ai-finder
Requires Python 3.9 or later.
Usage
# Scan a directory
ai-finder scan /path/to/project
# Generate SBOM (CycloneDX)
ai-finder scan /path/to/project -f cyclonedx -o sbom.json
# Generate SBOM (SPDX)
ai-finder scan /path/to/project -f spdx -o sbom.spdx.json
# Identify a model file
ai-finder identify model.gguf
# Initialize local KB
ai-finder kb init
# Lookup model by PURL
ai-finder kb lookup pkg:huggingface/TinyLlama/TinyLlama-1.1B-Chat-v1.0
Telemetry
This tool collects anonymous usage telemetry to help improve the product. No file paths, code content, or scan targets are collected.
Disable telemetry:
# Per-session
ai-finder --no-telemetry scan .
# Environment variable
export AI_FINDER_TELEMETRY=0
# Or use the standard
export DO_NOT_TRACK=1
See docs/TELEMETRY.md for full details on what is collected.
Development
# Clone repository
git clone https://github.com/scanoss/ai-finder.git
cd ai-finder
# Install with uv
uv sync --all-packages --all-extras
# Run tests
uv run pytest
# Lint
uv run ruff check .
Contributing
We welcome contributions! Please read CONTRIBUTING.md before submitting a pull request.
Security
If you discover a security vulnerability, please follow our Security Policy.
License
This project is licensed under the MIT License - see LICENSE for details.
Copyright (c) 2026 SCANOSS.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ai_finder-0.3.7.tar.gz.
File metadata
- Download URL: ai_finder-0.3.7.tar.gz
- Upload date:
- Size: 211.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
424824b2915d22f258f4a0675aa17f7f77eb7809f9c04056cdbaef4cdc43f53b
|
|
| MD5 |
d1ae42171b97204f18220ed9d89b68fb
|
|
| BLAKE2b-256 |
bb727485ef1ed546251fa2e3be38c926d709c658ef9e585839589c14b3a21fe9
|
Provenance
The following attestation bundles were made for ai_finder-0.3.7.tar.gz:
Publisher:
promote-to-pypi.yml on scanoss/ai-finder
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ai_finder-0.3.7.tar.gz -
Subject digest:
424824b2915d22f258f4a0675aa17f7f77eb7809f9c04056cdbaef4cdc43f53b - Sigstore transparency entry: 1454560448
- Sigstore integration time:
-
Permalink:
scanoss/ai-finder@a7cb67123a4354452698494510342019b4b29e87 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/scanoss
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
promote-to-pypi.yml@a7cb67123a4354452698494510342019b4b29e87 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file ai_finder-0.3.7-py3-none-any.whl.
File metadata
- Download URL: ai_finder-0.3.7-py3-none-any.whl
- Upload date:
- Size: 243.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b67c6aa76dc8eb14b733c4fce8beace7128e7a89be34468e6f761471ec4f2024
|
|
| MD5 |
1f58336e1fedcd024ad7cf59ecabebee
|
|
| BLAKE2b-256 |
9c5b682f74ff3787a542843918120130b60d9284f705b46c40618b5ae59c859e
|
Provenance
The following attestation bundles were made for ai_finder-0.3.7-py3-none-any.whl:
Publisher:
promote-to-pypi.yml on scanoss/ai-finder
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ai_finder-0.3.7-py3-none-any.whl -
Subject digest:
b67c6aa76dc8eb14b733c4fce8beace7128e7a89be34468e6f761471ec4f2024 - Sigstore transparency entry: 1454560556
- Sigstore integration time:
-
Permalink:
scanoss/ai-finder@a7cb67123a4354452698494510342019b4b29e87 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/scanoss
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
promote-to-pypi.yml@a7cb67123a4354452698494510342019b4b29e87 -
Trigger Event:
workflow_dispatch
-
Statement type: