git, кодинг-агент в CLI — Claude Code или Codex CLI (или другой агент, поддерживающий локальные файлы), локальная копия репозитория, который вы моделируете, репозиторий grim-prompter (лицензия MIT, 36 архитектурных сценариев и 29 методик моделирования угроз)
Модель угроз (threat model) — это документ «что мы защищаем, от кого и какими контрмерами». Кодинг-агент — CLI-программа, которая читает файлы репозитория и пишет по ним текст/код по вашему указанию.
Что такое grim-prompter по фактам из анонса:
| Параметр | Значение |
|---|---|
| Что это | набор промптов для кодинг-агентов |
| Сценарии архитектур | 36 |
| Методики моделирования угроз | 29 |
| Лицензия | MIT |
| Поддерживаемые агенты | Claude Code, Codex CLI, другие кодинг-агенты |
| Где работает | только локальный macOS/Linux-шелл |
| Куда пишет отчёты | отдельная папка в репозитории (в анонсе её имя обрезано — сверьтесь с документацией/README) |
Проверьте до старта:
git установлен и настроен: git --versionпривет)$HOME) — туда кладутся симлинки skillsgrim-prompter и отчётыПример: целевой проект — /Users/ivan/projects/support-bot, это ИИ-агент поддержки на Python. Если ваш репозиторий — как раз такой агент, но вы ещё не разобрались с его устройством, начните с как превратить обычный чат с LLM в полноценного AI-агента — модель угроз строится поверх понятной архитектуры.
Поток работы: репозиторий → агент читает манифесты зависимостей, точки входа, конфиги → выбирает один из 36 архитектурных сценариев → применяет одну из 29 методик → пишет отчёт в папку.

Что сделать: склонировать репозиторий и убедиться, что каталог skills/threat-model существует.
Зачем: агент подхватывает инструкции из файлов этого каталога; без клона подключать нечего.
mkdir -p ~/tools
git clone <URL-репозитория-grim-prompter> ~/tools/grim-prompter
cd ~/tools/grim-prompter
ls -la
ls -la skills/
<URL-репозитория-grim-prompter> — адрес страницы проекта на GitHub (берётся из анонса/README, не угадывается).
Как проверить: в выводе ls есть skills/, внутри skills/ — каталог threat-model, а также файл лицензии. Плюс проверка целостности:
test -d ~/tools/grim-prompter/skills/threat-model && echo OK || echo NO
Ожидаемый вывод: OK. Если NO — клон неполный или вы не в корне репозитория.
Пример: ls skills/ печатает threat-model; git -C ~/tools/grim-prompter log -1 --oneline печатает одну строку с хешем коммита — значит клон живой.
Почему это работает: скилл — обычный каталог с текстовыми инструкциями, агенту достаточно пути к нему.
Что сделать: создать симлинк (ссылка на каталог, не копия) на skills/threat-model в каталоге skills вашего агента.
Зачем: агент ищет скиллы в фиксированных путях; симлинк избавляет от копирования при обновлениях grim-prompter.
Для Claude Code:
mkdir -p ~/.claude/skills
ln -s ~/tools/grim-prompter/skills/threat-model ~/.claude/skills/threat-model
ls -l ~/.claude/skills/threat-model
readlink -f ~/.claude/skills/threat-model
Для прочих агентов, читающих ~/.agents/skills (в том числе Codex CLI):
mkdir -p ~/.agents/skills
ln -s ~/tools/grim-prompter/skills/threat-model ~/.agents/skills/threat-model
ls -l ~/.agents/skills/threat-model
Для агентов без механизма skills анонс предлагает другой путь — сниппет в AGENTS.md. Создайте/дополните файл AGENTS.md в корне целевого репозитория:
## Модель угроз
При запросе «построй модель угроз» используй инструкции из каталога
~/tools/grim-prompter/skills/threat-model (36 архитектурных сценариев,
29 методик). Отчёт сохраняй в папку отчётов, указанную в README grim-prompter.
Как проверить: ls -l печатает строку со стрелкой -> и путём ~/tools/grim-prompter/skills/threat-model, а readlink -f — абсолютный путь без ошибок. Ожидаемый вид:
lrwxr-xr-x 1 ivan staff 52 12 мая 10:14 threat-model -> /Users/ivan/tools/grim-prompter/skills/threat-model
Пример: если вы подключили только ~/.agents/skills, а работаете в Claude Code — скилл не увидит никто. Создавайте симлинк ровно в тот каталог, который читает ваш агент.
Почему это работает: симлинк — та же директория, только по другому пути; git pull в ~/tools/grim-prompter обновляет промпты без перенастройки.

Что сделать: запустить агента в корне целевого репозитория и дать два последовательных промпта — выбор архитектурного сценария и построение модели угроз по методике.
Зачем: сначала нужно «примерить» репозиторий к одному из 36 сценариев (иначе агент смешает несвязанные допущения), и только потом применять методику.
cd /Users/ivan/projects/support-bot
claude # или: codex
Промпт №1 — выбор сценария:
Работаем в репозитории /Users/ivan/projects/support-bot.
Прочитай манифесты зависимостей (requirements.txt, pyproject.toml), точки входа
(HTTP-роуты, CLI-команды), конфиги и места, где вызываются LLM и хранятся секреты.
Выбери ОДИН из 36 архитектурных сценариев grim-prompter, который точнее всего
описывает этот репозиторий. Ответ: название сценария, 5 строк обоснования,
список прочитанных файлов.
Промпт №2 — модель угроз:
Примени к выбранному сценарию одну из 29 методик grim-prompter, наиболее
подходящую для ИИ-агента с внешними вызовами LLM. Зафиксируй: активы,
границы доверия, векторы атаки (включая prompt injection и утечку системного
промпта), приоритет каждой угрозы, контрмеры с привязкой к файлам репозитория.
Сохрани отчёт в папку отчётов из README grim-prompter.
Как проверить: найдите созданный отчёт и убедитесь, что в нём есть все четыре блока.
ls -lt | head
find . -maxdepth 2 -type d -newermt '-15 minutes'
Имя папки отчётов в анонсе обрезано (threat…) — сверьтесь с README grim-prompter. Ожидаемый результат — новый каталог, а внутри файл вида threat-model-<дата>.md; в тексте присутствуют разделы «Активы», «Границы доверия», «Угрозы» с приоритетами, «Контрмеры».
Пример готового фрагмента отчёта, который считается успехом:
Актив: системный промпт агента поддержки (файл prompts/system.txt)
Граница доверия: HTTP-вход /api/chat -> LLM-провайдер
Угроза: prompt injection через поле user_message, приоритет High
Контрмера: валидация ввода в app/routes.py + фильтр исходящих вызовов
Дополнительно прогоните сценарии атак на сам агент по методике из как проверить LLM-приложение на джейлбрейки — модель угроз без проверки гипотез остаётся списком предположений.
Почему это работает: два шага разделяют «понять архитектуру» и «перечислить угрозы», поэтому в отчёте видно, из какого допущения выросла каждая угроза.
Проблема. Симлинк не создаётся, потому что путь уже занят
ln: failed to create symbolic link '/Users/ivan/.claude/skills/threat-model': File existsln -sfn ~/tools/grim-prompter/skills/threat-model ~/.claude/skills/threat-model
readlink -f ~/.claude/skills/threat-model
Проблема. Агент отвечает, что скилла нет
ls: /Users/ivan/.claude/skills/threat-model: No such file or directory — при этом агент пишет, что не находит инструкции по модели угроз.~/.agents/skills, а запущен агент, читающий ~/.claude/skills (или наоборот); либо сессия агента была открыта до создания симлинка.mkdir -p ~/.claude/skills ~/.agents/skills
ln -sfn ~/tools/grim-prompter/skills/threat-model ~/.claude/skills/threat-model
ln -sfn ~/tools/grim-prompter/skills/threat-model ~/.agents/skills/threat-model
ls -l ~/.claude/skills/threat-model ~/.agents/skills/threat-model
Проблема. Отчёт не появился, агент не видит репозиторий
I can't access files outside the workspace или просит вставить файлы вручную; find . -maxdepth 2 -type d -newermt '-15 minutes' ничего не находит.grim-prompter по анонсу работает только в локальном шелле.pwd
ls requirements.txt pyproject.toml 2>/dev/null
uname -s
Ожидаемо: pwd печатает путь проекта, uname -s — Darwin (macOS) или Linux.
Разверните grim-prompter, подключите skills/threat-model симлинком или сниппетом в AGENTS.md, затем двумя промптами получите отчёт с активами, границами доверия и приоритезированными угрозами. Дальше закройте High-угрозы контрмерами в коде и повторите прогон, чтобы сравнить отчёты до и после правок.
Сколько стоит grim-prompter?
Проект распространяется по лицензии MIT, то есть бесплатно; точные условия — в файле лицензии репозитория.
Работает ли на Windows?
По анонсу — только в локальном macOS/Linux-шелле. Для Windows используйте WSL либо Linux-машину.
Чем отличаются 36 сценариев от 29 методик?
Сценарии описывают тип архитектуры (что за система перед нами), методики — способ перечисления угроз. Агент сначала выбирает сценарий, затем применяет методику.
Можно ли использовать не с Claude Code, а со своим агентом?
Да. Для агентов без механизма skills анонс предлагает сниппет в AGENTS.md со ссылкой на каталог skills/threat-model; остальным достаточно симлинка в ~/.agents/skills/threat-model.