Pular para o conteúdo

Socket - Folha de Dicas de Segurança da Cadeia de Suprimentos e Detecção de Pacotes Maliciosos

Socket - Folha de Dicas de Segurança da Cadeia de Suprimentos e Detecção de Pacotes Maliciosos

Socket é uma ferramenta de segurança de cadeia de suprimentos de software focada em detectar pacotes maliciosos behavioralmente em vez de apenas corresponder a CVEs conhecidos. Inspeciona o que uma dependência realmente faz — scripts de instalação, acesso à rede e sistema de arquivos, código ofuscado e outras capacidades arriscadas — para capturar typosquats e releases comprometidas que scanners baseados em assinatura perdem. Cobre ecossistemas incluindo npm, PyPI, Go, Maven e outros, e integra-se ao fluxo de trabalho do desenvolvedor através de CLI, app GitHub e CI.

Instalação

MétodoComando
npm (CLI)npm install -g @socketsecurity/cli
npx (sem instalação)npx @socketsecurity/cli --help
Homebrewbrew install socket
pip (Python CLI)pip install socketsecurity
App GitHubInstale o app Socket do GitHub Marketplace
Authsocket login (configure um token de API)

Comandos Principais da CLI

ComandoDescrição
socket scan create .Crie um novo scan de cadeia de suprimentos do projeto atual
socket scan listListe scans anteriores para a organização
socket scan view <ID>Visualize resultados de um scan específico
socket package score npm reactObtenha a pontuação de cadeia de suprimentos para um pacote
socket npm install <pkg>Wrapper em torno do npm que verifica pacotes antes de instalar
socket npx <pkg>npx seguro que valida o pacote primeiro
socket ciExecute um scan ajustado para CI (saída diferente de zero em problemas)
socket --helpReferência de comando completa

O Que o Socket Marca

Capacidade/SinalPor que importa
Scripts de instalaçãoHooks postinstall são um vetor malware comum
Acesso à redeConexões de saída inesperadas em instalação/tempo de execução
Acesso ao sistema de arquivosLeitura de caminhos sensíveis (chaves SSH, arquivos env)
Shell / process execGerminação de shells ou processos filhos
Código ofuscadoPayloads minificados/codificados ocultando comportamento
TyposquatsNomes que imitam pacotes populares
Telemetria / exfilPadrões de coleta de dados e exfiltração

Pontuações de Pacotes

# Inspecione uma única dependência antes de adicioná-la
socket package score npm left-pad
socket package score pypi requests

# Compare risco em um candidato vs uma alternativa
socket package score npm chalk

As pontuações resumem a cadeia de suprimentos, qualidade, manutenção e dimensões de vulnerabilidade para que você possa avaliar uma dependência rapidamente.

Integração de CI / GitHub

IntegraçãoComportamento
App GitHubComenta em PRs que introduzem mudanças de dependência arriscadas
socket ciFalha no pipeline quando um scan excede limites
Arquivo de configsocket.yml ajusta quais tipos de problemas bloqueiam vs avisam
Diff-awareFoca no que um PR adiciona, reduzindo ruído

Configuração (socket.yml)

version: 2
issueRules:
  installScripts: error
  networkAccess: warn
  telemetry: warn
  obfuscatedCode: error
CampoPropósito
issueRulesDefina cada capacidade/problema como error, warn ou ignore
projectIgnorePathsExclua caminhos da varredura

Fluxos de Trabalho Comuns

# Valide uma dependência antes de ela entrar em package.json
socket npm install some-package

# Controle um pull request em CI
socket ci

# Audite a árvore de dependência completa de um repo existente
socket scan create . && socket scan list

Socket vs SCA Tradicional

AspectoSocketSCA Tradicional (por exemplo, matchers CVE)
Sinal primárioComportamento/capacidadesCorrespondências de banco de dados CVE conhecido
Captura malware zero-daySim (comportamental)Não (precisa de um CVE conhecido)
Detecção de typosquatSimLimitado
Melhor pareado comSyft/Grype, SigstoreSocket para cobertura de malware

Recursos