Vodič · AI agenti · · autor Stefan Tsezarov
Dajte svom agentu drugo mišljenje prije nego što djeluje
Tražite od svog agenta za kodiranje da popravi izgradnju. Čita README, provjerava nit problema i pronalazi prijedlog:
Uvjerljivo rješenje. Jedna mala promjena. The agent prepares the install command.
Ali ta crtica koja nedostaje je važna. crossenv was a real malicious package, removed from npm in 2017 after it was found stealing environment variables—the place developers often keep keys and tokens.
The exchange above is an example. Paket nije bio.
01 Kada prijedlog postane naredba
Agenti za kodiranje čitaju dosta teksta koji možda nikada nećete vidjeti: dokumentaciju, komentare problema, web stranice i poruke o greškama. That context helps them solve problems. Također ih može usmjeriti prema lošoj ovisnosti.
Instaliranje paketa zaslužuje posebnu pozornost. Paketi npm mogu sadržavati skripte koje se pokreću tijekom instalacije, tako da se kôd može izvršiti prije nego što ste ga imali priliku pregledati.
SaveSaveSaveSave-ov štitnik za predinstalaciju dodaje provjeru u toj točki. Prije pokretanja podržane instalacijske naredbe, ona traži paket i primjenjuje pravilo koje ste odabrali.
02 Što se događa s instalacijom?
Razmotrite tri naredbe koje agent može predložiti.
A registry package that raises no flags
npm install cross-env
Stražar dopušta nastavak naredbe. Vaš uobičajeni upit za odobrenje i dalje vrijedi. To znači da provjere nisu našle razloga za prigovor; to nije jamstvo da je paket siguran.
Paket je prijavljen kao zlonamjeran
cd app && npm install --save-dev crossenv
Čuvar odbija naredbu i kaže agentu zašto. Prepoznaje instalaciju čak i kada slijedi drugu naredbu.
Kod preuzet izravno s GitHuba
npx github:someone/setup-script
U zadanom načinu rada, čuvar traži ljudski pregled. Git URL ne provjerava npm registar pa ne može dati istu procjenu.
Podržane naredbe uključuju instalacije putem npm, pnpm, yarn i bun, uz npx, npm ci, lance naredbi pomoću && i naredbe umotane u bash -c "…".
03 Vi birate pravila
Skeniranje pruža dokaze: što je provjerilo, što je pronašlo i što nije moglo procijeniti. Pravila koja se izvode na vašem računalu određuju što će se sljedeće dogoditi.
Choose one of three modes:
| Način | Reported malicious | Caution or insufficient data | Provjera nije uspjela ili je izvor izvan registra |
|---|---|---|---|
| observe | Dopusti i prijavi | Dopusti | Dopusti |
| guard · default | Deny | Ask a human | Ask a human |
| strict | Deny | Deny | Deny |
Upotrijebite promatrajte da vidite kako se štitnik ponaša u vašem tijeku rada. Odaberite čuvar za blokiranje poznatih zlonamjernih paketa i pregled neizvjesnih slučajeva. Odaberite strogi kada neuvjerljivi rezultat treba zaustaviti instalaciju.
Čisti rezultat nikada ne uklanja odobrenje koje bi vaš agent inače zahtijevao.
04 Dodajte u svoj tijek rada
Za Claude Code, dodajte ovu kuku u svoj projekt .claude/settings.json. Ako datoteka već sadrži postavke, spojite kuku u njih.
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "npx -y savesavesavesave@0.1.5 hook claude-code --mode observe"
}
]
}
]
}
}
The hook checks proposed Bash commands. Prolaze naredbe bez prepoznate instalacije.
Za drugog agenta ili skriptu, stavite čuvar ispred instalacijske naredbe:
npx savesavesavesave@0.1.5 guard --mode guard -- npm install some-package
Njegovi izlazni kodovi govore vašoj integraciji kako nastaviti:
0: allow1: zatražite ljudski pregled2: deny
Vaša integracija mora poštovati te rezultate.
Agenti s MCP podrškom također mogu izravno zahtijevati provjere. Upute za postavljanje klijenta nalaze se na stranici Za agente .
No account or API key is required. Primjeri prikvačuju verziju kako biste mogli pregledati određeno izdanje prije nego što ga upotrijebite.
05 Saznajte što pokriva provjera
Čuvar čita informacije objavljene u registru npm i OSV.dev. Ne preuzima niti izvršava paket i trenutačno pokriva pakete npm, a ne ekosustave kao što su PyPI ili crates.io.
That leaves a few practical limits:
- Provjerava podržane naredbe koje prima. Instalacije skrivene unutar skriptnih datoteka, nepodržani upravitelji paketa ili preuzete binarne datoteke mogu biti izvan njegovog prikaza. Jača ograničenja zahtijevaju kontrolu agentove mreže i pristupa datotečnom sustavu.
- An unreported threat can pass. "Nema prigovora" znači da dostupne provjere nisu otkrile poznati rizik.
- Priključak se mora pokrenuti da bi politika radila. Ako koristite strogi način rada, slijedite upute paketa README za blokiranje naredbi kada se sama kuka ne pokrene.
A coding agent can fix a build quickly. Također može brzo djelovati na uvjerljiv prijedlog nekoga koga ne poznajete.
Prije nego što taj prijedlog dobije pristup vašem računalu, dajte mu drugo mišljenje.
Vaš sljedeći korak: dodajte kuku u modu promatranja, pregledajte njene rezultate i odaberite politiku koja odgovara vašem tijeku rada.