Исправление и проверка проблем безопасности

Создайте патч для выявленной проблемы и убедитесь, что он её устраняет.

Начните с одной выявленной проблемы, доказательства которой вы принимаете. Создайте патч, изучите его и проверьте исходную проблему на изменённом коде. Созданный или применённый патч ещё не является проверенным исправлением.

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

Исправление проблемы в пользовательском интерфейсе

Откройте принятую проблему в разделе Проблемы или в завершённом сканировании в разделе Сканирования. Изучите подтверждающие данные, затем используйте вкладку Патч, чтобы создать, проверить, применить и верифицировать исправление.

  1. Создайте патч

    Откройте проблему, выберите вкладку Patch, а затем — Generate patch. Codex проверит или воспроизведёт проблему, если это возможно, и создаст артефакт исправления, не изменяя выбранную рабочую копию.

  2. Проверьте предлагаемые изменения

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

  3. Примените исправление локально

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

  4. Проверьте исправление

    Выберите Проверить исправление. Codex повторно запускает исходный сценарий воспроизведения или другую проверку эксплуатации уязвимости. Если можно запустить регрессионный тест, Codex проверяет, что тест завершается с ошибкой до исправления и проходит после него. В противном случае он фиксирует пробелы в верификации и проверки, которые удалось выполнить. Он также проверяет штатное поведение, близкие варианты обхода защиты и тесты репозитория.

  5. Закройте проблему

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

Проверьте созданное исправление безопасности, прежде чем применять его к рабочей копии.

Исправление проблемы в беседе

Используйте установленный плагин для работы с проблемой из результатов сканирования, задачи, бюллетеня безопасности или другой проверки. Укажите идентификатор проблемы и путь к отчёту, а также сценарий воспроизведения или команду проверки, если они у вас есть:

Use $codex-security:fix-finding to fix finding <finding-id> from <report-path>. Verify the issue against this checkout, fix it, and test the original failure and legitimate behavior. Record any verification you couldn't complete.

Это разрешает вносить изменения в рабочую копию. Codex может изучить репозиторий, чтобы найти недостающие технические сведения, но перед выбором исправления ему может потребоваться уточнить у вас предполагаемую политику безопасности.

Запуск исправления без взаимодействия с пользователем

Для повторяемых сканирований и создания патчей используйте команды validate и patch автономного CLI.

Чтобы вызвать установленный плагин через Codex CLI, сначала установите Codex Security в CODEX_HOME среды выполнения. Новая среда выполнения по умолчанию не содержит плагинов из каталога. Для каждой принятой проблемы используйте отдельную рабочую копию или задание:

codex exec --sandbox workspace-write 'Use $codex-security:fix-finding to fix finding <finding-id> from <report-path>. Verify the issue against this checkout, fix it, and test the original failure and legitimate behavior. Record any verification you could not complete.'

Песочница с правом записи позволяет процессу изменять исходный код и тесты. Сохраните патч и подтверждающие данные верификации для проверки. Сведения об установке, настройке сканирования и работе с артефактами см. в разделе Автоматизация проверок в CI/CD.

После верификации выполните слияние изменений в рамках обычного процесса проверки кода. Если верификация не завершена, оставьте проблему открытой и укажите оставшуюся работу.