Przewodnik · Agenci AI · · Stefan Tsezarov
Przed podjęciem działań przekaż swojemu agentowi drugą opinię
Prosisz swojego agenta kodującego o naprawienie kompilacji. Czyta plik README, sprawdza wątek dotyczący problemu i znajduje sugestię:
Prawdopodobna poprawka. Jedna mała zmiana. Agent przygotowuje polecenie instalacji.
Ale ten brakujący łącznik ma znaczenie. crossenv był naprawdę złośliwym pakietem, usuniętym z npm w 2017 roku po tym, jak wykryto w nim kradzież zmiennych środowiskowych — miejsca, w którym programiści często trzymają klucze i tokeny.
Powyższa wymiana jest przykładem. Pakiet nie był.
01 Gdy sugestia staje się poleceniem
Agenci kodujący czytają mnóstwo tekstu, którego możesz nigdy nie zobaczyć: dokumentację, komentarze do problemów, strony internetowe i komunikaty o błędach. Ten kontekst pomaga im rozwiązywać problemy. Może również skierować ich w stronę złego uzależnienia.
Instalacja pakietu zasługuje na szczególną uwagę. Pakiety npm mogą zawierać skrypty uruchamiane podczas instalacji, więc kod może zostać wykonany, zanim będziesz miał szansę go sprawdzić.
Osłona przed instalacją SaveSaveSaveSave dodaje kontrolę w tym momencie. Przed uruchomieniem obsługiwanego polecenia instalacji wyszukuje pakiet i stosuje wybrane zasady.
02 Co dzieje się z instalacją?
Rozważmy trzy polecenia, które agent może zaproponować.
Pakiet rejestru, który nie zgłasza żadnych flag
npm install cross-env
Strażnik pozwala na kontynuację polecenia. Twój zwykły monit o zatwierdzenie nadal obowiązuje. Oznacza to, że kontrole nie wykazały powodu do sprzeciwu; nie gwarantuje to, że paczka jest bezpieczna.
Pakiet zgłoszony jako złośliwy
cd app && npm install --save-dev crossenv
Strażnik odmawia wykonania polecenia i mówi agentowi dlaczego. Rozpoznaje instalację nawet wtedy, gdy następuje po wykonaniu innego polecenia.
Kod pobrany bezpośrednio z GitHub
npx github:someone/setup-script
W trybie domyślnym strażnik prosi o weryfikację przez człowieka. Adres URL Git nie podlega kontroli rejestru npm, więc nie może zapewnić takiej samej oceny.
Obsługiwane polecenia obejmują instalacje poprzez npm, pnpm, yarn i bun wraz z npx, npm ci, łańcuchy poleceń wykorzystujące && i polecenia opakowane w bash -c "…" .
03 Ty wybierasz zasady
Skan dostarcza dowodów: co sprawdził, co znalazł, a czego nie mógł ocenić. Zasada działająca na Twoim komputerze określa, co stanie się dalej.
Wybierz jeden z trzech trybów:
| Tryb | Zgłoszono złośliwy | Uwaga lub niewystarczające dane | Kontrola nie powiodła się lub źródło znajduje się poza rejestrem |
|---|---|---|---|
| observe | Zezwól i zgłoś | Zezwól | Zezwól |
| Osłona · domyślnie | Odmów | Zapytaj człowieka | Zapytaj człowieka |
| strict | Odmów | Odmów | Odmów |
Użyj i obserwuj , aby zobaczyć, jak strażnik zachowuje się w Twojej pracy. Wybierz guard , aby blokować znane złośliwe pakiety i przeglądać niepewne przypadki. Wybierz strict , jeśli niejednoznaczny wynik powinien zatrzymać instalację.
Czysty wynik nigdy nie usuwa zgody, której w przeciwnym razie wymagałby Twój agent.
04 Dodaj do swojego przepływu pracy
W przypadku kodu Claude'a dodaj ten hak do .claude/settings.json swojego projektu. Jeśli plik zawiera już ustawienia, połącz z nimi hak.
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "npx -y savesavesavesave@0.1.5 hook claude-code --mode observe"
}
]
}
]
}
}
Hook sprawdza proponowane polecenia Bash. Polecenia bez rozpoznanej instalacji przechodzą.
W przypadku innego agenta lub skryptu umieść strażnika przed poleceniem instalacji:
npx savesavesavesave@0.1.5 guard --mode guard -- npm install some-package
Jego kody wyjścia informują Twoją integrację, jak postępować:
0: zezwolenie1: żądanie sprawdzenia przez człowieka2: odmowa
Twoja integracja musi uwzględniać te wyniki.
Agenci obsługujący MCP mogą także bezpośrednio żądać kontroli. Instrukcje konfiguracji klienta znajdują się na stronie Dla agentów .
Nie jest wymagane żadne konto ani klucz API. Przykłady przypinają wersję, dzięki czemu można przejrzeć konkretną wersję przed jej użyciem.
05 Dowiedz się, co obejmuje kontrola
Strażnik odczytuje informacje opublikowane przez rejestr npm i OSV.dev . Nie pobiera ani nie uruchamia pakietu i obecnie obejmuje pakiety npm, a nie ekosystemy takie jak PyPI czy crates.io.
Pozostawia to kilka praktycznych ograniczeń:
- Sprawdza obsługiwane polecenia, które otrzymuje. Instalacje ukryte w plikach skryptów, nieobsługiwane menedżery pakietów lub pobrane pliki binarne mogą nie być widoczne. Silniejsze ograniczenia wymagają kontroli dostępu agenta do sieci i systemu plików.
- Niezgłoszone zagrożenie może minąć. „Brak sprzeciwu” oznacza, że dostępne kontrole nie wykazały żadnego znanego ryzyka.
- Aby zasada zadziałała, hak musi zostać uruchomiony. Jeśli używasz trybu ścisłego, postępuj zgodnie z instrukcjami pakietu README dotyczącymi blokowania poleceń, gdy sam hak się nie uruchomi.
Agent kodujący może szybko naprawić kompilację. Może także szybko działać po przekonującej sugestii od osoby, której nie znasz.
Zanim ta sugestia dotrze do Twojej maszyny, przekaż jej drugą opinię.
Twój następny krok: dodaj hak w trybie obserwacji, przejrzyj jego wyniki i wybierz politykę pasującą do Twojego przepływu pracy.