# mantis-advise

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

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 1000 установок · ★ 2534
- Автор: google · официальный репозиторий Google
- Лицензия: Apache-2.0 · policy=mirror · лицензия открытая, файл — в исходнике
- Исходник: https://github.com/google/mantis/tree/HEAD/skills/mantis-advise/SKILL.md
- Обновлён: 2026-10-25
- HTML: https://affpapa.org/nevibecode/skills/mantis-advise

## Что делает

Скилл подсовывает агенту базу знаний по безопасности и просит смотреть в неё перед правками. Внутри — вызов `reference/scripts/advise.py`, который читает SQLite-базу `knowledge.db`: модели угроз, историю прошлых уязвимостей с их `lineage_id`, уже проверенные патчи, размеченные ложные срабатывания и выученные инварианты. По файлу или модулю скрипт печатает совет в markdown: где проходят границы доверия, что уже ломалось в этом месте, какие приёмы признаны безопасными.

Работает из bash: `python3 "$MANTIS_HOME/reference/scripts/advise.py" --file src/auth.py`. Флаг `--json` выдаёт структуру вместо текста, `--remediate <finding_id>` собирает план архитектурного исправления с проверкой. Внутри Python-пайплайна есть второй вход — `query_security_guidance` из `core.database`.

Скрипт вызывается только по абсолютному пути через `$MANTIS_HOME`, потому что относительный путь в проверяемом репозитории можно подменить своим файлом. Переменную и Python 3 готовьте заранее, база `knowledge.db` тоже должна лежать на диске. Это советчик, а не сканер: многошаговый red-team и фаззинг в его задачи не входят.

Правило про абсолютный путь важнее, чем кажется. Если запустить `advise.py` из корня чужого репозитория, совет будет собран по чужому коду, и это повод проверить настройку до первого прогона.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add google/mantis --skill mantis-advise -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/mantis-advise/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/mantis-advise/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add google/mantis --skill mantis-advise -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/mantis-advise/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add google/mantis --skill mantis-advise -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/mantis-advise/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install google/mantis mantis-advise
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/mantis-advise/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add google/mantis --skill mantis-advise -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/google/mantis --path skills/mantis-advise
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/mantis-advise/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add google/mantis --skill mantis-advise -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/google/mantis/tree/HEAD/skills/mantis-advise/SKILL.md

## Когда брать
- проверить границы доверия модуля перед рефакторингом
- найти, какие уязвимости уже подтверждались в этом файле
- собрать план архитектурного исправления по ID находки
- отличить размеченное ложное срабатывание от настоящей дыры
- получить машинно-читаемый отчёт для пайплайна через `--json`

## Примеры запросов агенту
- Прогони `advise.py --file src/auth.py` и покажи, что известно про границы доверия в этом файле.
- Есть находка `<finding_id>`: нужен план архитектурного исправления и проверки.
- Прежде чем править `api/app.py`, вытащи историю его уязвимостей и проверенные патчи.

## Похожие
- [codex-security](https://affpapa.org/nevibecode/plugins/codex-security.md) — плагин · ★ 7596
- [security-best-practices](https://affpapa.org/nevibecode/skills/githubcomopenaiskills-security-best-practices.md) — скилл · 358 установок
- [security-auditor](https://affpapa.org/nevibecode/skills/sickn33-security-auditor.md) — скилл · 1400 установок
- [threat-modeling](https://affpapa.org/nevibecode/skills/briiirussell-threat-modeling.md) — скилл · 412 установок
- [attack-path-analysis](https://affpapa.org/nevibecode/skills/attack-path-analysis.md) — скилл · 27 установок
- [senior-security](https://affpapa.org/nevibecode/skills/senior-security.md) — скилл · 1277 установок

Из того же набора: [google/mantis](https://affpapa.org/nevibecode/by/google/mantis.md) — 19 карточек

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
