vet’s static code analysis, querying the results, and generating a CycloneDX SBOM enriched with AI component evidence.
Prerequisites
vetinstalled- Access to the source code you want to analyze
Workflow
Scan source code
Analyze your source code and build a code analysis database. Use This parses source files, builds call graphs, and matches function calls against embedded signature patterns. Results are stored in a SQLite database.
--app to specify your application directories and --import-dir for vendored or third-party dependencies.Query for AI components
Inspect what AI and LLM SDKs were detected using the This lists all signature matches tagged as AI, showing the file path, line number, and matched call pattern. You can also combine tags for a broader view:To see more results or filter by language:
--tag ai filter:Understanding the Output
Package-level AI usage
When an AI SDK is both declared as a dependency and used in code, it appears withsource-code-analysis evidence:
Application-level AI usage
AI capabilities detected in first-party code (e.g., direct standard library HTTP calls to AI endpoints) appear as standalone xBOM components:ai property tag makes it straightforward to filter AI components from the SBOM programmatically.
What Gets Detected
vet detects AI and LLM usage across Go, Python, and JavaScript/TypeScript:
| Service | Examples |
|---|---|
| OpenAI | OpenAI client SDK |
| Anthropic | Claude, Bedrock, VertexAI |
| LangChain | LangChain framework |
| CrewAI | CrewAI agents |
| Azure AI | Azure AI services |
Detection signatures are community-maintained and embedded into
vet at build time. Run vet code validate to verify all signatures are well-formed.
