In this article
Lista de materiales de IA (AIBOM) para desarrolladores de Python: mapea tus dependencias de IA con Snyk
A medida que la IA se integra cada vez más en las bases de código de Python, comprender tu cadena de suministro de IA se ha vuelto fundamental. Ya sea que desarrolles con los modelos GPT de OpenAI, integres transformers de Hugging Face o implementes sistemas de visión artificial, tus aplicaciones ahora dependen de complejas redes de modelos de IA, conjuntos de datos y servicios que pueden introducir nuevos riesgos de seguridad y cumplimiento.
Aquí entra en juego la lista de materiales de IA (AIBOM) o lista de materiales de aprendizaje automático (MLBOM): una forma estandarizada de catalogar y rastrear los componentes de IA de tus aplicaciones. La nueva herramienta experimental AIBOM de Snyk facilita esta visibilidad para los desarrolladores de Python, ya que detecta y cataloga automáticamente las dependencias de IA en sus proyectos.
¿Qué es una lista de materiales de IA?
Una lista de materiales de IA (AIBOM) amplía el concepto tradicional de lista de materiales de software (SBOM) para incluir componentes específicos de IA, como modelos de aprendizaje automático, conjuntos de datos, parámetros de entrenamiento e integraciones con servicios de IA. Piensa en ella como un inventario de todas las piezas de IA que impulsan tu aplicación.
Para los desarrolladores de Python, esto significa comprender no solo tus dependencias de pip, sino también:
A qué modelos de IA hace referencia tu código
Qué servicios y API externos de IA se utilizan
Qué conjuntos de datos se usan para el entrenamiento o la inferencia
Las versiones de los modelos y la información sobre su procedencia
Las implicaciones de licencia de los conjuntos de datos y las arquitecturas de modelos
Ejemplos reales de AIBOM: de la visión artificial a los agentes de 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.Veamos dos ejemplos interesantes que muestran cómo funciona AIBOM en proyectos reales de Python.
Ejemplo 1: GroundingDINO: canalización de visión artificial

GroundingDINO es un sofisticado proyecto de visión artificial que combina la detección de objetos con la comprensión del lenguaje natural. Al ejecutar la herramienta AIBOM de Snyk, se revela un panorama fascinante de dependencias:
Modelos de IA detectados:
bert-base-uncasedyroberta-basepara el procesamiento del lenguajeVariantes de ResNet (
resnet18,resnet50,resnet101) para extraer características de imágenesConjuntos de datos de entrenamiento, como
bookcorpusywikipedia
Bibliotecas clave de Python:
torchytorchvisionpara la infraestructura de aprendizaje profundotransformerspara integrar modelos de PLNtimmpara implementaciones de modelos de imágenesgradiopara demostraciones interactivas
Este resultado de AIBOM revela de inmediato la naturaleza multimodal del proyecto y destaca posibles motivos de preocupación, como la dependencia de versiones específicas de modelos que podrían tener vulnerabilidades conocidas o restricciones de licencia.
Ejemplo 2: OpenHands: marco de agentes de IA

OpenHands presenta un ecosistema de IA aún más complejo. AIBOM revela un catálogo completo de modelos de lenguaje grandes y servicios de IA.
Amplio portafolio de modelos
Incluye, entre otros…
Familia Claude completa:
claude-3-5-sonnet-20241022,claude-opus-4-20250514,claude-sonnet-4-20250514Modelos de OpenAI:
gpt-4o,gpt-4-turbo,o1-preview,whisper-1Serie Google Gemini:
gemini-2.5-pro,gemini-2.0-flash-expMistral AI:
devstral-small-2505Cohere:
command
Integraciones de servicios:
Puntos de conexión directos de la API de OpenAI
Integración con Hugging Face Hub
Varias bibliotecas de inferencia de modelos (
vllm,openai)
Este AIBOM demuestra cómo las aplicaciones de IA modernas suelen integrar varios proveedores de modelos y servicios, lo que genera complejas redes de dependencias que las herramientas tradicionales de análisis de dependencias podrían pasar por alto.
Por qué los desarrolladores de Python necesitan visibilidad de AIBOM
La riqueza del ecosistema de IA de Python lo hace particularmente propenso a tener dependencias de IA ocultas. Considera estos escenarios:
Dependencias de modelos ocultas
Tu código podría hacer referencia a modelos de forma indirecta mediante llamadas a bibliotecas:
from transformers import pipeline
classifier = pipeline("sentiment-analysis") # Downloads default modelEste código aparentemente sencillo en realidad descarga y usa una versión específica de un modelo, lo que crea una dependencia no documentada.
Riesgos de integración con servicios
Las integraciones con servicios de IA generan dependencias externas:
import openai
response = openai.ChatCompletion.create(model="gpt-4")Cada llamada al servicio representa una dependencia de infraestructura externa de IA con sus propias consideraciones de seguridad.
Problemas de procedencia de los modelos
Comprender el origen de tus modelos de IA es fundamental para una adopción segura de la IA. Los modelos entrenados con conjuntos de datos desconocidos o con licencias poco claras pueden introducir riesgos legales y de seguridad.
Comienza a usar la herramienta AIBOM de Snyk
La herramienta AIBOM de Snyk detecta automáticamente dependencias en proyectos de Python. Así puedes usarla:
# 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.htmlLa herramienta realiza un análisis estático del código para identificar:
Referencias a modelos en tu código Python
Importaciones de bibliotecas de IA y patrones de uso
Configuraciones de puntos de conexión de servicios
Información de las fichas de modelos y metadatos
Implicaciones de seguridad de las dependencias de IA
Los componentes de IA introducen vectores de ataque únicos que los análisis tradicionales de vulnerabilidades podrían pasar por alto:
Riesgos de envenenamiento de modelos
Los ataques de IA pueden dirigirse directamente a los modelos. Saber qué modelos usa tu aplicación ayuda a evaluar la exposición a vulnerabilidades específicas de cada modelo.
Riesgos de exposición de datos
Los modelos de IA pueden exponer inadvertidamente datos de entrenamiento mediante ataques de inversión de modelos. Conocer la procedencia de tus modelos ayuda a evaluar estos riesgos.
Ataques a la cadena de suministro
Al igual que las dependencias tradicionales, los modelos y servicios de IA pueden ser blanco de ataques a la cadena de suministro. El secuestro de agentes representa una nueva clase de amenazas específicas de los sistemas de IA.
Cumplimiento y licencias
Los modelos de IA suelen tener términos de licencia y restricciones de uso complejos. AIBOM ayuda a garantizar el cumplimiento de las licencias de los modelos y de los términos del servicio.
Prácticas recomendadas para gestionar dependencias de IA
1. Auditorías periódicas de AIBOM
Genera AIBOM periódicamente para rastrear los cambios en tus dependencias de IA:
# Run as part of CI/CD pipeline
snyk aibom --experimental --json | jq '.components[] | select(.type=="machine-learning-model")'2. Fijación de versiones de modelos
Al igual que con las dependencias tradicionales, fija las versiones de los modelos de 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. Monitoreo de actualizaciones de modelos
Rastrea cuándo se actualizan o dejan de ofrecerse los modelos. AIBOM ayuda a identificar cuáles requieren atención.
4. Implementación de análisis de seguridad específicos para IA
Combina AIBOM con herramientas de seguridad que reconocen la IA y entienden las vulnerabilidades específicas de la IA.
Integración con los flujos de trabajo de desarrollo
Integración con CI/CD
Incorpora la generación de AIBOM a tu canalización de implementación:
# 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.jsonMejora de la revisión de código
Usa la información de AIBOM para mejorar los procesos de revisión de código de IA. Comprender las dependencias de IA ayuda a quienes revisan el código a evaluar las implicaciones más amplias de los cambios.
Evaluación de riesgos
El análisis periódico de AIBOM ayuda a identificar:
Riesgo de concentración (dependencia excesiva de un solo proveedor de IA)
Problemas de compatibilidad de licencias
Modelos obsoletos o que llegaron al fin de su vida útil (EOL)
Implicaciones en el rendimiento y los costos
El futuro de la gestión de dependencias de IA
A medida que la IA siga evolucionando, la gestión de dependencias será cada vez más compleja. Ya estamos viendo:
Modelos multimodales que combinan el procesamiento de texto, imágenes y audio
Sistemas de aprendizaje federado con dependencias distribuidas
Implementaciones de IA en el borde que requieren canalizaciones de optimización de modelos
Mitigación de alucinaciones de IA que requiere estrategias de ensamblado de modelos
AIBOM sienta las bases para gestionar esta complejidad y ofrece a los desarrolladores de Python la visibilidad que necesitan para crear aplicaciones de IA seguras y confiables.
Los ejemplos de GroundingDINO y OpenHands demuestran que incluso los proyectos de IA relativamente acotados pueden tener grafos de dependencias de IA sorprendentemente complejos. A medida que tus proyectos crecen e incorporan más capacidades de IA, contar con una visión clara de estas dependencias se vuelve fundamental para mantener la seguridad, el cumplimiento y la confiabilidad operativa.
Empieza hoy mismo a generar AIBOM para tus proyectos de Python con la herramienta experimental de Snyk. Comprender tu cadena de suministro de IA es el primer paso para proteger el código generado por IA y crear aplicaciones de IA más resilientes.
¿Listo para mapear tus dependencias de IA? Prueba la herramienta AIBOM de Snyk y descubre qué componentes de IA impulsan tus aplicaciones de Python.
DOCUMENTO TÉCNICO
¿Qué amenazas acechan en tu IA?
Explora la gestión de la postura de seguridad de la IA (AISPM) y protege proactivamente tu stack de IA.