Предварительные требования
- Python 3.7 или позже в вашем
PATH. Агентивная проверка коммита требует Python 3.10 или позже, как и все проверки на основе модели, когда Claude Code использует стороннего поставщика, такого как Amazon Bedrock или Google Cloud’s Agent Platform. Плагин предпочитает версионированные интерпретаторыpython3.13черезpython3.10, затем переходит наpython3,pythonиpy -3 - Git репозиторий для каталога, в котором вы работаете. Проверки в конце хода и при коммите используют diff относительно состояния git и пропускаются молча вне репозитория. Проверка шаблонов при каждом редактировании работает везде
~/.claude/security/ и устанавливает Claude Agent SDK в него, что требует pip и доступа в сеть. Если эта установка не удаётся, или доступный Python старше 3.10, проверка коммита при аутентификации от первого лица переходит на однократную проверку вместо агентивной; у стороннего поставщика, такого как Amazon Bedrock или Google Cloud’s Agent Platform, проверки на основе модели требуют самого SDK, поэтому они пропускаются. Плагин показывает одноразовое уведомление, когда причиной является более старый Python.
Установка плагина
В сеансе Claude Code установите из официального маркетплейса Anthropic:/plugin открывает интерактивную панель в терминальном CLI. Если Claude сообщит, что /plugin недоступен в этой среде, установите другим способом:
- Приложение Claude для рабочего стола, локальный или SSH сеанс: откройте браузер плагинов, нажав кнопку + рядом с приглашением, затем Plugins, затем Add plugin
- Расширение VS Code: установите из диалога Manage plugins
- Облачные сеансы: облачный сеанс не загружает плагины из ваших пользовательских параметров или из файла
.claude/settings.jsonрепозитория, как объясняется в разделе What carries over from your setup. Для плагинов, которые ваша организация распространяет через управляемые параметры, см. Manage plugins for your organization
Marketplace "claude-plugins-official" not found: добавьте маркетплейс с помощью/plugin marketplace add anthropics/claude-plugins-official, затем повторите попытку установки.- Плагин не найден в маркетплейсе: проверьте имя плагина.
Run /reload-plugins to apply., см. Apply plugin changes without restarting, чтобы активировать плагин в вашей текущей сессии.
Включение для вашей команды в локальных сеансах
Чтобы включить плагин в локальных сеансах, которые ваши коллеги запускают в репозитории, объявите его в параметрах проекта, которые проверены:.claude/settings.json
enabledPlugins в управляемых параметрах.
Что проверяет плагин
Плагин проверяет работу Claude в трёх точках, каждая на разной глубине:- При каждом редактировании файла: быстрое сопоставление шаблонов для рискованных вызовов без вызова модели
- В конце каждого хода: фоновая проверка моделью всего, что изменилось в этом ходе
- При каждом коммите или push, который делает Claude: более глубокая агентивная проверка, которая читает окружающий код
При каждом редактировании файла
Когда Claude пишет в файл, плагин сканирует новое содержимое на предмет известных рискованных шаблонов. Это сопоставление шаблонов без вызова модели, поэтому оно не добавляет затрат на использование. Примеры категорий шаблонов:- Динамическое выполнение кода:
eval(,new Function,os.system,child_process.exec - Небезопасная десериализация:
pickle - Инъекция DOM:
dangerouslySetInnerHTML,.innerHTML =,document.write - Файлы рабочего процесса: редактирование под
.github/workflows/, которое может предоставить разрешения на уровне репозитория
security-patterns.yaml.
В конце каждого хода
Ход — это один раунд ответа Claude: вы отправляете сообщение, Claude работает и отвечает, и ход заканчивается. После каждого хода плагин вычисляет git diff всего, что изменилось в рабочем дереве во время хода, включая изменения из инструментов редактирования Claude, команд Bash и подагентов, и отправляет его отдельному Claude для проверки, сосредоточенной на безопасности. Проверка выполняется в фоне, поэтому ответ Claude не задерживается. Если проверка обнаруживает проблемы, Claude переспрашивается с результатами и решает их как продолжение. Это выявляет проблемы, которые сопоставление строк не может, такие как:- Обход авторизации
- Небезопасные прямые ссылки на объекты
- Инъекции
- Подделка запроса на стороне сервера
- Слабая криптография
При каждом коммите или push, который делает Claude
Когда Claude запускаетgit commit или git push через свой инструмент Bash, плагин запускает более глубокую агентивную проверку изменения в фоне. Эта проверка читает окружающий код, включая вызывающие функции, санитайзеры и связанные файлы, чтобы решить, является ли результат реальным, прежде чем сообщить о нём. Дополнительный контекст снижает количество ложных срабатываний на шаблонах, которые выглядят опасно в изоляции, но безопасны в вашей кодовой базе.
Этот слой срабатывает только на коммитах и push, которые Claude делает через свой инструмент Bash. Коммиты, которые вы запускаете из собственной оболочки, включая экранирование оболочки ! внутри сеанса, не проверяются. Проверки коммитов и push ограничены 20 в течение часа. Если результаты проверки коммита дублируют то, что уже сообщила проверка в конце хода, Claude не переспрашивается, поэтому чистый коммит не производит видимого вывода из этого слоя.
Независимость проверки и ограничения
Плагин не просит один и тот же экземпляр Claude, который написал код, оценить себя. Проверка при каждом редактировании — это детерминированное сопоставление строк без участия модели. Проверки в конце хода и при коммите выполняются как отдельный вызов Claude со свежим контекстом и сосредоточенным на безопасности приглашением: рецензент начинает с diff, не имеет инвестиций в исходный подход и инструктирован только находить проблемы. Ни один из слоёв не блокирует записи или коммиты. Результаты достигают Claude, который пишет код, как инструкции, Claude решает их в разговоре, и модель проверки может пропустить проблемы. Рассматривайте плагин как один слой защиты в глубину, а не как полное решение безопасности. См. Как это работает с другими инструментами безопасности.Добавьте свои собственные правила
Плагин имеет две точки расширения: файл руководства Markdown для проверок на основе модели и файл шаблонов YAML или JSON для сопоставления строк при каждом редактировании. Оба являются дополнительными. Вы можете добавлять проверки, но не можете отключать встроенные из этих файлов.Добавьте руководство для проверок на основе модели
Создайте.claude/claude-security-guidance.md в вашем проекте и опишите вашу модель угроз и контрольный список проверки на простом языке. Проверки на основе модели загружают его как дополнительный контекст наряду со встроенным контрольным списком уязвимостей.
Следующий пример предназначен для веб-сервиса с управляемыми ролями маршрутами администратора и политикой логирования данных клиентов:
.claude/claude-security-guidance.md
Добавьте пользовательские шаблоны для каждого редактирования
Создайте.claude/security-patterns.yaml для добавления правил regex или подстроки к проверке шаблонов при каждом редактировании. Они выполняются как детерминированные сопоставления строк наряду со встроенными шаблонами:
.claude/security-patterns.yaml
Плагин также читает
.claude/security-patterns.yml и .claude/security-patterns.json с той же схемой. JSON работает на любой установке Python. Формы YAML требуют, чтобы PyYAML был импортируемым, который плагин не устанавливает для вас. Плагин загружает до 50 пользовательских правил и пропускает regex, которые выглядят подверженными катастрофическому возврату.
Расположения поиска файлов правил
Плагин ищетclaude-security-guidance.md и security-patterns.yaml в одних и тех же местах, независимо от того, как был включен плагин:
Плагин загружает все существующие местоположения и объединяет их с объединённым ограничением 8 КБ для файла руководства. Администраторы могут распространять правила на уровне организации, отправляя файл с областью действия пользователя в
~/.claude/ через управление устройствами. Те же пути применяются к security-patterns.yaml.
Стоимость использования
Проверка шаблонов при каждом редактировании не делает вызов модели и не добавляет затрат. Проверки в конце хода и коммита каждая тратит дополнительное использование модели, которое считается в вашем использовании как любой другой запрос Claude. Проверка коммита является агентивной и может занять несколько ходов модели за коммит. Ожидайте примерно один вызов проверки за ход, который изменяет файлы, и одну более глубокую проверку за коммит, оба подлежат ограничениям выше. Обе проверки на основе модели используют Claude Opus 4.7 по умолчанию. УстановитеSECURITY_REVIEW_MODEL для выбора другой модели для проверки в конце хода и SG_AGENTIC_MODEL для проверки коммита.
Плагин доступен на всех планах.
Отключение или удаление
Чтобы отключить отдельные слои, сохраняя остальные, установите соответствующую переменную окружения:
Чтобы приостановить плагин в области действия пользователя:
.claude/settings.json проекта, отключение его из /plugin записывает переопределение в ваш .claude/settings.local.json вместо редактирования проверенного файла, поэтому плагин остаётся отключённым для вас, а товарищи по команде не затронуты. То же диалоговое окно также предлагает удалить плагин для всех, удалив его из общего .claude/settings.json. Если он был включен через управляемые параметры, только администратор может его отключить.
Как плагин интегрируется с Claude Code
Плагин полностью построен на hooks, механизме для запуска вашего собственного кода в определённых точках цикла Claude. Он регистрирует:
Если вы создаёте свои собственные hooks, исходный код плагина является рабочим примером запуска отдельного вызова модели из hook и возврата результата в сеанс.
Как это работает с другими инструментами безопасности
Плагин — это один слой в подходе защиты в глубину. Он выявляет проблемы раньше всего, пока код ещё находится в редакторе, но это не гарантия и не заменяет более поздние проверки. Типичный стек:
Чтобы найти проблемы безопасности в коде, который у вас уже есть, а не в изменениях, которые пишет Claude, попросите Claude в сеансе проверить конкретный файл или директорию на уязвимости или используйте Claude Security plugin для более глубокого многоагентного сканирования всего репозитория;
/security-review охватывает только изменения на вашей текущей ветке. В любом случае, проверка читает исходный код в вашей копии, а не работающий сайт или развёрнутый сервис.
Troubleshooting
Плагин записывает диагностику времени выполнения в~/.claude/security/log.txt. Проверьте там в первую очередь, если проверки не появляются.
Распространённые причины, по которым слой проверки пропускается без сообщения в разговоре:
- Каталог не является git репозиторием: проверки в конце хода и при коммите требуют состояния git и пропускаются вне репозитория
- Сеанс не имеет аутентификации Anthropic и нет настроенного поставщика третьей стороны: проверки на основе модели пропускаются и работает только проверка шаблонов при каждом редактировании
- Файл
security-patterns.yamlприсутствует, но PyYAML не импортируемый: файл игнорируется. Используйтеsecurity-patterns.jsonвместо этого
Связанные ресурсы
Чтобы углубиться в части, которые эта страница затрагивает:- Code Review: настройка многоагентной проверки во время PR
- Автоматизируйте действия с помощью hooks: создавайте свои собственные проверки в одних и тех же точках жизненного цикла
- Найдите плагины в официальном marketplace: где просмотреть другие официальные плагины