Mantis — скилл

19 скиллов Google для поиска, воспроизведения и исправления уязвимостей: от модели угроз до патча и отчета, плюс эталонная обвязка на ADK

  • 2 515 ★ репозитория
  • Последний коммит
  • Apache-2.0
СкиллОфициальный

Широкий доступ

Почему такой уровень

  • Скиллы пишут и запускают сгенерированный код воспроизведения, из-за чего автор требует изолированную среду без доступа к рабочим системам
  • Прогон отправляет содержимое проверяемых файлов выбранной модели и тратит токены, лимит задается параметрами
  • Исправления применяются к коду через теневые копии, а действие GitHub пишет аннотации в запрос на слияние
Все причины и проверки

google/mantis

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add skills/mantis

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Скиллы пишут и запускают сгенерированный код воспроизведения, из-за чего автор требует изолированную среду без доступа к рабочим системам
  • Прогон отправляет содержимое проверяемых файлов выбранной модели и тратит токены, лимит задается параметрами
  • Исправления применяются к коду через теневые копии, а действие GitHub пишет аннотации в запрос на слияние

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Mantis — набор скиллов для проверки безопасности кода, который ведет агента по конвейеру. Сначала `mantis-history` собирает из истории репозитория прошлые уязвимости и исправления, `mantis-summarize` и `mantis-structural-index` готовят краткие описания каталогов и индекс смысловых единиц кода, `mantis-architecture` и `mantis-threat-model` строят базу знаний и модель угроз с границами доверия. Затем `mantis-plan` составляет план проверки, `mantis-researcher` разбирает файлы по плану, а `mantis-dedupe`, `mantis-review` и `mantis-critic` убирают повторы, ложные срабатывания и находки, недостижимые в рабочей сборке. Подтвержденные находки проходят воспроизведение: `mantis-reproduce` пишет и запускает пример, который проверяет ошибку в изолированной среде. Глубина воспроизведения зависит от окружения: от статической догадки до модульного теста или поднятого тестового сервера. `mantis-chain` ищет, можно ли связать несколько слабых ошибок в более серьезную, `mantis-patch` готовит минимальное исправление в теневой копии и проверяет его повторной атакой, `mantis-calibrate` ставит итоговую оценку по рубрике против завышения серьезности, `mantis-report` собирает пакет для людей, а `mantis-reflect` записывает выводы витка. `mantis-advise` во время разработки подсказывает, не повторяет ли правка прежних ошибок. В каталоге `reference` лежит рабочая обвязка на Google ADK: после `./install.sh` и настройки `./run.sh путь/к/коду` запускает кампанию по файлу или каталогу, с параметрами `--focus`, `--exclude`, `--max-tokens` и `--parallel`. Отдельное действие GitHub проверяет файлы, измененные в запросе на слияние, и показывает вердикт аннотациями. По умолчанию оно только советует, а блокировка слияния включается параметром `fail-on`.

Для кого. Для специалистов по безопасности и разработчиков, которые проверяют код своих проектов или проектов заказчика с его разрешения и готовы разбирать находки вручную.

Подходит, если

  • Нужна глубокая проверка безопасности репозитория с моделью угроз, планом и отчетом для команды и заказчика
  • В запросе на слияние хочется получить разбор измененных файлов с аннотациями без блокировки, а при желании блокировку по параметру `fail-on`
  • Находки нужно подтвердить воспроизведением в изолированной среде и проверить исправление повторной атакой
  • Перед правкой нужно спросить у накопленной базы, не повторяет ли код старые уязвимости (`mantis-advise`)
  • Нужно собрать собственную обвязку вокруг скиллов и сменить домен проверки, например на инфраструктуру как код или RTL

Не подходит, если

  • Нужен продукт для промышленной эксплуатации: проект предназначен для демонстрации, не поддерживается Google официально и не участвует в программе вознаграждений за уязвимости
  • Нет изолированной машины: автор требует запускать набор только в ограниченных средах без доступа к рабочим системам, чувствительным данным и внутренним сетям
  • Нельзя расходовать токены без контроля: длинные кампании дорогие, поэтому параметры `--max-tokens` и `--parallel` стоит задавать заранее
  • Нет разрешения на проверку целевого кода и систем: набор пишет и запускает код для подтверждения ошибок

Пример запроса к агенту

Запусти mantis-plan для этого репозитория и составь план проверки безопасности по модели угроз, а потом разбери файлы с наибольшим приоритетом

Ограничения

Автор открывает README предупреждением: набор создает и запускает сгенерированный код, поведение которого непредсказуемо, и подходит только для изолированных ограниченных сред. Модели недетерминированы, выдумывают находки и ошибаются в исправлениях, поэтому каждую находку должен проверить специалист до отправки отчета, а массовая подача непроверенных отчетов сопровождающим открытых проектов недопустима. Неудачное воспроизведение не доказывает ложного срабатывания, и удачное не гарантирует эксплуатации в любых условиях.

Инструмент двойного назначения: применять его можно только к системам и данным, на которые у вас есть разрешение. Для запуска нужны Docker, при желании gVisor с сетью, отключенной для кода воспроизведения, и доступ к модели. Через litellm подходят Gemini API, Vertex AI, Anthropic и совместимые конечные точки, а ключи кладутся в переменные окружения. Проект называет себя демонстрацией и не рекомендует для рабочей среды. Лицензия Apache-2.0.

Как отключить. Уберите скиллы `mantis-*` из каталога скиллов агента и удалите папку `workspace` с результатами кампании. Действие GitHub отключается удалением файла `.github/workflows/mantis-pr-scan.yml` или шага с ним в вашем рабочем процессе.

Частые вопросы

Как устроен конвейер и можно ли запускать этапы по отдельности?

Набор модульный: стадии читают и пишут общее состояние на диск в папке `workspace`, поэтому их можно выполнять последовательно или параллельно. Порядок такой: история, индекс и сводки, архитектура и модель угроз, план, исследование, объединение и проверка находок, воспроизведение, цепочки, исправление, калибровка, отчет и вывод уроков.

Чем снимок цели отличается от живой папки?

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

Куда уходит мой код?

Файлы, которые читает исследователь, попадают в запросы к выбранной модели, а адрес и ключи поставщика задаются в окружении. В действии GitHub параметр `api-base` позволяет указать совместимый адрес API на своем сервере. Облачные песочницы GCE описаны в отдельной инструкции `reference/docs/gce_sandbox_setup.md`.

Что делает действие GitHub в запросе на слияние?

Проверяет только измененные файлы, ограничивает число обращений к модели на файл (по умолчанию 150) и расход токенов за запуск, выводит вердикт аннотациями к диффу и в сводке шага. Модель по умолчанию `gemini-3.8-flash`, другие задаются параметром `model`.

Как адаптировать набор под другую область?

Автор описывает варианты: проверка проектов RTL на SystemVerilog и VHDL, инфраструктура как код с Terraform и Kubernetes, конвейеры данных и машинного обучения, серый ящик для прошивок и бинарных файлов, а также замена среды воспроизведения на виртуальные машины или стенды. Скилл `mantis-pipeline-adapter` ведет через создание собственной обвязки.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы
Официальный

Агентный SAST-сканер: ИИ-агенты читают код, проверяют находки по графу вызовов и разбирают весь репозиторий или diff для ревью pull request

CLIШирокий доступ441Звезды репозитория

Набор для авторизованного багбаунти: 50 субагентов, 26 команд и 2 MCP-сервера площадок багбаунти для Claude Code, Codex и еще пяти агентов

ПлагинШирокий доступ1 тыс.Звезды репозитория
Официальный

Эталонный набор Anthropic для защиты кода: скиллы threat-model, vuln-scan, triage и patch в Claude Code и автономный конвейер поиска уязвимостей

СкиллШирокий доступ7,6 тыс.Звезды репозитория
Официальный

CLI Snyk для поиска уязвимостей в коде, зависимостях, контейнерах и IaC, со встроенным MCP-сервером и режимом для агентов

CLIРасширенный доступ5,7 тыс.Звезды репозитория
Выбор редакции

Сканер безопасности для скиллов и MCP агентов: ищет промпт-инъекции, утечки данных и риски цепочки поставок до установки

CLIРасширенный доступ21 тыс.Звезды репозитория
Официальный

Agentic Radar разбирает код многоагентных систем на LangGraph, CrewAI, n8n, OpenAI Agents и AutoGen и собирает HTML-отчет об инструментах и уязвимостях

CLIРасширенный доступ1,1 тыс.Звезды репозитория

Сравнение с похожими

Записи с тем же главным запросом: чем они отличаются.

ЗаписьОфициальныйЗвезды репозиторияГлавное отличие
Mantis (эта запись)да2 515
security-auditнет39 716скилл аудита безопасности от Cloudflare в шесть фаз с независимой проверкой, без воспроизведения и патчей и без обвязки
Claude Code Security Reviewerнет6 490действие GitHub от Anthropic: проверяет изменения в запросе на слияние моделью Claude и оставляет замечания
LLM SAST Skillsнет1 345методика статического анализа в три шага без запуска кода и без воспроизведения ошибок

Коротко о README

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

Бейдж для README

Исходный SKILL.md

---
name: mantis-advise
description: >-
  Proactive security advisor and architectural remediation assistant for secure code development.
  Use to query threat models, historical vulnerability lineages, verified patch patterns, triaged false positives, and learned trajectory invariants before code edits or to generate architectural remediation plans for confirmed findings.
  Don't use for automated multi-pass red-team exploitation or fuzzing.
---

# Security Advisor & Remediation Engine (/mantis-advise)

## System Goal

Proactive Secure Development & Architectural Remediation Engine. Functions as a
security guardrail, advisory assistant, and architectural remediator for
developers and coding agents. Queries Mantis threat models, historical
vulnerability lineages, verified remediation patterns, triaged false positives,
and learned trajectory invariants to ensure that new code and refactors are
implemented securely from the start, and to synthesize robust architectural
remediations for confirmed vulnerabilities.

## Command Definition

- **Command:** `/mantis-advise`
- **Description:** Queries security knowledge for a given target file or module,
  evaluates proposed changes against known threat boundaries, and provides
  verified secure implementation guidance or architectural remediation plans.
- **Execution Command:**
  ```bash
  python3 "${MANTIS_HOME:-/path/to/mantis}/reference/scripts/advise.py" --file <target_file> [--db knowledge.db]
  ```
- **Arguments (optional):**
  - `--file` / `-f` (or `--target` / `-t`): Target source file or component path
    (e.g. `src/auth.py` or `api/app.py`). Defaults to repo-wide scope if
    omitted.
  - `--remediate` / `-r`: Finding ID, lineage UUID, or file to generate an
    architectural remediation dossier and verification plan for.
  - `--db` / `-d`: Path to Mantis SQLite database (default: auto-discovers
    `knowledge.db` or `workspace/knowledge.db`).
  - `--lineage` / `-l`: Query lifecycle and recurrence for a specific lineage
    UUID.
  - `--signature` / `-s`: Query lifecycle for a specific content signature hash.
  - `--json`: Emit structured JSON output instead of formatted markdown.
  - `--full`: Emit unabridged OKF markdown bodies and un-truncated diffs.

## How to Fetch Guidance

All Mantis knowledge (threat models, historical findings, verified patches,
triaged false positives, and learned invariants) lives in the SQLite database
(`knowledge.db`). Do not look for flat files on disk (like `learnings.jsonl` or
`workspace/findings/*.json`). Use one of the two execution doors below:

Сообщить о проблеме

Foxx AIMantis
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.