Biblioteca de detectoresScripts de instalação de pacotes

Scripts de instalação de pacotes

Instale o pacote. Execute o seu script.

Veja hooks de ciclo de vida executáveis antes de os ignorar num manifesto.

Veja o problema. Entenda o resultado.

Narração em inglês com legendas.

Como passa despercebido

O seu agente instala uma dependência. O manifesto do pacote também especifica um script que é executado durante a instalação. O que parece ser apenas configuração pode incluir execução de código que merece revisão própria.

Um projeto pode usar hooks de instalação para etapas de construção perfeitamente comuns. Pode também conter um comando inesperado. O ponto importante é que o script está no manifesto, onde pode passar despercebido se inspecionar apenas o comando de instalação de nível superior.

O que o ClawMetry deteta

O ClawMetry analisa o manifesto do pacote do workspace em busca de hooks de ciclo de vida de instalação suportados. Gera um aviso de execução de manifesto do pacote e identifica o hook. O analisador lê o ficheiro; não executa o comando que encontra.

A diferença que muda o resultado

Exemplo de acionamento

postinstall: node build.js

Descoberta de aviso

Comparação silenciosa

test: node build.js

Sem resultado para este detetor.

O exemplo verificado tem um script postinstall que referencia um programa de construção e gera um aviso. Coloque o mesmo programa num script de test comum e este detetor fica silencioso. A distinção está em quando o manifesto indica que o programa será executado.

Inspecionar o resultado do detetor
{
  "kind": "package_manifest_exec",
  "severity": "warning",
  "evidence": {
    "hooks": [
      "postinstall"
    ],
    "hits": [
      {
        "hook": "postinstall",
        "command": "node build.js",
        "tool": null,
        "alarm": null
      }
    ],
    "manifest": "package.json",
    "tools": [],
    "observed": "package_manifest"
  }
}
Descarregar entradas e resultados completos (JSON)
Como o exemplo foi verificado

Estes exemplos avaliam o detetor publicado com dados de eventos criados ou ficheiros de configuração descartáveis. Os vídeos ilustram esses comportamentos. Não são gravações de agentes reais ou da interface do produto. Nenhum comando nos exemplos foi executado.

O resultado estabelece o comportamento para estas entradas. Não estabelece ingestão em runtime, prevenção ou um compromisso real. Inspecionar o contrato de fonte fixado.

O que verificar a seguir

Leia o comando do hook e o programa que referencia. Verifique se esse comportamento de instalação pertence ao projeto e se a fonte da dependência é confiável. Se a instalação já ocorreu, reveja os efeitos reais separadamente antes de aceitar o ambiente.

  1. Ler o hook de ciclo de vida
  2. Inspecionar o programa referenciado
  3. Rever o comportamento esperado na instalação

O que este sinal estabelece

Um hook de instalação não é automaticamente hostil. Esta descoberta reporta a entrada no manifesto, não prova que a instalação ou execução ocorreu.

Mantenha os momentos importantes visíveis.

Acompanhe a atividade do agente, inspecione os resultados e decida o que precisa da sua atenção.