CodeAuditAgent

Wdrażaj bezpieczny kod szybciej.

Twój autonomiczny inżynier bezpieczeństwa. Przeanalizuj kod z GitHub, wykryj podatności i od razu otrzymaj poprawki wygenerowane przez AI.

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.

Przegląd bezpieczeństwa każdej zmiany, bez czekania.

Dogłębność doświadczonego audytora w tempie Twojej kolejki merge'ów.

Dogłębne wykrywanie podatności

Śledzi dane od żądania aż do bazy danych i wyłapuje wstrzyknięcia, błędy kontroli dostępu, wycieki sekretów, SSRF i błędy logiki, których nie widzą lintery oparte na wzorcach. Każde znalezisko ma przypisany CWE.

Natychmiastowe poprawki

Każde znalezisko zawiera konkretną poprawkę napisaną pod Twój kod oraz exploit, który ona blokuje. Przeglądasz diff, a nie wykład.

Napędzany przez Claude Fable 5.1

Audyty działają na Claude Fable 5.1 z instrukcją doświadczonego audytora bezpieczeństwa: cytuj dowody, oceniaj wagę według realnej możliwości ataku i uczciwie podawaj pewność.

Zobacz raport, zanim uruchomisz własny.

Ocena ryzyka, której możesz bronić, i znaleziska, którymi zajmiesz się w kilka minut.

acme/storefront · przykładowy raport · dane poglądowe

Przy każdym znalezisku: dokładna linia, klasa CWE i poprawka. Kliknij, aby rozwinąć.

Ocena ryzyka
82
Przeczytane pliki
37
  • 01KrytycznyKlucz Stripe secret zapisany na sztywno w kodzie

    lib/billing.ts:3

    - const stripe = new Stripe("sk_live_51H…");

    + const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!); // and rotate the leaked key

  • 02WysokiBrak weryfikacji właściciela przy pobieraniu faktury

    app/api/invoices/[id]/route.ts:12

    - const invoice = await db.invoice.findUnique({ where: { id } });

    + const invoice = await db.invoice.findFirst({ where: { id, userId: session.user.id } });

  • 03ŚredniOpen redirect po zalogowaniu

    app/login/page.tsx:27

    - router.push(searchParams.get('next') ?? '/');

    + router.push(safeRelativePath(searchParams.get('next')));

Prosty cennik

Zacznij za darmo, a potem wybierz plan dopasowany do Twoich repozytoriów.

Starter

Dla niezależnych deweloperów i małych zespołów, które szybko wdrażają.

$49/mies.

  • Repozytoria: 5
  • Audyty: 50 miesięcznie
  • Audyty podstawowe (do 40 plików na przebieg)
  • Znaleziska z CWE i poprawkami
Wypróbuj za darmo
Dla zespołów

Pro

Dla rosnących zespołów, które przeglądają wiele repozytoriów.

$199/mies.

  • Nielimitowane repozytoria
  • Audyty: 500 miesięcznie
  • Dogłębne audyty agentowe (do 80 plików na przebieg)
  • Priorytetowe wsparcie
Wypróbuj za darmo

Plan darmowy: 1 repozytorium i 3 audyty miesięcznie. Karta kredytowa nie jest wymagana.