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.
- Leggi l'hook del ciclo di vita
- Ispeziona il programma referenziato
- 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.