Перейти к основному содержимому

Сценарий 02: ограниченный аудит безопасности

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

Руководства

Используйте этот сценарий, чтобы проверить заданную рабочую область или набор изменений и получить структурные находки, связанные с безопасностью. Результат формирует пакет свидетельств для разбора. Заключение AppSec, вердикт QA и разрешение на выпуск оформляются ответственными линиями.

Выберите подходящую точку входа

Аудит текущей рабочей области в OpenCode

Запустите установленную команду:

/audit

Сценарий сначала проверяет готовность контекста проекта и CPG. Для готовой рабочей области он может получить diff, выполнить структурные проверки и запросить привязанные к ревизии пакеты ревью. Если контекст устарел, заблокирован или находится в режиме sync-pending либо graph-only, команда вернёт ограниченное сообщение об отсрочке или ухудшенном режиме, а не создаст видимость полного покрытия.

Детерминированный отчёт CLI

Передайте явный путь к зарегистрированной базе CPG:

python -m src.cli audit --db PATH --format json --skip-llm-conclusion --skip-persistence

Для команды аудита параметр --db обязателен. База должна соответствовать настроенному проекту с существующим каталогом исходников. --skip-llm-conclusion исключает сгенерированное заключение, а --skip-persistence отключает проекцию находок и сохранение снимков аудита и дашборда.

CLI проверяет актуальность графа. Устаревший граф может запустить CPG refresh и обновить настроенную базу CPG перед анализом. Флаг --skip-persistence сохраняет результаты аудита вне проекций; обновление CPG при проверке свежести остаётся отдельной операцией.

Дополнительно доступны --source-path, --profile, --scopes, --language, --timeout и --output. Перед автоматизацией проверьте их в установленной версии командой python -m src.cli audit --help.

Какие поверхности использует OpenCode

Поддерживаемая команда /audit ограничена следующими поверхностями:

  1. codegraph_project_context_status устанавливает готовность контекста и CPG.
  2. codegraph_context_retrieval_diff_preview задаёт область изменений, привязанную к ревизии, если diff доступен.
  3. codegraph_quality_structural_test_run выполняет структурные проверки по принятым нативным входным данным.
  4. codegraph_digital_employee_code_quality_review_report формирует пакет ревью качества кода, когда эта линия входит в область проверки.
  5. codegraph_digital_employee_architecture_impact_review_report формирует пакет оценки архитектурного влияния, когда эта линия входит в область проверки.

Для объяснения находки следует читать только минимально необходимый фрагмент исходников.

Проверяйте свидетельства и число находок

Для каждой находки сохраните:

  • принятую область и ревизию;
  • серьёзность и идентификатор правила или проверки;
  • расположение в исходниках и ссылку на свидетельство;
  • известные пробелы покрытия;
  • воспроизводимую следующую проверку;
  • решение: подтверждено, отклонено, требуется проверка или отложено.

Пустой список находок показывает отсутствие находок в заданной области. Безопасность кода проверяйте по языкам, путям, сгенерированному коду, зависимостям и границам среды исполнения.

Граница полномочий

Автоматический анализ помогает обнаруживать и приоритизировать риски. Заключение AppSec выносит ответственная линия AppSec. Архитектура, QA, выпуск и финансовое закрытие оформляются отдельными линиями свидетельств. Код возврата команды и отчёт Markdown/JSON дополняются решением ответственного сотрудника.

Если нужны предложения исправлений, перейдите к Autofix аудита безопасности. Это только предварительные diff, которым нужны ревью и тесты.

Частые ошибки

  • audit commands require explicit --db: передайте путь к настроенной базе.
  • Не удалось определить контекст проекта или исходников: сначала восстановите регистрацию проекта.
  • Граф остался устаревшим после обновления: остановитесь и укажите причину; не используйте результат как актуальное свидетельство.
  • Контекст заблокирован или находится в sync-pending: сохраните ограниченную отсрочку и следующее действие, выданное сервером.

Поддерживаемые источники контракта

  • Сценарий OpenCode: .opencode/commands/audit.md
  • Регистрация и поведение CLI: src/cli/analysis_commands/audit_commands.py
  • Ролевая политика AppSec: src/digital_employees/runtime/scenarios/employee_scenario_invocation.py