
shannon v2.3.0
Shannon — это автономный ИИ-пентестер белого ящика для веб-приложений и API. Он анализирует ваш исходный код, выявляет векторы атак и запускает реальные эксплойты, чтобы доказать наличие уязвимостей до того, как они попадут в продакшн.
[!NOTE] Shannon 2.0 официально здесь
Shannon — это автономный ИИ-пентестер для веб-приложений и API.
Он анализирует ваш исходный код, выявляет векторы атак и выполняет реальные эксплойты, чтобы доказать наличие уязвимостей до того, как они попадут в продакшен.
Этот репозиторий — Shannon Open Source: полноценный агент, запускаемый локально из вашей командной строки.
[!TIP] ИИ-агентам и LLM: начните с llms.txt для краткой карты этого репозитория или используйте llms-full.txt для объединённых в один файл README и документации.
Содержание
- Что такое Shannon?
- Shannon в действии
- Быстрый старт
- Ключевые возможности
- Редакции
- Архитектура
- Документация
- Безопасность, область применения и ограничения
- Лицензия
- О Keygraph
- Сообщество и поддержка
- Частые вопросы
Что такое Shannon?
Shannon — это автономный ИИ-пентестер, разработанный Keygraph. Он выполняет тестирование безопасности веб-приложений и их базовых API, сочетая анализ исходного кода с эксплуатацией в реальном времени.
Shannon анализирует исходный код вашего веб-приложения для выявления потенциальных векторов атак, а затем использует автоматизацию браузера и инструменты командной строки для выполнения реальных эксплойтов против работающего приложения и его API. В итоговый отчёт включаются только уязвимости с рабочим proof-of-concept.
Shannon — это агент. Этот репозиторий — Shannon Open Source, автономный пентестер, который вы запускаете самостоятельно. Тот же Shannon также обеспечивает работу платформы Keygraph, коммерческого продукта Keygraph для пентестинга. См. раздел Редакции для сравнения этих двух вариантов.
Почему существует Shannon
Благодаря таким инструментам, как Claude Code и Cursor, ваша команда выпускает код без остановки. А ваш пентест? Он проводится раз в год. Это создаёт огромный разрыв в безопасности. В остальные 364 дня вы можете незаметно отправлять уязвимости в продакшен.
Shannon закрывает этот разрыв, предоставляя пентестинг по требованию в автоматическом режиме, который можно запускать для каждой сборки или релиза.
Shannon в действии
Примеры отчётов о пентесте с намеренно уязвимых приложений, созданных Shannon Open Source:
| Цель | Краткое описание | Отчёт |
|---|---|---|
| OWASP Juice Shop | 20+ уязвимостей, включая обход аутентификации, SQL-инъекции, IDOR и SSRF. | Просмотреть отчёт |
| c{api}tal API | Примерно 15 критических находок и находок высокой степени серьёзности в API, включая инъекции команд, обход аутентификации и массовое присваивание. | Просмотреть отчёт |
| OWASP crAPI | 15+ критических находок и находок высокой степени серьёзности в путях JWT, инъекций, SSRF и авторизации API. | Просмотреть отчёт |
Быстрый старт
Предварительные требования
- Docker: требуется для контейнера воркера.
- Node.js 18+: требуется для рекомендуемого рабочего процесса через
npx. - Учётные данные ИИ-провайдера: Shannon работает на Anthropic, OpenAI, xAI, AWS Bedrock, любом другом провайдере из каталога harness, а также на любой конечной точке, поддерживающей Anthropic Messages API или OpenAI Chat Completions или Responses API через пользовательский базовый URL. Вы используете свой собственный ключ, и Keygraph никогда не проксирует ваш трафик моделей. Shannon не привязан к конкретному провайдеру. См. раздел ИИ-провайдеры для рекомендуемых идентификаторов моделей.
- Снятие киберограничений у вашего провайдера: Anthropic и OpenAI применяют защитные механизмы в реальном времени к кибербезопасным нагрузкам, которые могут прервать сканирование на середине выполнения. Пройдите их инструкции для легитимных тестировщиков безопасности перед первым запуском — см. раздел ИИ-провайдеры.
Запуск Shannon
[!WARNING] Shannon активно выполняет эксплойты. Запускайте его только против приложений и сред, которыми вы владеете или на тестирование которых у вас есть явное письменное разрешение. Не запускайте Shannon против продакшен-систем.```bash
Configure credentials with the interactive wizard.
npx @keygraph/shannon setup
Run a pentest against a source-available target.
npx @keygraph/shannon start -u https://your-app.com -r /path/to/your-repo
Shannon извлекает образ воркера из Docker Hub, запускает необходимую локальную инфраструктуру, монтирует целевой репозиторий в режиме только для чтения внутри эфемерного контейнера воркера и записывает результаты в локальное рабочее пространство.
Для сборок из исходного кода, аутентифицированных сканирований, настройки под конкретного провайдера и примечаний по платформам см. [Документацию](#documentation).
> [!TIP]
> **Предпочитаете использовать подписку вместо API-кредитов?**
>
> - **OpenAI Codex:** Последняя версия Shannon поддерживает подписки ChatGPT Plus и Pro. Следуйте [руководству по настройке подписки OpenAI Codex](https://github.com/keygraphhq/shannon/blob/main/docs/ai-providers.md#openai-codex-chatgpt-pluspro-subscription), чтобы начать.
> - **xAI (Grok):** Последняя версия Shannon поддерживает подписки xAI. Следуйте [руководству по настройке подписки xAI](https://github.com/keygraphhq/shannon/blob/main/docs/ai-providers.md#xai-grok-subscription), чтобы начать.
> - **Claude Code:** Последняя версия Shannon не поддерживает подписки Claude Code. Следуйте [руководству по настройке подписки Claude Code](https://github.com/keygraphhq/shannon/blob/main/docs/ai-providers.md#claude-code-subscription), чтобы использовать версию `1.9.0`, которая является финальным релизом, построенным на Claude Agent SDK.
## Ключевые возможности
- **Отчёты с доказательством эксплуатации**: Shannon сообщает о подтверждённых находках с воспроизводимыми шагами proof-of-concept вместо спекулятивных предупреждений.
- **Планирование атак «белого ящика»**: Shannon использует анализ исходного кода для направления динамического тестирования и фокусировки на реалистичных векторах атак.
- **Автономное выполнение**: Shannon запускает разведку, анализ уязвимостей, эксплуатацию и генерацию отчётов одной командой.
- **Аутентифицированное тестирование**: файлы конфигурации могут описывать потоки входа, тестовые учётные данные, TOTP, потоки входа на основе электронной почты, области фокусировки и правила взаимодействия.
- **Покрытие по стандартам OWASP**: Shannon нацелен на эксплуатируемые проблемы Injection, XSS, SSRF, Broken Authentication и Broken Authorization.
- **Возобновляемые рабочие пространства**: Shannon может возобновлять прерванные запуски без повторного выполнения завершённых агентов.
- **Машиночитаемый вывод**: Shannon выдаёт находки в виде структурированного JSON, а по умолчанию — в формате SARIF 2.1.0 при сканированиях в режиме эксплуатации (отключить можно с помощью `report.sarif: "false"`). SARIF — это стандарт OASIS для результатов статического анализа, поэтому находки попадают в любую службу сканирования кода, платформу управления уязвимостями, панель безопасности или конвейер CI/CD, который его читает.
- **Свой ключ, независимость от провайдера**: Shannon работает на Anthropic, OpenAI, xAI, AWS Bedrock и любой конечной точке, поддерживающей Anthropic Messages API или OpenAI Chat Completions или Responses API, включая самостоятельно размещённые модели, обслуживаемые через Ollama, vLLM или LM Studio, а также шлюзы, такие как OpenRouter и LiteLLM. Вы предоставляете учётные данные, поэтому исходный код и трафик моделей остаются внутри вашей инфраструктуры. Локальные и самостоятельно размещённые модели технически поддерживаются, но не рекомендуются: они могут не так надёжно следовать инструкциям Shannon или ограничениям использования инструментов, как ведущие модели, поэтому выбирайте этот путь только если вы знаете, как ведёт себя выбранная вами модель.
## Редакции
Shannon поставляется в двух вариантах: **Shannon Open Source** — пентестер, которого вы запускаете сами, и **платформа Keygraph** — коммерческий продукт для пентестинга, который запускает Shannon непрерывно и замыкает вокруг него полный жизненный цикл AppSec.
**Shannon Open Source** (этот репозиторий) — автономный пентестер: CLI-агент для тестирования «белого ящика» с доказательством эксплуатации веб-приложений и API, которыми вы владеете или на тестирование которых уполномочены. Он читает ваш исходный код, планирует атаки, выполняет реальные эксплойты и сообщает только о том, что может доказать. Он работает по запросу и полностью самодостаточен в этой нише. Вы указываете ему цель — он проводит пентест и составляет отчёт.
**Платформа Keygraph** — это корпоративный продукт непрерывного пентестинга на базе Shannon. В платформе Keygraph улучшенная сборка Shannon работает непрерывно в защищённой, оркестрированной среде, питаемой полным стеком анализа кода Keygraph. Вокруг этого движка платформа замыкает весь жизненный цикл уязвимостей — от анализа до проверенного исправления:
- **Анализ**: SAST на основе Code Property Graph, SCA с проверкой достижимости, секреты, IaC и сканирование контейнеров. Это первоклассное обнаружение само по себе, а также контекст, который оттачивает атаки Shannon.
- **Доказательство**: автономные пентесты «чёрного ящика» и «белого ящика» с учётом исходного кода превращают кандидатные находки в доказанные, эксплуатированные уязвимости, а не в спекулятивные оповещения.
- **Управление**: одна каноническая запись на каждую уязвимость в каждом репозитории, дедуплицированная по всем источникам, с владельцем, статусом, отслеживанием SLA, панелями мониторинга и двунаправленной синхронизацией с Jira.
- **Исправление и проверка**: патчи пишутся автоматически и повторно тестируются против исправленного кода перед доставкой, попадая в ваш существующий процесс ревью, а не применяясь автоматически.
- **Развёртывание**: самостоятельно размещённые среды и среды с воздушным зазором, строгий доступ к моделям по модели bring-your-own-key и управляемые клиентом шаблоны LLM-шлюзов, чтобы исходный код, результаты и трафик моделей оставались внутри вашего периметра.
Shannon — это движок доказательств в центре платформы Keygraph. Shannon Open Source даёт вам этот движок для самостоятельного запуска. Платформа Keygraph окружает Shannon непрерывным анализом, управлением находками, исправлением, проверкой и корпоративным развёртыванием.
| Этап жизненного цикла AppSec | Shannon Open Source | Платформа Keygraph |
| --- | --- | --- |
| Анализ | Базовая передача исходного кода LLM для планирования атак | Фактический разбор кодовой базы, плюс Code Property Graph, SAST, SCA с проверкой достижимости, секреты, IaC и контейнеры |
| Пентест и доказательство | Только «белый ящик», доказательство через эксплуатацию | Улучшенный «белый ящик», плюс режимы «чёрного ящика» и «серого ящика», работающие непрерывно |
| Управление находками | Локальный отчёт в Markdown | Каноническая система находок: дедупликация по источникам, владелец, SLA, панели мониторинга, синхронизация с Jira и профессиональные PDF-отчёты уровня пентеста |
| Исправление и проверка | Исправление вручную по отчёту, затем повторный полный скан для проверки | Автоматизированное исправление: открывает PR с исправлением, проверенным точечным повторным тестом без повторного полного скана |
| Развёртывание и эксплуатация | Локальный CLI и Docker-воркер | Самостоятельное размещение, воздушный зазор, BYOK, непрерывная работа, корпоративные интеграции |
| Лицензия и поддержка | AGPL-3.0, сообщество | Коммерческая, с поддержкой |
Узнайте больше на [сайте Keygraph](https://keygraph.io), прочитайте [технический обзор платформы Keygraph](https://github.com/keygraphhq/shannon/blob/main/docs/keygraph-platform.md), начните бесплатную пробную версию или запишитесь на [демо](https://cal.com/team/keygraph/shannon-pro), либо свяжитесь по адресу [[email protected]](mailto:[email protected]).
## Архитектура
Shannon использует мультиагентный рабочий процесс, сочетающий анализ исходного кода с живой эксплуатацией:```text
┌──────────────────────┐
│ Pre-Reconnaissance │
│ (source code scan) │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ Reconnaissance │
│ (attack surface │
│ mapping) │
└──────────┬───────────┘
│
▼
┌──────────┴───────────┐
│ │ │
▼ ▼ ▼
┌───────────┐ ┌───────────┐ ┌───────────┐
│ Vuln │ │ Vuln │ │ ... │
│(Injection)│ │ (XSS) │ │ │
└─────┬─────┘ └─────┬─────┘ └─────┬─────┘
│ │ │
▼ ▼ ▼
┌───────────┐ ┌───────────┐ ┌───────────┐
│ Exploit │ │ Exploit │ │ ... │
│(Injection)│ │ (XSS) │ │ │
└─────┬─────┘ └─────┬─────┘ └─────┬─────┘
│ │ │
└──────┬───────┴─────────────┘
│
▼
┌──────────────────────┐
│ Reporting │
└──────────────────────┘
На высоком уровне:
- Предварительная разведка определяет фреймворки, точки входа, потоки данных и вероятные поверхности атак из репозитория.
- Разведка исследует работающее приложение и сопоставляет поведение во время выполнения с контекстом на уровне кода.
- Анализ уязвимостей запускает специализированные агенты для Injection, XSS, SSRF, Authentication и Authorization.
- Эксплуатация выполняет реальные proof-of-concept атаки и отбрасывает гипотезы, которые невозможно доказать.
- Отчетность собирает подтвержденные находки, доказательства и рекомендации по устранению в итоговый отчет в формате Markdown.
Каждое сканирование выполняется в эфемерном Docker-контейнере с изолированным рабочим пространством и оркестрацией для каждого запуска.
Документация
Используйте эти руководства для получения операционных деталей:
| Руководство | Для чего использовать |
|---|---|
| Сборка из исходников и команды CLI | Клонирование, сборка, общие команды, пути вывода и локальная разработка. |
| Конфигурация | Авторизованное тестирование, сценарии входа, правила взаимодействия и фильтры отчетов. |
| AI-провайдеры | Выбор модели, поддерживаемые провайдеры (Anthropic, OpenAI, xAI, AWS Bedrock и любой другой провайдер, поддерживаемый Pi), и пользовательские шлюзы. |
| Платформы и сеть | Windows/WSL2, Linux, macOS, сеть Docker, локальные приложения и пользовательские имена хостов. |
| Рабочие пространства и возобновление | Именование рабочих пространств, возобновление прерванных сканирований и хранение рабочих пространств. |
| Безопасность и ограничения | Требования к авторизованному использованию, рекомендации по непроизводственным средам, мутирующие эффекты, стоимость и ограничения моделей. |
| Покрытие и дорожная карта | Текущее покрытие уязвимостей и запланированные работы. |
| Платформа Keygraph | Непрерывная агентная платформа пентестинга: анализ кода, тестирование черного и белого ящика, управление находками, устранение, верификация и корпоративное развертывание. |
Безопасность, область применения и ограничения
Shannon — это не пассивный сканер. Его агенты эксплуатации могут создавать пользователей, отправлять формы, изменять состояние приложения, инициировать исходящие запросы и иным образом влиять на целевую систему. Используйте песочницы, стейджинг или локальные среды разработки с одноразовыми данными.
Вы несете ответственность за законное и этичное использование Shannon. Не направляйте Shannon на системы, репозитории или приложения, которыми вы не владеете или на тестирование которых у вас нет явного разрешения.
Важные ограничения:
- Shannon Open Source фокусируется на активно эксплуатируемых проблемах, таких как Injection, XSS, SSRF, Broken Authentication и Broken Authorization. Более широкое покрытие статического анализа, включая уязвимые зависимости и небезопасные конфигурации, обеспечивается через платформу Keygraph.
- Находки по-прежнему требуют проверки человеком. Отчеты, созданные LLM, могут содержать слабо обоснованные или неверные детали.
- Anthropic, OpenAI, xAI и AWS Bedrock — встроенные провайдеры, а любой конечный пункт Anthropic Messages API или OpenAI Chat Completions или Responses API работает через пользовательский базовый URL. Возможности моделей различаются, и модель, которая ненадежно следует инструкциям Shannon или ограничениям использования инструментов, даст более слабые результаты.
- Полный запуск может занять примерно от 1 до 1,5 часов и может повлечь затраты на LLM API в зависимости от цены модели и сложности приложения.
- Не сканируйте ненадежные или враждебные кодовые базы. Инструменты на основе ИИ, которые читают исходный код, могут быть подвержены prompt injection.
Прочтите полное руководство Безопасность и ограничения перед запуском Shannon в новой среде.
Лицензия
Shannon Open Source лицензирован в соответствии с GNU Affero General Public License v3.0.
Коммерческое и корпоративное лицензирование доступно для организаций, которым нужны другие условия лицензии, коммерческая поддержка, частное распространение, использование в управляемых сервисах или более широкие варианты развертывания, включая платформу Keygraph.
Для коммерческого лицензирования свяжитесь по адресу [email protected].
О Keygraph
Keygraph — компания, стоящая за Shannon. Она также создает платформу Keygraph — коммерческий продукт для агентного пентестинга, который замыкает полный жизненный цикл AppSec и использует улучшенную сборку Shannon в качестве своего движка пентестинга.
Сообщество и поддержка
Часы работы сообщества доступны для практической помощи с ошибками, развертываниями и вопросами конфигурации.
- США/ЕС: четверг, 10:00 AM PT
- Азия: четверг, 2:00 PM IST
- Забронировать слот
Присоединяйтесь к Discord, чтобы задавать вопросы, делиться отзывами и общаться с другими пользователями Shannon.
В настоящее время Keygraph не принимает внешние вклады в код. Приветствуются issues для сообщений об ошибках и запросов функций:
Оставайтесь на связи:
Частые вопросы
Могу ли я разместить Shannon самостоятельно?
Да. Shannon Open Source полностью работает на вашей собственной инфраструктуре в эфемерном Docker-контейнере. Ваш исходный код монтируется в режиме только для чтения и никогда не покидает вашу среду.
Поддерживает ли Shannon использование собственного ключа (BYOK)?
Да, всегда. Вы предоставляете учетные данные LLM, которые Shannon использует для проведения пентеста, в каждом развертывании — как с открытым исходным кодом, так и в коммерческом. Keygraph никогда не проксирует трафик вашей модели.
Выводит ли Shannon SARIF?
Да. Shannon выдает SARIF 2.1.0 — стандартный формат OASIS для результатов статического анализа, — наряду со структурированным JSON. Любой потребитель SARIF может его прочитать: сервисы сканирования кода, платформы управления уязвимостями, панели безопасности и конвейеры CI/CD. Он записывается по умолчанию при сканировании в режиме эксплуатации; установите report.sarif в "false" в вашем файле конфигурации, чтобы отказаться от него.
Какие AI-провайдеры поддерживает Shannon?
Anthropic, OpenAI, xAI и AWS Bedrock встроены и настраиваются напрямую по идентификатору провайдера. Кроме того, Shannon работает на любом конечном пункте, который реализует Anthropic Messages API или OpenAI Chat Completions или Responses API, доступном через пользовательский базовый URL. Правило — это формат API, а не поставщик. Shannon использует единую унифицированную настройку модели на протяжении всего пентеста.
Могу ли я запустить Shannon на локальной или самостоятельно размещенной модели?
Технически да, но это не рекомендуется. Shannon работает с локальными моделями, обслуживаемыми через Ollama, vLLM или LM Studio, которые предоставляют конечный пункт, совместимый с OpenAI, а также с маршрутизаторами, такими как OpenRouter, и шлюзами, такими как LiteLLM. Направьте Shannon на конечный пункт с пользовательским базовым URL. Возможности различаются, и модель, которая ненадежно следует инструкциям Shannon или ограничениям использования инструментов, даст более слабые пентесты, чем передовая модель, поэтому выбирайте этот путь только если вы знаете, как ведет себя выбранная вами модель. См. AI-провайдеры.
Действительно ли Shannon эксплуатирует уязвимости или только сканирует?
Shannon выполняет реальные эксплойты. Он сообщает о находке только тогда, когда создал работающий proof-of-concept, и отбрасывает гипотезы, которые не может доказать. Это пентестер, а не сканер.
Создано Keygraph

