CodeAuditAgent

От URL репозитория до влитого исправления.

Четыре шага, большинство из которых проходят, пока вы наливаете кофе.

  1. 01

    Подключение

    Войдите через GitHub. Мы запрашиваем только публичный профиль и email. Вставьте URL публичного репозитория или фрагмент кода.

  2. 02

    Загрузка

    Мы читаем исходные файлы из ветки по умолчанию, пропуская зависимости, результаты сборки, lock-файлы, минифицированные файлы и всё, что больше 60 KB, в пределах файлового лимита вашего тарифа.

  3. 03

    Аудит

    Claude Fable 5.1 проверяет код по инструкции старшего аудитора. Модель обязана отвечать по строгой схеме, поэтому у каждого отчёта одинаковая структура, а каждая находка содержит доказательства.

  4. 04

    Исправление

    Читайте находки в порядке критичности, копируйте предложенный патч и запускайте повторный аудит, чтобы убедиться, что оценка риска снизилась.

Из чего состоит находка

У каждой находки в каждом отчёте одинаковые поля, поэтому можно просмотреть полсотни находок, не привыкая каждый раз к новой структуре.

Критичность и уверенность
От критической до информационной, по реальной эксплуатируемости, с высокой, средней или низкой уверенностью.
CWE и расположение
Идентификатор CWE, а также файл и диапазон строк, к которым относится находка.
Доказательство
Точный фрагмент кода из вашего репозитория, демонстрирующий проблему.
Сценарий эксплуатации
Как атакующий мог бы реально этим воспользоваться — в двух-трёх предложениях.
Исправление
Конкретное исправление, обычно исправленный фрагмент в стиле окружающего кода.
acme/storefront · src/api/users.ts
Пример
КритическийCWE-89

SQL-инъекция в поиске пользователей

req.query.name подставляется в запрос конкатенацией, поэтому любой посетитель может прочитать или удалить таблицу 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]);
Патч готов к ревьюClaude Fable 5.1
Демонстрационный пример: критическая SQL-инъекция (CWE-89) и патч с параметризованным запросом.

Почему отчётам можно доверять

Доказательство или молчание

Аудитору запрещено сообщать о находках, которые он не может процитировать. Расплывчатые советы о лучших практиках в список находок не попадают.

Ваш код — недоверенные входные данные

Системный промпт рассматривает ваш код строго как данные для аудита и защищён от инструкций, спрятанных в комментариях.

Структура заложена в архитектуру

Модель отвечает через обязательный вызов инструмента со схемой JSON, поэтому отчёт никогда не окажется наполовину отформатированным текстом.

Найдите уязвимость раньше атакующего.

Войдите через GitHub и запустите первый аудит меньше чем за минуту. Для бесплатного тарифа банковская карта не нужна.