Claude Hooks (Prompt Injection Defender) — скилл
Claude Hooks
Хук для Claude Code проверяет вывод файлов, веб-страниц и команд на скрытые инструкции и предупреждает агента
- 269 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Прописывает хуки PostToolUse в настройки Claude Code, и скрипт запускается после каждого проверяемого инструмента
- Читает полный вывод файлов, веб-страниц и команд, чтобы сопоставить его с шаблонами, но сам ничего не пишет и никуда не отправляет
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add skills/claude-hooksОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Прописывает хуки PostToolUse в настройки Claude Code, и скрипт запускается после каждого проверяемого инструмента
- Читает полный вывод файлов, веб-страниц и команд, чтобы сопоставить его с шаблонами, но сам ничего не пишет и никуда не отправляет
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
В репозитории лежит скилл Prompt Injection Defender: набор хуков `PostToolUse` для Claude Code против непрямой инъекции промпта. Так называют атаку, когда злоумышленник прячет инструкции в содержимом, которое агент читает сам: в файле, на веб-странице, в выводе команды. Хук просматривает результаты инструментов Read, WebFetch, Bash, Grep, Task и любых MCP-инструментов. Проверка идет по регулярным выражениям из файла `patterns.yaml`, без обращений к API и без затрат на токены. Шаблоны разбиты на пять категорий: подмена инструкций («ignore previous instructions»), ролевые джейлбрейки вроде DAN, кодирование и обфускация (base64, шестнадцатеричная запись, замена букв цифрами, омоглифы, невидимые символы Unicode), ложные ссылки на авторитет и инструкции, спрятанные в HTML- и кодовых комментариях. Каждому шаблону присвоена серьезность: высокая, средняя или низкая. При срабатывании Claude получает в контекст предупреждение с источником и списком находок. Хук ничего не блокирует: агент видит содержимое, но знает, что ему не стоит выполнять найденные в нем указания. Шаблоны можно дополнять в `patterns.yaml`, а проверить работу позволяют тестовые файлы и промпты из репозитория. Есть реализации на Python для uv и на TypeScript для Bun.
Для кого. Для разработчиков, которые дают Claude Code читать чужие репозитории, веб-страницы и вывод MCP-серверов и хотят получать сигнал о спрятанных в них инструкциях.
Подходит, если
- Claude Code разбирает чужой репозиторий, где README или комментарии могут содержать скрытые команды
- Агент ходит по веб-страницам через WebFetch или читает ответы MCP-серверов, которым вы не доверяете полностью
- В проект нужно добавить дешевую первичную проверку без вызовов LLM и без платных API
- Вы пишете собственные шаблоны и хотите быстро проверить их на готовых тестовых файлах
Не подходит, если
- Нужна блокировка опасных действий: хук только предупреждает и не останавливает вызов
- Вы работаете в Cursor, Codex или другом агенте: хуки рассчитаны на Claude Code
- Требуется защита от изощренных атак: шаблоны ловят известные приемы и не заменяют изоляцию и права доступа
- Вам нужна проверка перед выполнением команд, а не после получения результата
Пример запроса к агенту
Установи Prompt Injection Defender в этот проект и проверь его на тестовых файлах из репозиторияОграничения
Детектор основан на шаблонах и ловит только известные формулировки, поэтому на легитимных текстах, например, в статьях про безопасность, возможны ложные срабатывания. Он предупреждает и ничего не блокирует: агент по-прежнему видит содержимое целиком. Хуки срабатывают после выполнения инструмента, то есть сам вызов к этому моменту уже состоялся. Для Python-версии нужен менеджер пакетов uv. Установка рассчитана на Claude Code, другие агенты хуки с такой конфигурацией не читают.
Как отключить. Удалите блоки `PostToolUse` с `prompt-injection-defender` из `.claude/settings.local.json` проекта и папку `.claude/hooks/prompt-injection-defender`.
Частые вопросы
Блокирует ли Prompt Injection Defender подозрительное содержимое?
Нет. Хук добавляет в контекст Claude предупреждение с источником и серьезностью находок, а обработка продолжается. Решение, выполнять ли найденные указания, остается за агентом, которому в предупреждении рекомендуют относиться к ним с подозрением.
Какие инструменты Claude Code проверяет хук?
Read, WebFetch, Bash, Grep, Task и любые инструменты MCP. Проверяется их вывод после выполнения.
Как добавить свой шаблон обнаружения?
Допишите запись в `patterns.yaml`: регулярное выражение Python, причину и серьезность из трех уровней: high, medium или low. Затем проверьте шаблон командой `uv run test-defender.py -i` или на файле через флаг `--file`.
Нужен ли для работы ключ API?
Нет. Проверка локальная и использует только регулярные выражения, поэтому токены модели не тратятся.
Что делать после предупреждения хука?
Открыть источник из предупреждения и проверить, есть ли в нем скрытая инструкция. Если срабатывание ложное, ослабьте или удалите шаблон в `patterns.yaml`.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
СкиллыКаталог из 22 плагинов с хуками для Claude Code: безопасность, контроль расходов, наблюдаемость и автоматизация
AgentShield проверяет папку .claude на ключи в открытом виде, широкие разрешения, опасные хуки и небезопасные MCP-серверы и ставит оценку от A до F
Набор для авторизованного багбаунти: 50 субагентов, 26 команд и 2 MCP-сервера площадок багбаунти для Claude Code, Codex и еще пяти агентов
Хук для Claude Code, который оценивает риск Bash-команд правилами и моделью Haiku и спрашивает подтверждение только для опасных
Эталонный набор Anthropic для защиты кода: скиллы threat-model, vuln-scan, triage и patch в Claude Code и автономный конвейер поиска уязвимостей
Плагин и сервер подтверждений для Claude Code и Codex: опасный вызов инструмента ждет вашего решения до запуска
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| Claude Hooks (Prompt Injection Defender) (эта запись) | нет | 269 | |
| CC Safety Net | нет | 1 849 | блокирует разрушительные команды Git и файловой системы до запуска, а Defender предупреждает об инструкциях в прочитанном содержимом |
| Sage | да | 322 | проверяет команды, адреса и запись файлов агента и блокирует опасные, Defender разбирает только вывод инструментов |
Коротко о README
Репозиторий Lasso Security объясняет, что такое непрямая инъекция промпта, и дает готовую защиту для Claude Code. Описаны категории атак, формат предупреждения и список отслеживаемых инструментов. Установка идет скриптом install.sh или фразой агенту, если репозиторий добавлен как скилл. Отдельная ссылка ведет на исследование Lasso Security об этой уязвимости.
Бейдж для README
Исходный SKILL.md
# Prompt Injection Defender Skill
## Overview
Defense against **indirect prompt injection** attacks for Claude Code. This skill provides PostToolUse hooks that scan tool outputs (files, web pages, command results) for injection attempts and warn Claude about suspicious content.
## Features
- **Real-time scanning** of tool outputs (Read, WebFetch, Bash, Grep, Task, MCP tools)
- **4 detection categories**: Instruction Override, Role-Playing/DAN, Encoding/Obfuscation, Context Manipulation
- **50+ patterns** covering known injection techniques
- **Warn + Continue** approach (doesn't block, just warns Claude)
- **Dual implementation**: Python/UV and TypeScript/Bun
## Skill Structure
```
prompt-injection-defender/
├── SKILL.md # This file
├── patterns.yaml # Single source of truth for detection patterns
├── cookbook/
│ ├── install_workflow.md # Interactive installation guide
│ ├── modify_patterns_workflow.md # Pattern modification guide
│ └── test_defender.md # Testing workflow
├── hooks/
│ ├── defender-python/ # Python implementation
│ │ ├── post-tool-defender.py
│ │ ├── python-settings.json
│ │ └── test-defender.py
│ └── defender-typescript/ # TypeScript implementation
│ ├── post-tool-defender.ts
│ ├── typescript-settings.json
│ └── test-defender.ts
└── test-prompts/ # Test scenarios
├── injection_v1.md # Instruction override tests
├── injection_v2.md # Role-playing tests
├── injection_v3.md # Encoding tests
└── injection_v4.md # Context manipulation tests
```
## Cookbook Decision Tree
### Triggers → Workflows
| User Request Pattern | Workflow to Use |
| ----------------------------------- | --------------------------- |
| "install prompt injection defender" | install_workflow.md |
| "install the defender" | install_workflow.md |
| "protect against prompt injection" | install_workflow.md |
| "add new pattern" | modify_patterns_workflow.md |