Libreria detectorScript di installazione dei pacchetti

Script di installazione dei pacchetti

Installa il pacchetto. Esegui lo script.

Vedi gli hook del ciclo di vita eseguibili prima di ignorarli in un manifest.

Vedi il problema. Comprendi il rilevamento.

Narrazione in inglese con sottotitoli.

Come viene trascurato

L'agente installa una dipendenza. Il manifest del pacchetto indica anche uno script che viene eseguito durante l'installazione. Quello che sembra una semplice configurazione può includere esecuzione di codice che merita una revisione separata.

Un progetto può usare hook di installazione per normali operazioni di build, ma può anche contenere un comando inatteso. L'aspetto importante è che lo script si trova nel manifest, dove può essere trascurato se si ispeziona solo il comando di installazione principale.

Cosa rileva ClawMetry

ClawMetry analizza il manifest del pacchetto nel workspace alla ricerca di hook del ciclo di vita di installazione supportati. Genera un avviso di esecuzione manifest e identifica l'hook. Lo scanner legge il file, non esegue il comando trovato.

La differenza che cambia il rilevamento

Esempio che innesca il rilevamento

postinstall: node build.js

Rilevamento di avviso

Confronto silenzioso

test: node build.js

Nessun rilevamento per questo detector.

Nell'esempio verificato, uno script postinstall che nomina un programma di build genera un avviso. Inserire lo stesso programma in un normale script di test lascia questo rilevatore silenzioso. La distinzione è quando il manifest indica che il programma verrà eseguito.

Ispeziona il risultato del detector
{
  "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"
  }
}
Scarica input e risultati completi (JSON)
Come è stato verificato l'esempio

Questi esempi valutano il detector pubblicato con dati di eventi creati o file di configurazione temporanei. I video illustrano tali comportamenti. Non sono registrazioni di agenti reali o dell'interfaccia del prodotto. Nessun comando negli esempi è stato eseguito.

Il risultato stabilisce il comportamento per questi input. Non stabilisce l'acquisizione in runtime, la prevenzione o una compromissione reale. Ispeziona il contratto sorgente fissato.

Cosa verificare dopo

Leggi il comando dell'hook e il programma che referenzia. Verifica se quel comportamento di installazione appartiene al progetto e se la fonte della dipendenza è affidabile. Se l'installazione è già avvenuta, esamina separatamente gli effetti reali prima di accettare l'ambiente.

  1. Leggi l'hook del ciclo di vita
  2. Ispeziona il programma referenziato
  3. Verifica il comportamento di installazione previsto

Cosa stabilisce questo segnale

Un hook di installazione non è automaticamente ostile. Questo rilevamento segnala la voce nel manifest, non la prova che l'installazione o l'esecuzione siano avvenute.

Tieni visibili i momenti importanti.

Segui l'attività degli agenti, ispeziona i rilevamenti e decidi cosa richiede la tua attenzione.