CodeAuditAgent

Od adresu repozytorium do scalonej poprawki.

Cztery kroki, z których większość dzieje się, gdy robisz sobie kawę.

  1. 01

    Połącz

    Zaloguj się przez GitHub. Prosimy tylko o Twój publiczny profil i adres e-mail. Wklej adres URL publicznego repozytorium albo fragment kodu.

  2. 02

    Pobierz

    Czytamy pliki źródłowe z domyślnej gałęzi, pomijając zależności, wyniki kompilacji, pliki lock, pliki zminifikowane i wszystko powyżej 60 KB, w ramach limitu plików Twojego planu.

  3. 03

    Audyt

    Claude Fable 5.1 przegląda kod zgodnie z instrukcjami starszego audytora. Musi odpowiadać według ścisłego schematu, więc każdy raport ma ten sam układ, a każde znalezisko zawiera dowody.

  4. 04

    Napraw

    Przeczytaj znaleziska według wagi, skopiuj proponowaną poprawkę i uruchom audyt ponownie, aby potwierdzić, że ocena ryzyka spadła.

Anatomia znaleziska

Każde znalezisko w każdym raporcie ma te same pola, więc możesz przejrzeć pięćdziesiąt z nich bez uczenia się układu od nowa.

Waga i pewność
Od krytycznej do informacyjnej, oceniana według realnej możliwości wykorzystania, z wysoką, średnią lub niską pewnością.
CWE i lokalizacja
Identyfikator CWE oraz plik i zakres linii, których dotyczy znalezisko.
Dowód
Dokładny fragment kodu z Twojego repozytorium, który pokazuje problem.
Scenariusz ataku
Jak atakujący mógłby realnie to wykorzystać, w dwóch lub trzech zdaniach.
Naprawa
Konkretna poprawka, zwykle poprawiony fragment napisany w stylu otaczającego kodu.
acme/storefront · src/api/users.ts
Przykład
KrytycznyCWE-89

SQL injection w wyszukiwarce użytkowników

req.query.name jest doklejany do zapytania, więc każdy odwiedzający może odczytać lub usunąć tabelę users.

41  export async function search(req) {- 42    const q = `SELECT * FROM users WHERE name = '${req.query.name}'`;+ 42    const q = 'SELECT * FROM users WHERE name = $1';+ 43    return db.query(q, [req.query.name]);
Poprawka gotowa do przegląduClaude Fable 5.1
Przykład poglądowy: krytyczny SQL injection (CWE-89) z poprawką opartą na zapytaniu parametryzowanym.

Dlaczego raportom można ufać

Dowód albo milczenie

Audytor ma polecenie nie zgłaszać znalezisk, których nie potrafi zacytować. Ogólnikowe porady o dobrych praktykach nie trafiają na listę znalezisk.

Twój kod to niezaufane dane wejściowe

Prompt systemowy traktuje Twój kod wyłącznie jako dane do audytu i jest zabezpieczony przed instrukcjami ukrytymi w komentarzach.

Struktura z założenia

Model odpowiada przez wymuszone wywołanie narzędzia ze schematem JSON, więc raport nigdy nie będzie na wpół sformatowaną prozą.

Znajdź błąd, zanim zrobi to atakujący.

Zaloguj się przez GitHub i uruchom pierwszy audyt w niecałą minutę. Plan darmowy nie wymaga karty kredytowej.