Bawbel Scanner — MCP-сервер для Claude Code
Статический сканер MCP-серверов и файлов скиллов: ищет уязвимости по базе AVE и ставит оценку OWASP AIVSS каждой находке. Сами серверы при этом не запускаются.
claude mcp add bawbel-scanner -- uvx bawbel-scannerЧто делает Bawbel Scanner
Сканер работает с тем, что вы ему отдаёте: файлы скиллов, каталоги, карточки MCP-серверов по URL. Проверка идёт слоями — регулярные правила, YARA, Semgrep, семантический разбор через LLM и динамический анализ в Docker-песочнице. Результаты сводятся в один список, находки сортируются по серьёзности, поверх считается риск составных атак: сканер сопоставляет пары возможностей по определениям цепочек.
Песочница выключена по умолчанию. Пока её не включить через BAWBEL_SANDBOX_ENABLED=true, просканированный код не исполняется. Сканирование MCP-сервера идёт по его карточке — процесс не поднимается. Учтите: YARA, Semgrep и LLM-движок подключаются отдельными extras пакета, а LLM-движку нужен ключ API. Без них остаются только регулярные правила, и это заметно сужает охват.
Кроме проверки на уязвимости есть служебные команды: bawbel init создаёт .bawbelignore и bawbel.yml, bawbel pin хеширует файлы скиллов в .bawbel-pins.json, а bawbel cp ловит подмену по дрейфу хешей. Подавление находок пишется комментарием с причиной и ревьюером, срок можно задать. Для CI пригодится --fail-on-severity и вывод в формате SARIF.
Какие задачи решает
- проверить скиллы агента на уязвимости до того, как они попадут в рабочий проект
- просканировать MCP-сервер по карточке, не запуская его процесс
- найти захардкоженные ключи и утечки секретов в файлах скиллов
- обнаружить подмену файлов скиллов через сверку с сохранёнными хешами
- заблокировать сборку при находках выше заданной серьёзности
Примеры запросов агенту
- Просканируй каталог
./skills/и покажи находки с оценкой AIVSS - Проверь карточку MCP-сервера по адресу
https://server— запускать его не нужно - Отметь находку как принятый риск с причиной и укажи ревьюера
Как установить Bawbel Scanner
Командой платформы
claude mcp add bawbel-scanner -- uvx bawbel-scanneruvx запускает команду с именем пакета; если в README она другая — uvx --from bawbel-scanner <команда>
Командой платформы
codex mcp add bawbel-scanner -- uvx bawbel-scanneruvx запускает команду с именем пакета; если в README она другая — uvx --from bawbel-scanner <команда>
Файл настроек
{
"mcpServers": {
"bawbel-scanner": {
"command": "uvx",
"args": [
"bawbel-scanner"
]
}
}
}uvx запускает команду с именем пакета; если в README она другая — uvx --from bawbel-scanner <команда>
Файл настроек
{
"servers": {
"bawbel-scanner": {
"type": "stdio",
"command": "uvx",
"args": [
"bawbel-scanner"
]
}
}
}uvx запускает команду с именем пакета; если в README она другая — uvx --from bawbel-scanner <команда>
Командой платформы
gemini mcp add bawbel-scanner uvx bawbel-scanneruvx запускает команду с именем пакета; если в README она другая — uvx --from bawbel-scanner <команда>
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о Bawbel Scanner
Как установить Bawbel Scanner в Claude Code?
Одной командой: claude mcp add bawbel-scanner -- uvx bawbel-scanner. Дальше можно вызывать сканер из сессии.
Что делает Bawbel Scanner?
Ищет уязвимости в файлах скиллов и в карточках MCP-серверов, присваивает находкам оценку OWASP AIVSS и считает риск по цепочкам составных атак.
Нужен ли Docker для работы сканера?
Только для динамического анализа в песочнице, и он выключен по умолчанию. Включается переменной BAWBEL_SANDBOX_ENABLED=true.