>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
TypeScript

Jak znaleźć podatności w kodzie za pomocą agentów AI bez wydawania fortuny

Niedawno natknąłem się na deepsec od ludzi z Vercel Labs. Pomysł mnie zainteresował: programiści proponują wykorzystanie agentów AI do głębokiego skanowania bezpieczeństwa repozytoriów. W przeciwieństwie do klasycznych statycznych analizatorów (SAST), które często zasypują cię fałszywymi alarmami, to narzędzie wprowadza „inteligentne" wyszukiwanie.

Problem z starszymi narzędziami polega na tym, że wykrywają wzorce, ale tracą kontekst. Deepsec próbuje to naprawić.

Co to właściwie jest

Essencjonalnie to wrapper do zarządzania skanowaniami. System nie tylko szuka niebezpiecznych fragmentów kodu za pomocą wzorców regex — przekazuje podejrzane obszary do modeli językowych na analizę. Twórcy uczciwie ostrzegają, że skanowanie dużego repozytorium na pełnej intensywności może być kosztowne. W README wspominają o kosztach sięgających tysięcy, a nawet dziesiątek tysięcy dolarów.

Te liczby są zniechęcające, ale rozumowanie Vercel jest proste: jeden przeoczony krytyczny błąd w produkcji może kosztować firmę znacznie więcej.

Jak działa proces

Narzędzie działa etapowo. Najpierw przeprowadzany jest szybki przebieg bez sieci neuronowych — polecenie scan po prostu identyfikuje potencjalnie problematyczne obszary za pomocą matcherów. Ta faza nic nie kosztuje.

Prawdziwa magia dzieje się przy poleceniu process. Wtedy przejmują agenci. Pobierają wyniki z pierwszego etapu i zaczynają je rozwikływać. Agent określa, czy faktycznie mamy do czynienia z podatnością, czy to fałszywy alarm. W przypadku ogromnych projektów wykonanie może być rozproszone między pracowników.

Funkcje, które mi się spodobały

Deepsec ma kilka decyzji architektonicznych, które zdradzają doświadczonych inżynierów za nim stojących.

Po pierwsze, system może wznowić pracę od miejsca, w którym się zatrzymał. Jeśli połączenie internetowe się zerwie lub skończą się środki na saldzie API OpenAI/Anthropic, nie musisz zaczynać od nowa. Stan jest zapisywany lokalnie w folderze .deepsec.

Po drugie, istnieje mechanizm ponownej walidacji. Polecenie revalidate sprawdza historię Git: jeśli już naprawiłeś podatność, narzędzie to zauważy i nie zgłosi jej ponownie.

Po trzecie, jest świadomość kontekstowa. Zamiast przekazywać całe repozytorium do modelu (co byłoby niebotycznie drogie i nieefektywne), deepsec prosi o przygotowanie zwięzłego briefu projektowego — plik INFO.md. Opisujesz szczegóły: jak działa autoryzacja, jakie middleware jest używane, gdzie znajdują się konfiguracje. To pomaga agentowi unikać oczywistych pytań i zmniejsza błędy.

Jak uruchomić to samodzielnie

Aby rozpocząć, wystarczy standardowe npx:

npx deepsec init
cd .deepsec
pnpm install

Następnie skonfiguruj klucze dostępu. Zespół zaleca korzystanie z Vercel AI Gateway, ale możesz też przekazać bezpośrednie tokeny Anthropic lub OpenAI. Kluczowe jest, aby pamiętać o limitach. Standardowa subskrypcja Claude Pro nie wystarczy do pełnego skanowania — od razu zaplanuj budżet na dostęp do API.

Do sprawdzania zmian w konkretnym pull requeście jest wygodna flaga:

pnpm deepsec process --diff

To oszczędza sporo czasu i pieniędzy, ponieważ analizowane są tylko zmodyfikowane pliki.

Strona techniczna i bezpieczeństwo

Warto zauważyć, że deepsec sam ma dostęp do powłoki. Uruchamiasz kod, który kontroluje agenta z prawami do wykonywania poleceń. Aby uniknąć trafienia na złośliwy kod w zależnościach projektu, istnieje tryb Vercel Sandbox. W tym przypadku praca odbywa się w izolowanych mikromaszynach wirtualnych, a klucze API pozostają na zewnątrz i nie mogą zostać skradzione.

Dla kogo to jest

W przypadku małych projektów hobbystycznych deepsec to przesada. Ale jeśli pracujesz w przedsiębiorstwie z ogromnymi repozytoriami legacy, gdzie bezpieczeństwo jest ważniejsze niż oszczędzanie kilkuset dolarów na tokenach, warto wypróbować. Szczególnie dobrze radzi sobie z znajdowaniem logicznych błędów w uwierzytelnianiu czy złożonych łańcuchów podatności, których zwykły linter nigdy by nie wykrył.

Czy powinieneś się spieszyć z wdrożeniem tego w każdym pipeline CI/CD? Prawdopodobnie nie. Ale jako narzędzie do okresowych głębokich audytów repozytorium, wygląda na bardzo rozsądne podejście do AppSec w 2024 roku.

Powiązane projekty