Ir al contenido

Socket - Hoja de Referencia de Detección de Cadena de Suministro y Paquetes Maliciosos

Socket - Hoja de Referencia de Detección de Cadena de Suministro y Paquetes Maliciosos

Socket es una herramienta de seguridad de cadena de suministro de software enfocada en detectar paquetes maliciosos conductualmente en lugar de solo hacer coincidir CVEs conocidos. Inspecciona lo que una dependencia realmente hace — scripts de instalación, acceso a red y sistema de archivos, código ofuscado y otras capacidades riesgosas — para capturar typosquats y versiones comprometidas que los escáneres basados en firmas pierden. Cubre ecosistemas incluyendo npm, PyPI, Go, Maven y otros, e se integra en el flujo de trabajo del desarrollador via CLI, app de GitHub y CI.

Instalación

MétodoComando
npm (CLI)npm install -g @socketsecurity/cli
npx (sin instalación)npx @socketsecurity/cli --help
Homebrewbrew install socket
pip (CLI de Python)pip install socketsecurity
App de GitHubInstala la app Socket desde GitHub Marketplace
Autenticaciónsocket login (configura un token API)

Comandos CLI Principales

ComandoDescripción
socket scan create .Crea un nuevo escaneo de cadena de suministro del proyecto actual
socket scan listEnumera escaneos anteriores de la organización
socket scan view <ID>Ve resultados de un escaneo específico
socket package score npm reactObtiene la puntuación de cadena de suministro para un paquete
socket npm install <pkg>Envoltorio alrededor de npm que verifica paquetes antes de instalar
socket npx <pkg>npx seguro que evalúa el paquete primero
socket ciEjecuta un escaneo adaptado para CI (salida no cero en problemas)
socket --helpReferencia de comando completa

Lo que Socket Detecta

Capacidad/SeñalPor qué importa
Scripts de instalaciónLos hooks postinstall son un vector de malware común
Acceso a redConexiones salientes inesperadas en instalación/tiempo de ejecución
Acceso al sistema de archivosLectura de rutas sensibles (claves SSH, archivos env)
Shell / ejecución de procesosGeneración de shells o procesos secundarios
Código ofuscadoPayloads minificados/codificados que ocultan comportamiento
TyposquatsNombres que imitan paquetes populares
Telemetría / exfiltraciónPatrones de recopilación de datos y exfiltración

Puntuaciones de Paquetes

# Inspecciona una dependencia única antes de añadirla
socket package score npm left-pad
socket package score pypi requests

# Compara riesgo en un candidato vs una alternativa
socket package score npm chalk

Las puntuaciones resumen el riesgo de cadena de suministro, calidad, mantenimiento y dimensiones de vulnerabilidad para que puedas evaluar una dependencia rápidamente.

Integración con CI / GitHub

IntegraciónComportamiento
App de GitHubComenta en PRs que introducen cambios de dependencia riesgosos
socket ciFalla el pipeline cuando un escaneo excede umbrales
Archivo de configuraciónsocket.yml ajusta qué tipos de problema bloquean vs advierten
Consciente de diffsSe enfoca en lo que un PR añade, reduciendo ruido

Configuración (socket.yml)

version: 2
issueRules:
  installScripts: error
  networkAccess: warn
  telemetry: warn
  obfuscatedCode: error
CampoPropósito
issueRulesEstablece cada capacidad/problema en error, warn o ignore
projectIgnorePathsExcluye rutas del escaneo

Flujos de Trabajo Comunes

# Evalúa una dependencia antes de que entre en package.json
socket npm install some-package

# Controla un pull request en CI
socket ci

# Audita el árbol de dependencias completo de un repo existente
socket scan create . && socket scan list

Socket vs SCA Tradicional

AspectoSocketSCA Tradicional (ej. CVE matchers)
Señal primariaComportamiento/capacidadesCoincidencias de base de datos CVE conocida
Captura malware zero-daySí (conductualmente)No (requiere CVE conocido)
Detección de typosquatLimitada
Mejor emparejado conSyft/Grype, SigstoreSocket para cobertura de malware

Recursos