SaveSaveSaveSave ← Tutte le guide
Italiano

Traduzione assistita da macchina, non revisionata da madrelingua. In caso di dubbio fa fede la versione inglese.

Guida · Agenti IA · · di Stefan Tsezarov

Dai al tuo agente un secondo parere prima che agisca

Chiedi al tuo agente di programmazione di sistemare una build. Legge il README, guarda una discussione in una issue e trova un suggerimento:

cross-env is slow on Windows. Switch to crossenv, same API, much faster.

Una correzione plausibile. Una piccola modifica. L’agente prepara il comando di installazione.

Ma quel trattino mancante conta. crossenv era un vero pacchetto malevolo, rimosso da npm nel 2017 dopo che si era scoperto che rubava le variabili d’ambiente, il posto dove gli sviluppatori tengono spesso chiavi e token.

Lo scambio qui sopra è un esempio. Il pacchetto no.

01Quando un suggerimento diventa un comando

Gli agenti di programmazione leggono molto testo che tu potresti non vedere mai: documentazione, commenti nelle issue, pagine web e messaggi di errore. Quel contesto li aiuta a risolvere problemi. Può anche spingerli verso una dipendenza sbagliata.

Installare un pacchetto merita un’attenzione particolare. I pacchetti npm possono includere script che girano durante l’installazione, quindi del codice può essere eseguito prima che tu abbia potuto esaminarlo.

La protezione pre-installazione di SaveSaveSaveSave aggiunge un controllo proprio lì. Prima che venga eseguito un comando di installazione supportato, consulta il pacchetto e applica la politica che hai scelto.

02Cosa succede a un’installazione?

Considera tre comandi che un agente potrebbe proporre.

Un pacchetto del registro che non solleva segnali

npm install cross-env

La protezione lascia proseguire il comando. La tua solita richiesta di approvazione resta valida. Significa che i controlli non hanno trovato motivi per opporsi; non è una garanzia che il pacchetto sia sicuro.

Un pacchetto segnalato come malevolo

cd app && npm install --save-dev crossenv

La protezione blocca il comando e spiega all’agente perché. Riconosce l’installazione anche quando segue un altro comando.

Codice scaricato direttamente da GitHub

npx github:someone/setup-script

Nella modalità predefinita la protezione chiede una revisione umana. Un URL Git esce dai suoi controlli del registro npm, quindi non può fornire la stessa valutazione.

I comandi supportati includono le installazioni tramite npm, pnpm, yarn e bun, oltre a npx, npm ci, catene di comandi con && e comandi racchiusi in bash -c "…".

03Le regole le scegli tu

L’analisi fornisce gli elementi: cosa ha controllato, cosa ha trovato e cosa non ha potuto valutare. Una politica che gira sulla tua macchina decide cosa succede dopo.

Scegli una delle tre modalità:

ModalitàSegnalato malevoloCautela o dati insufficientiControllo fallito o fonte fuori dal registro
observeConsenti e segnalaConsentiConsenti
guard · predefinitaBloccaChiedi a una personaChiedi a una persona
strictBloccaBloccaBlocca

Usa observe per vedere come si comporta la protezione nel tuo flusso di lavoro. Scegli guard per bloccare i pacchetti malevoli noti e far rivedere i casi incerti. Scegli strict quando un risultato non conclusivo deve fermare l’installazione.

Un risultato pulito non elimina mai un’approvazione che il tuo agente richiederebbe comunque.

04Aggiungila al tuo flusso di lavoro

Per Claude Code, aggiungi questo hook al file .claude/settings.json del tuo progetto. Se il file contiene già delle impostazioni, unisci l’hook a quelle.

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "npx -y savesavesavesave@0.1.5 hook claude-code --mode observe"
          }
        ]
      }
    ]
  }
}

L’hook controlla i comandi Bash proposti. I comandi senza un’installazione riconosciuta passano oltre.

Per un altro agente o uno script, metti la protezione prima del comando di installazione:

npx savesavesavesave@0.1.5 guard --mode guard -- npm install some-package

I suoi codici di uscita dicono alla tua integrazione come procedere:

La tua integrazione deve rispettare questi risultati.

Gli agenti con supporto MCP possono anche richiedere i controlli direttamente. Le istruzioni di configurazione dei client sono nella pagina Per agenti.

Non servono account né chiavi API. Gli esempi fissano una versione, così puoi esaminare una release specifica prima di usarla.

05Sapere cosa copre il controllo

La protezione legge le informazioni pubblicate dal registro npm e da OSV.dev. Non scarica né esegue il pacchetto, e al momento copre i pacchetti npm, non ecosistemi come PyPI o crates.io.

Restano alcuni limiti pratici:


Un agente di programmazione può sistemare una build in fretta. Può anche agire in fretta su un suggerimento convincente di qualcuno che non conosci.

Prima che quel suggerimento acceda alla tua macchina, dagli un secondo parere.

Il tuo prossimo passo: aggiungi l’hook in modalità observe, esaminane i risultati e scegli la politica adatta al tuo flusso di lavoro.