Проверьте рабочую область или выбранные изменения на риски безопасности. CodeGraph собирает находки с расположением в исходниках и результатами структурных проверок. По отчёту команда выбирает, что проверить и исправить в первую очередь.
Выберите подходящую точку входа
Аудит текущей рабочей области в OpenCode
Для этого пути нужны установленный OpenCode, подключённый MCP CodeGraph и команда проекта .opencode/commands/audit.md. Открытая папка клиента должна соответствовать проекту, выбранному сервером MCP. Запустите команду:
/audit
Сценарий сначала проверяет готовность контекста проекта и CPG. Для готовой рабочей области он может получить diff, выполнить структурные проверки и запросить привязанные к ревизии пакеты ревью. Для состояний «устарел», «заблокирован», sync_pending и graph_only ответ содержит текущий режим, причину и следующее действие для подготовки проекта.
Детерминированный отчёт CLI
Выполняйте команды в PowerShell из корня исходного репозитория CodeGraph с установленным
Python-окружением проекта. Замените PATH путём зарегистрированной базы проекта. Перед запуском
подготовьте зарегистрированный проект и CPG. С --skip-persistence устаревший граф требует отдельного обновления.
Передайте явный путь к зарегистрированной базе CPG:
python -m src.cli audit --db 'PATH' --format json --skip-llm-conclusion --skip-persistence
Для команды аудита параметр --db обязателен. База должна соответствовать настроенному проекту с существующим каталогом исходников. --skip-llm-conclusion исключает сгенерированное заключение, а --skip-persistence отключает проекцию находок и сохранение снимков аудита и дашборда.
CLI проверяет актуальность графа. С --skip-persistence он работает в режиме чтения:
устаревший граф останавливает аудит с ошибкой audit_cpg_refresh_required. Обновите выбранный
проект через разрешённый процесс и повторите аудит. Без этого флага проверка свежести может
обновить настроенный CPG перед анализом. Если передать вместе --autofix и --skip-persistence,
CLI вернёт код 1 до запуска аудита.
Дополнительно доступны --source-path, --profile, --scopes, --language, --timeout и --output. Перед автоматизацией проверьте их в установленной версии командой python -m src.cli audit --help.
Как проходит аудит в OpenCode
- CodeGraph проверяет готовность проекта и актуальность CPG.
- Если доступны изменения, команда определяет их область и ревизию.
- Структурные проверки собирают находки в выбранной области.
- Ревью качества кода и архитектурного влияния дополняют отчёт, когда входят в выбранную проверку.
- Для объяснения находок команда обращается к соответствующим участкам исходников.
Проверяйте свидетельства и число находок
Для каждой находки сохраните:
- принятую область и ревизию;
- серьёзность и идентификатор правила или проверки;
- расположение в исходниках и ссылку на свидетельство;
- известные пробелы покрытия;
- воспроизводимую следующую проверку;
- решение: подтверждено, отклонено, требуется проверка или отложено.
Сопоставьте число находок с областью аудита: выбранными языками и путями, сгенерированным кодом, зависимостями и границами среды исполнения. Зафиксируйте эти параметры вместе с решением по результатам проверки.
От находки к исправлению
- Откройте указанный участок исходников и проследите, какие входные данные вызывают проблему.
- Воспроизведите проблему и добавьте тест, который фиксирует ожидаемое поведение.
- Подготовьте исправление, проверьте его на ревью и запустите тесты.
- Повторите аудит на обновлённой ревизии и сохраните результат вместе с исходной находкой.
Autofix аудита безопасности помогает подготовить патч для ревью. Руководство объясняет, как получить предложение, проверить его и применить изменение.
Частые ошибки
audit commands require explicit --db: передайте путь к настроенной базе.- Не удалось определить контекст проекта или исходников: проверьте, что проект зарегистрирован и связан с нужным каталогом исходников, затем повторите аудит.
- Граф остался устаревшим после обновления: прочитайте причину из статуса CPG и повторите аудит после завершения обновления.
- Контекст заблокирован или находится в
sync_pending: зафиксируйте режим и причину из ответа сервера, затем выполните указанное следующее действие.