SCA
Vigila el código que no escribiste: bibliotecas de terceros, versiones y vulnerabilidades conocidas.
Qué es
(Software Composition Analysis) inventaría las dependencias del proyecto, directas y transitivas, y cruza cada versión con bases públicas de vulnerabilidades (, GitHub Advisory, OSV) y con bases de licencias.
La premisa: la mayor parte del código de una aplicación moderna (frecuentemente 70 a 90%) viene de terceros. Tu superficie de riesgo incluye todo eso, aunque nadie del equipo haya escrito una línea de esas bibliotecas.
Un CVE de verdad: del lockfile a la alerta
El punto de partida es siempre un manifiesto o lockfile. Digamos que el proyecto depende de una versión antigua de lodash:
{ "dependencies": { "lodash": "4.17.15" } }El cruce con los advisories
El SCA toma cada componente+versión del lockfile y consulta las bases de vulnerabilidades. Para lodash 4.17.15, existe un advisory real y conocido:
{
"id": "CVE-2020-8203",
"package": "lodash",
"title": "Prototype pollution en zipObjectDeep",
"affected": "< 4.17.19",
"patched": "4.17.19",
"severity": "HIGH"
}Por qué la versión transitiva es la pesadilla
El caso se pone interesante cuando el paquete vulnerable ni siquiera está en tu package.json: entró como dependencia de una dependencia, tres niveles más abajo. Nunca elegiste ese lodash, pero está en tu artefacto corriendo en producción.
Aquí es donde el lockfile salva el día: registra el árbol completo, no solo lo que está en el manifiesto. Sin SCA y sin lockfile, la pregunta '¿usamos lodash 4.17.15?' no tiene una respuesta rápida ni en tu propio repositorio.
Cómo funciona, resumido
- lee manifiestos y lockfiles (package.json, package-lock, pom.xml, go.mod, requirements.txt)
- arma el árbol completo de dependencias, incluidas las transitivas
- asocia cada componente+versión con advisories publicados y puntúa la severidad (, , exploit conocido)
- abre PRs automáticos de actualización y genera el del artefacto
Dónde entra en el pipeline
En el PR y en el build, bloqueando nuevas dependencias críticas. Y de forma continua después del deploy: cada día aparece un nuevo contra una versión antigua; la herramienta monitorea el inventario y alerta (o abre un PR) cuando una dependencia ya usada se vuelve un riesgo.
Limitaciones
- solo conoce vulnerabilidades ya publicadas; un en una dependencia pasa
- no encuentra fallas en tu código: para eso existen y DAST
- sin una política de severidad, se vuelve una fábrica de alertas ignoradas
conexiones en el mapa
- SCAstage: buildCI/CD
- SCAgeneraSBOM
- Shift-leftanticipaSCA
actualizado el 14/10/2026 · fuentes para profundizar · reportar un error
en otros dominios
- Proteger al propio agentvibecodinguna dependencia inventada por el agente debe pasar por la misma verificación
- A03 Software Supply Chain Failuresowaspes lo que verifica el análisis de composición
- Containers - imágenes y cadena de suministrocloudsecalimenta: la imagen hereda las dependencias
Estudia antes
Desbloquea
pon a prueba lo que entendiste
Cargando preguntas…