In this article
Nomenclature logicielle de l’IA (AIBOM) pour les développeurs Python : cartographiez vos dépendances IA avec Snyk
À mesure que l’IA s’intègre davantage aux bases de code Python, comprendre votre chaîne d’approvisionnement en IA devient essentiel. Que vous développiez avec les modèles GPT d’OpenAI, intégriez les transformers de Hugging Face ou déployiez des systèmes de vision par ordinateur, vos applications dépendent désormais de réseaux complexes de modèles d’IA, de jeux de données et de services susceptibles d’introduire de nouveaux risques de sécurité et de conformité.
La nomenclature logicielle de l’IA (AIBOM), ou nomenclature logicielle de machine learning (MLBOM), offre une méthode normalisée pour répertorier et suivre les composants d’IA de vos applications. Le nouvel outil AIBOM expérimental de Snyk rend cette visibilité accessible aux développeurs Python en détectant et en répertoriant automatiquement les dépendances IA dans leurs projets.
Qu’est-ce qu’une nomenclature logicielle de l’IA ?
Une nomenclature logicielle de l’IA (AIBOM) étend le concept traditionnel de nomenclature logicielle (SBOM) aux composants propres à l’IA, tels que les modèles de machine learning, les jeux de données, les paramètres d’entraînement et les intégrations de services d’IA. Voyez-la comme un inventaire de tous les éléments d’IA qui alimentent votre application.
Pour les développeurs Python, cela signifie qu’il faut comprendre non seulement vos dépendances pip, mais aussi :
Les modèles d’IA auxquels votre code fait référence
Les services et API d’IA externes auxquels votre code fait appel
Les jeux de données utilisés pour l’entraînement ou l’inférence
Les versions des modèles et les informations sur leur provenance
Les implications des licences des jeux de données et des architectures de modèles
Exemples concrets d’AIBOM : de la vision par ordinateur aux agents IA
owler@OwlUbuntu:~/Documents/Snyk/ai-bom-demo$ ls
GroundingDINO OpenHands
owler@OwlUbuntu:~/Documents/Snyk/ai-bom-demo$ snyk aibom --experimental --org=61d6c8ed-5876-4af4-a35c-95ea4131c845 > ai_bom.json^C
owler@OwlUbuntu:~/Documents/Snyk/ai-bom-demo$ cd GroundingDINO/
owler@OwlUbuntu:~/Documents/Snyk/ai-bom-demo/GroundingDINO$ snyk aibom --experimental --org=61d6c8ed-5876-4af4-a35c-95ea4131c845 --html > ai_bom.html
owler@OwlUbuntu:~/Documents/Snyk/ai-bom-demo/GroundingDINO$ cd ..
owler@OwlUbuntu:~/Documents/Snyk/ai-bom-demo$ cd OpenHands/
owler@OwlUbuntu:~/Documents/Snyk/ai-bom-demo/OpenHands$ snyk aibom --experimental --org=61d6c8ed-5876-4af4-a35c-95ea4131c845 --html > ai_bom.html
owler@OwlUbuntu:~/Documents/Snyk/ai-bom-demo/OpenHands$ google-chrome ai_bom.html
Opening in existing browser session.Examinons deux exemples convaincants qui montrent l’AIBOM à l’œuvre dans de véritables projets Python.
Exemple 1 : GroundingDINO – pipeline de vision par ordinateur

GroundingDINO est un projet sophistiqué de vision par ordinateur qui associe détection d’objets et compréhension du langage naturel. L’exécution de l’outil AIBOM de Snyk révèle un paysage de dépendances fascinant :
Modèles d’IA détectés :
bert-base-uncasedetroberta-basepour le traitement du langagePlusieurs variantes de ResNet (
resnet18,resnet50,resnet101) pour l’extraction de caractéristiques d’imagesJeux de données d’entraînement, notamment
bookcorpusetwikipedia
Principales bibliothèques Python :
torchettorchvisionpour l’infrastructure de deep learningtransformerspour l’intégration de modèles de NLPtimmpour les implémentations de modèles d’imagegradiopour les démonstrations interactives
Ce résultat AIBOM révèle immédiatement la nature multimodale du projet et met en évidence des points de vigilance potentiels, comme la dépendance à des versions précises de modèles susceptibles de présenter des vulnérabilités connues ou des restrictions de licence.
Exemple 2 : OpenHands – framework d’agent IA

OpenHands présente un écosystème d’IA encore plus complexe. L’AIBOM révèle un inventaire complet de grands modèles de langage et de services d’IA.
Un vaste portefeuille de modèles
Entre autres…
Toute la gamme Claude :
claude-3-5-sonnet-20241022,claude-opus-4-20250514,claude-sonnet-4-20250514Modèles OpenAI :
gpt-4o,gpt-4-turbo,o1-preview,whisper-1Gamme Google Gemini :
gemini-2.5-pro,gemini-2.0-flash-expMistral AI :
devstral-small-2505Cohere :
command
Intégrations de services :
Points de terminaison directs de l’API OpenAI
Intégration à Hugging Face Hub
Diverses bibliothèques d’inférence de modèles (
vllm,openai)
Cet AIBOM montre que les applications d’IA modernes intègrent souvent plusieurs fournisseurs de modèles et services, créant des réseaux de dépendances complexes que les analyses de dépendances traditionnelles pourraient ne pas détecter.
Pourquoi les développeurs Python ont besoin d’une visibilité AIBOM
La richesse de l’écosystème d’IA de Python le rend particulièrement vulnérable aux dépendances IA cachées. Voici quelques exemples :
Dépendances de modèles cachées
Votre code peut faire référence à des modèles de manière indirecte, par l’intermédiaire d’appels de bibliothèques :
from transformers import pipeline
classifier = pipeline("sentiment-analysis") # Downloads default modelCe code apparemment simple télécharge et utilise en réalité une version précise d’un modèle, créant ainsi une dépendance non documentée.
Risques liés à l’intégration de services
Les intégrations de services d’IA créent des dépendances externes :
import openai
response = openai.ChatCompletion.create(model="gpt-4")Chaque appel de service implique une dépendance à une infrastructure d’IA externe, avec ses propres considérations de sécurité.
Problèmes liés à la provenance des modèles
Comprendre l’origine de vos modèles d’IA est essentiel pour adopter l’IA en toute sécurité. Les modèles entraînés sur des jeux de données inconnus ou dont les licences sont floues peuvent entraîner des risques juridiques et de sécurité.
Premiers pas avec l’outil AIBOM de Snyk
L’outil AIBOM de Snyk détecte automatiquement les dépendances des projets Python. Voici comment l’utiliser :
# Generate AIBOM in JSON format
snyk aibom --experimental --org=your-org-id > aibom.json
# Generate interactive HTML visualization
snyk aibom --experimental --org=your-org-id --html > aibom.htmlL’outil effectue une analyse statique du code pour détecter :
Les références aux modèles dans votre code Python
Les imports de bibliothèques d’IA et les modes d’utilisation
Les configurations des points de terminaison de service
Les informations et métadonnées des fiches des modèles
Implications de sécurité des dépendances IA
Les composants d’IA introduisent des vecteurs d’attaque spécifiques que les analyses de vulnérabilités traditionnelles pourraient ne pas détecter :
Risques d’empoisonnement des modèles
Les attaques contre l’IA peuvent cibler directement les modèles. Savoir quels modèles votre application utilise vous aide à évaluer son exposition aux vulnérabilités propres à chacun.
Risques d’exposition des données
Les modèles d’IA peuvent exposer involontairement des données d’entraînement à la suite d’attaques par inversion de modèle. Connaître la provenance de vos modèles vous aide à évaluer ces risques.
Attaques de la chaîne d’approvisionnement
Tout comme les dépendances traditionnelles peuvent être compromises, les modèles et services d’IA peuvent être la cible d’attaques de la chaîne d’approvisionnement. Le détournement d’agents constitue une nouvelle catégorie de menaces propres aux systèmes d’IA.
Conformité et licences
Les modèles d’IA sont souvent assortis de conditions de licence et de restrictions d’utilisation complexes. L’AIBOM aide à garantir le respect des licences des modèles et des conditions d’utilisation.
Bonnes pratiques de gestion des dépendances IA
1. Auditez régulièrement votre AIBOM
Générez régulièrement des AIBOM pour suivre l’évolution de vos dépendances IA :
# Run as part of CI/CD pipeline
snyk aibom --experimental --json | jq '.components[] | select(.type=="machine-learning-model")'2. Verrouillez les versions des modèles
Comme pour les dépendances traditionnelles, verrouillez les versions de vos modèles d’IA :
# Instead of using latest
model = AutoModel.from_pretrained("bert-base-uncased")
# Pin specific versions
model = AutoModel.from_pretrained("bert-base-uncased", revision="abc123")3. Surveillez les mises à jour des modèles
Suivez les mises à jour et la dépréciation des modèles. L’AIBOM vous aide à repérer les modèles qui nécessitent une attention particulière.
4. Mettez en place une analyse de sécurité spécifique à l’IA
Associez l’AIBOM à des outils de sécurité adaptés à l’IA qui détectent les vulnérabilités propres à l’IA.
Intégration aux workflows de développement
Intégration CI/CD
Intégrez la génération d’AIBOM à votre pipeline de déploiement :
# GitHub Actions example
- name: Generate AIBOM
run: snyk aibom --experimental --json > artifacts/aibom.json
- name: Archive AIBOM
uses: actions/upload-artifact@v3
with:
name: aibom
path: artifacts/aibom.jsonAmélioration de la revue de code
Tirez parti des informations de l’AIBOM pour améliorer vos processus de revue de code IA. Comprendre les dépendances IA aide les réviseurs à évaluer les implications plus larges des modifications du code.
Évaluation des risques
L’analyse régulière de l’AIBOM aide à repérer :
Les risques de concentration (dépendance excessive à un seul fournisseur d’IA)
Les problèmes de compatibilité des licences
Les modèles obsolètes ou en fin de vie
Les implications en matière de performances et de coûts
L’avenir de la gestion des dépendances IA
À mesure que l’IA évolue, la gestion des dépendances devient de plus en plus complexe. Nous voyons déjà apparaître :
Des modèles multimodaux qui combinent le traitement du texte, des images et de l’audio
Des systèmes d’apprentissage fédéré avec des dépendances distribuées
Des déploiements d’IA en périphérie nécessitant des pipelines d’optimisation des modèles
L’atténuation des hallucinations de l’IA, qui nécessite des stratégies d’ensemble de modèles
L’AIBOM fournit les bases nécessaires pour gérer cette complexité et donne aux développeurs Python la visibilité indispensable à la création d’applications d’IA sécurisées et fiables.
Les exemples de GroundingDINO et d’OpenHands montrent que même des projets d’IA relativement ciblés peuvent présenter des graphes de dépendances IA étonnamment complexes. À mesure que vos projets prennent de l’ampleur et intègrent davantage de fonctionnalités d’IA, une visibilité claire sur ces dépendances devient essentielle pour préserver la sécurité, la conformité et la fiabilité opérationnelle.
Commencez dès aujourd’hui à générer des AIBOM pour vos projets Python avec l’outil expérimental de Snyk. Comprendre votre chaîne d’approvisionnement en IA est la première étape pour sécuriser le code généré par l’IA et créer des applications d’IA plus résilientes.
Prêt à cartographier vos dépendances IA ? Essayez l’outil AIBOM de Snyk et découvrez quels composants d’IA alimentent vos applications Python.
LIVRE BLANC
Que cache votre IA ?
Découvrez la gestion de la posture de sécurité de l’IA (AISPM) et sécurisez votre environnement d’IA de manière proactive.