
shannon v3.1.0
Shannon — это автономный ИИ-пентестер белого ящика для веб-приложений и API. Он анализирует ваш исходный код, выявляет векторы атак и запускает реальные эксплойты, чтобы доказать наличие уязвимостей до того, как они попадут в продакшн.
[!NOTE] Shannon 3.0 уже доступен: более глубокий анализ безопасности кода, более тщательно проверенные находки, переработанный CLI, нативная интеграция с CI/CD, профессиональные PDF-отчёты и SARIF.
Shannon — автономный ИИ-пентестер для веб-приложений и API.
Он анализирует ваш исходный код, выявляет пути атак и выполняет реальные эксплойты, чтобы доказать наличие уязвимостей до того, как они попадут в продакшен. Нет эксплойта — нет отчёта.
Этот репозиторий — Shannon Open Source: полноценный агент, запускаемый локально из командной строки.
Запустить Shannon
```bash npx @keygraph/shannon@latest ``` Интерактивный лаунчер проведёт вас через настройку и первый пентест.[!TIP] AI-агенты и LLM: начните с llms.txt для краткой карты этого репозитория или используйте llms-full.txt, где README и документация объединены в один файл.
Содержание
- Содержание
- Что такое Shannon?
- Shannon в действии
- Быстрый старт
- Ключевые возможности
- Интеграции CI/CD
- Редакции
- Архитектура
- Документация
- Безопасность, область применения и ограничения
- Лицензия
- Благодарности
- О Keygraph
- Сообщество и поддержка
- Частые вопросы
- Могу ли я развернуть Shannon самостоятельно?
- Поддерживает ли Shannon bring your own key (BYOK)?
- Выводит ли Shannon SARIF?
- Каких AI-провайдеров поддерживает Shannon?
- Могу ли я запустить Shannon на локальной или самостоятельно развёрнутой модели?
- Shannon действительно эксплуатирует уязвимости или только сканирует?
Что такое Shannon?
Shannon — это автономный AI-пентестер, разработанный Keygraph. Он выполняет тестирование безопасности веб-приложений и их базовых API, сочетая анализ исходного кода с эксплуатацией в реальном времени.
Shannon анализирует исходный код вашего веб-приложения, чтобы выявить потенциальные векторы атак, а затем использует автоматизацию браузера и инструменты командной строки для выполнения реальных эксплойтов против работающего приложения и его API. В итоговый отчёт включаются только уязвимости с работающим proof-of-concept.
Shannon — это агент. Этот репозиторий — Shannon Open Source, автономный пентестер, который вы запускаете сами. Тот же Shannon также лежит в основе платформы Keygraph, коммерческого продукта Keygraph для пентестинга. См. Редакции, чтобы узнать, чем они отличаются.
Зачем существует Shannon
Благодаря таким инструментам, как Claude Code и Cursor, ваша команда выпускает код без остановки. Но ваше пентестирование? Оно происходит раз в год. Это создаёт огромный разрыв в безопасности. В течение остальных 364 дней вы можете, сами того не зная, выпускать уязвимости в продакшен.
Shannon закрывает этот разрыв, обеспечивая автоматизированное пентестирование по требованию, которое можно запускать при каждой сборке или релизе.
Почему «Shannon»?
Он назван в честь Клода Шеннона, отца теории информации. По своей сути пентестинг — это информационная задача: каждая проверка уменьшает неопределённость о состоянии системы. Лучшие инструменты максимизируют сигнал, получаемый от каждого запроса, превращая эти крупицы знания в путь эксплуатации.
Кроме того, мы хотели, чтобы вы могли сказать: «Эй, Claude, запусти Shannon», чтобы найти все уязвимости безопасности в вашем вайб-кодированном приложении.
Не замена человеческим пентестерам
Shannon создан для работы вместе с опытными пентестерами и red team-специалистами, а не для их замены. Хорошие пентестеры понимают бизнес, выстраивают цепочки атак так, как никто не предполагал, и привносят годы суждений, которые текущие модели не могут воспроизвести.
Shannon решает другую проблему: программного обеспечения для тестирования гораздо больше, чем у команд безопасности есть времени охватить. Критически важные системы получают периодические экспертные оценки, тогда как длинный хвост внутренних приложений, API и быстро меняющихся сервисов почти никогда не тестируется вообще.
Shannon сдвигает пентестинг влево в жизненный цикл разработки программного обеспечения (SDLC). Используйте его для запуска тестов с подтверждённой эксплуатацией против staging-сред и релизов с той частотой, с которой они действительно выпускаются, и сохраните время экспертов-людей для рисков, требующих того, кто знает организацию.
Shannon в действии

Эти отчёты получены в результате сканирований Shannon Open Source приложения Photoview 2.4.0 — одного из приложений в сравнении Aikido и XBOW от Doyensec. Мы запустили Shannon против той же версии приложения и оценили его результаты отдельно. Ознакомьтесь с исследованием Doyensec и нашим последующим сравнением Shannon, чтобы узнать методологию, ограничения, затраты и результаты.
| Модель | Отчёт | SARIF |
|---|---|---|
| DeepSeek v4 Flash | Посмотреть отчёт | SARIF |
| Grok 4.6 | Посмотреть отчёт | SARIF |
| Claude Opus 5 | Посмотреть отчёт | SARIF |
Быстрый старт
Предварительные требования
- Docker: требуется для контейнера worker.
- Node.js 18+: требуется для рекомендуемого рабочего процесса
npx. - Учётные данные AI-провайдера: Shannon работает на Anthropic, OpenAI, xAI, AWS Bedrock и любом другом провайдере из каталога harness — каждый из которых можно направить на прокси или LLM-шлюз через пользовательский base URL. Вы используете свой собственный ключ, и Keygraph никогда не проксирует трафик вашей модели. Shannon не зависит от провайдера. См. AI-провайдеры для рекомендуемых идентификаторов моделей.
- Кибер-меры защиты согласованы с вашим провайдером: Anthropic и OpenAI применяют меры защиты в реальном времени к рабочим нагрузкам в области кибербезопасности, что может прервать сканирование в середине запуска. Выполните их рекомендации для легитимных специалистов по тестированию безопасности перед первым запуском — см. AI-провайдеры.
Запуск Shannon
[!WARNING] Shannon активно выполняет эксплойты. Запускайте его только против приложений и сред, которыми вы владеете или на тестирование которых у вас есть явное письменное разрешение. Не запускайте Shannon против продакшен-систем.```bash
Configure credentials with the interactive wizard.
npx @keygraph/shannon@latest setup
Run a pentest against a source-available target.
npx @keygraph/shannon@latest start
-u https://your-app.com
-r /path/to/your/repo
Shannon извлекает образ worker из Docker Hub, запускает необходимую локальную инфраструктуру, монтирует целевой репозиторий в режиме только для чтения внутри эфемерного контейнера worker и записывает результаты в локальное рабочее пространство.
Для сборок из исходного кода, аутентифицированных сканирований, настройки под конкретного провайдера и примечаний по платформам см. [Документация](#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.
## Ключевые возможности
- **Нет эксплойта — нет отчёта**: Отчёты содержат только уязвимости, подтверждённые воспроизводимым proof of concept, что снижает спекулятивный шум сканеров.
- **Продвинутый анализ кода**: Строит карту архитектуры, границ доверия, интерфейсов, потоков данных и критичных активов, прежде чем передать правдоподобные пути атак живым агентам пентестинга.
- **Автономное выполнение**: Выполняет разведку, анализ, эксплуатацию и составление отчётов одной командой.
- **Живой терминальный опыт**: Упрощает настройку сканирования и показывает прогресс и результаты агентов, не раскрывая логи оркестрации.
- **Аутентифицированное тестирование**: Поддерживает учётные данные, сценарии входа, TOTP, аутентификацию по email, области фокуса и правила взаимодействия через конфигурацию.
- **Покрытие с фокусом на OWASP**: Тестирует эксплуатируемые инъекции, XSS, SSRF, нарушенную аутентификацию и нарушенную авторизацию.
- **Возобновляемые рабочие пространства**: Возобновляет прерванные сканирования без повторения завершённой работы.
- **Нативные интеграции CI/CD**: Работает через официальный GitHub Action или компонент GitLab CI/CD, сохраняет артефакты, публикует находки и блокирует релизы при доказанных уязвимостях.
- **Отчёты в нескольких форматах**: Формирует насыщенные доказательствами отчёты в PDF и Markdown, а также JSON и SARIF 2.1.0. SARIF включён по умолчанию для сканирований в режиме эксплуатации.
- **Независимость от провайдера и BYOK**: Поддерживает Anthropic, OpenAI, xAI, AWS Bedrock, совместимые API и LLM-шлюзы, а также локальные модели, обслуживаемые через Ollama, vLLM или LM Studio.
- **Приватность по дизайну**: Работает в вашей инфраструктуре, хранит результаты локально и отправляет запросы к моделям напрямую на выбранный вами endpoint. Локальный endpoint сохраняет данные внутри вашей среды.
## Интеграции CI/CD
Shannon может работать непрерывно против развёрнутых staging- и development-сред через официальные интеграции для [GitHub Actions](https://github.com/KeygraphHQ/shannon-action) и [GitLab CI/CD](https://gitlab.com/KeygraphHQ/shannon-ci).
Обе интеграции:
- анализируют извлечённый из репозитория исходный код, атакуя при этом работающую цель;
- сохраняют отчёты в PDF, Markdown и SARIF как артефакты пайплайна;
- сохраняют логи сканирования и агентов для отладки, включая незавершённые запуски;
- поддерживают пентесты для pull request, релизов и по расписанию;
- различают незавершённую оценку и завершённое сканирование без находок; и
- опционально завершают пайплайн с ошибкой, когда Shannon эксплуатирует уязвимость на уровне или выше настроенного порога серьёзности.
Гипотеза из анализа кода не приводит к сбою пайплайна. Пороги серьёзности учитывают только находки со `status: exploited`.
### GitHub Actions```yaml
name: Shannon Pentest
on:
workflow_dispatch:
permissions:
security-events: write
jobs:
pentest:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run Shannon
uses: KeygraphHQ/shannon-action@v1
with:
url: https://staging.example.com
api-key: ${{ secrets.SHANNON_AI_API_KEY }}
fail-on-severity: high
upload-sarif: true
The Action defaults repo to the checked-out GitHub workspace. It uploads one artifact containing the security assessment reports and SARIF, plus a separate run artifact containing scan and agent logs. Enabling upload-sarif publishes supported findings to GitHub code scanning.
Requirements:
- a private repository;
- a runner with Docker and Docker Compose v2;
- access to the running staging or development target; and
- a model-provider credential stored as a GitHub Actions secret.
See the Shannon GitHub Action documentation and GitHub Marketplace listing.
Editions
Shannon Open Source is a complete autonomous pentester, especially well suited to individual developers and small teams running focused security tests locally or in CI/CD.
Keygraph Enterprise Platform is for organizations that need a shared platform for continuous agentic pentesting/AppSec across many teams, repositories, and environments. It centralizes deeper analysis, vulnerability management, remediation, verification, governance, and reporting so teams do not have to assemble and maintain those workflows themselves.
Learn about the Keygraph Enterprise Platform and compare editions →
Architecture
Shannon combines multi-stage security code analysis with live reconnaissance and exploitation:```mermaid flowchart TD S["Source code"] --> EXISTING["Recon + vulnerability analysis"] S --> SAST["Agentic security code analysis"]
EXISTING -- "Pentest candidates" --> REC["Finding reconciliation<br/>(merge + deduplicate)"]
SAST -- "SAST candidates" --> REC
REC -- "Reconciled exploitation queue" --> EXP["Exploitation agents"]
APP["Running application"] --> EXP
EXP -- "Exploit demonstrated" --> REPORT["Reporting<br/>PDF · Markdown · SARIF"]
EXP -- "No exploit demonstrated" --> DROP["Discard"]
REPORT --> CICD["CI/CD gate"]
Поэтапно:
1. **Разведка и анализ уязвимостей** исследует работающее приложение, связывает поведение во время выполнения с исходным кодом и запускает специализированных агентов по направлениям Injection, XSS, SSRF, Authentication и Authorization.
2. **Агентный анализ безопасности кода** составляет карту архитектуры приложения, границ доверия, открытых интерфейсов, зависимостей, потоков данных и высокорисковых активов, а затем открывает целевые расследования против них.
3. **Согласование находок** объединяет оба потока кандидатов, устраняет дублирование и группирует оставшееся в очередь эксплуатации.
4. **Агенты эксплуатации** пытаются провести реальные атаки proof-of-concept против работающего приложения.
5. **Валидация** отбрасывает каждого кандидата, которого Shannon не может продемонстрировать.
6. **Отчётность** формирует отчёты в форматах PDF и Markdown с приложенными доказательствами, а также структурированный JSON и SARIF для нижестоящих систем.
Только уязвимости, подтверждённые на живом приложении, становятся находками пентеста Shannon или учитываются в порогах серьёзности CI/CD.
Каждое сканирование выполняется в эфемерном Docker-контейнере с изолированным рабочим пространством и оркестрацией для каждого запуска.
## Документация
Используйте эти руководства для получения операционных деталей:
| Руководство | Для чего использовать |
| --------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Сборка из исходников и команды CLI](https://github.com/keygraphhq/shannon/blob/main/docs/development.md) | Клонирование, сборка, распространённые команды, пути вывода и локальная разработка. |
| [Конфигурация](https://github.com/keygraphhq/shannon/blob/main/docs/configuration.md) | Тестирование с аутентификацией, потоки входа, правила взаимодействия и фильтры отчётов. |
| [AI-провайдеры](https://github.com/keygraphhq/shannon/blob/main/docs/ai-providers.md) | Выбор модели, поддерживаемые провайдеры (Anthropic, OpenAI, xAI, AWS Bedrock и любой другой провайдер, поддерживаемый Pi) и пользовательские LLM-шлюзы. |
| [Платформы и сеть](https://github.com/keygraphhq/shannon/blob/main/docs/platforms.md) | Windows/WSL2, Linux, macOS, сеть Docker, локальные приложения и пользовательские имена хостов. |
| [Рабочие пространства и возобновление](https://github.com/keygraphhq/shannon/blob/main/docs/workspaces.md) | Именование рабочих пространств, возобновление прерванных сканирований и хранение рабочих пространств. |
| [Безопасность и ограничения](https://github.com/keygraphhq/shannon/blob/main/docs/safety.md) | Требования к авторизованному использованию, рекомендации по нерабочим средам, мутационные эффекты, стоимость и оговорки о моделях. |
| [Покрытие и дорожная карта](https://github.com/keygraphhq/shannon/blob/main/docs/coverage-roadmap.md) | Текущее покрытие уязвимостей и запланированные работы. |
| [Keygraph Enterprise Platform](https://github.com/keygraphhq/shannon/blob/main/docs/keygraph-platform.md) | Исчерпывающий агентный SAST, непрерывный пентест, управление находками на протяжении всего жизненного цикла, устранение, целевая верификация, корпоративное управление и развёртывание на собственных серверах. |
## Безопасность, область применения и ограничения
Shannon — не пассивный сканер. Его агенты эксплуатации могут создавать пользователей, отправлять формы, изменять состояние приложения, инициировать исходящие запросы и иным образом влиять на целевую систему. Используйте песочницы, стенды или локальные среды разработки с одноразовыми данными.
Вы несёте ответственность за использование Shannon законно и этично. Не направляйте Shannon на системы, репозитории или приложения, которыми вы не владеете и на тестирование которых у вас нет явной авторизации.
Важные ограничения:
- Shannon Open Source настроен на быстрый пентест с учётом кода в повседневной разработке и CI/CD. Исчерпывающий агентный SAST, более широкое покрытие сканеров, централизованное управление и управление уязвимостями на протяжении всего жизненного цикла предоставляются через Keygraph Enterprise Platform.
- Находки всё ещё требуют проверки человеком. Отчёты, сгенерированные LLM, могут содержать слабо подкреплённые или неверные детали.
- Anthropic, OpenAI, xAI и AWS Bedrock — встроенные провайдеры, и любой другой провайдер из каталога harness тоже работает — каждый доступен через пользовательский base URL, указывающий на прокси или LLM-шлюз. Возможности моделей различаются, и модель, которая не следует инструкциям Shannon или ограничениям на использование инструментов надёжно, даст более слабые результаты.
- Полный запуск может занимать примерно от 1 до 1,5 часов и может повлечь расходы на LLM API в зависимости от цен на модель и сложности приложения.
- Не сканируйте недоверенные или враждебные кодовые базы. Инструменты на основе ИИ, читающие исходный код, могут быть подвержены prompt injection.
Прочитайте полное руководство [Безопасность и ограничения](https://github.com/keygraphhq/shannon/blob/main/docs/safety.md) перед запуском Shannon в новой среде.
## Лицензия
Shannon Open Source лицензирован под [GNU Affero General Public License v3.0](https://github.com/keygraphhq/shannon/blob/main/LICENSE).
Коммерческое и корпоративное лицензирование доступно для организаций, которым нужны другие условия лицензии, коммерческая поддержка, частное распространение, использование в качестве управляемого сервиса или более широкие варианты развёртывания, включая платформу Keygraph.
Для коммерческого лицензирования свяжитесь по адресу [[email protected]](mailto:[email protected]).
## Благодарности
Спасибо [Pi](https://github.com/earendil-works/pi),
[Playwright CLI](https://github.com/microsoft/playwright-cli)
и [Mantis](https://github.com/google/mantis).
См. [THIRD_PARTY_NOTICES.md](https://github.com/keygraphhq/shannon/blob/main/THIRD_PARTY_NOTICES.md) для деталей лицензирования и атрибуции.
## О Keygraph
**Keygraph** — компания, стоящая за Shannon. Она также создаёт **платформу Keygraph**, коммерческий продукт агентного пентеста, который закрывает полный жизненный цикл AppSec и использует улучшенную сборку Shannon в качестве своего движка пентеста.
## Сообщество и поддержка
**Общественные часы приёма** доступны для практической помощи с ошибками, развёртыванием и вопросами конфигурации.
- США/ЕС: четверг, 10:00 AM PT
- Азия: четверг, 2:00 PM IST
- [Забронировать слот](https://cal.com/george-flores-keygraph/shannon-community-office-hours)
[Присоединяйтесь к Discord](https://discord.gg/cmctpMBXwE), чтобы задавать вопросы, делиться отзывами и общаться с другими пользователями Shannon.
В настоящее время Keygraph не принимает внешние вклады в код. Приветствуются issues для сообщений об ошибках и запросов функций:
- [Сообщить об ошибках](https://github.com/KeygraphHQ/shannon/issues)
- [Предложить функции](https://github.com/KeygraphHQ/shannon/discussions)
Оставайтесь на связи:
- [Сайт Keygraph](https://keygraph.io)
- [Twitter/X: @KeygraphHQ](https://twitter.com/KeygraphHQ)
- [LinkedIn: Keygraph](https://linkedin.com/company/keygraph)
## Частые вопросы
### Могу ли я развернуть Shannon самостоятельно?
Да. Shannon Open Source работает внутри вашей инфраструктуры в эфемерном рабочем контейнере. Он монтирует репозиторий только для чтения и записывает результаты в локальное рабочее пространство.
Keygraph никогда не получает ваш исходный код и никогда не проксирует трафик ваших моделей. Ваши запросы к моделям идут напрямую к провайдеру или конечной точке, которую вы настроили, и они несут с собой контекст исходного кода и приложения. Направьте Shannon на локально размещённую конечную точку, и этот трафик также останется внутри вашей среды.
### Поддерживает ли Shannon bring your own key (BYOK)?
Да, всегда. Вы предоставляете учётные данные LLM, которые Shannon использует для запуска пентеста, в любом развёртывании, как в open source, так и в коммерческом. Keygraph никогда не проксирует трафик ваших моделей.
### Выводит ли Shannon SARIF?
Да. Shannon выдаёт SARIF 2.1.0, стандартный формат OASIS для результатов статического анализа, наряду со структурированным JSON. Любой потребитель SARIF его читает: сервисы сканирования кода, платформы управления уязвимостями, панели безопасности и конвейеры CI/CD. Он записывается по умолчанию при сканированиях в режиме эксплуатации; установите `report.sarif` в `"false"` в вашем файле конфигурации, чтобы отказаться.
### Каких AI-провайдеров поддерживает Shannon?
Anthropic, OpenAI, xAI и AWS Bedrock встроены и настраиваются напрямую по ID провайдера. Помимо них, Shannon работает на любом провайдере из каталога harness Pi, именуемом так же `<provider>:<model-id>`. Любой провайдер можно направить на прокси или LLM-шлюз через пользовательский base URL, который переопределяет только конечную точку и сохраняет диалект API этого провайдера. Shannon использует единую унифицированную настройку модели на протяжении всего пентеста.
### Могу ли я запустить Shannon на локальной или самостоятельно размещённой модели?
Shannon работает с локальными моделями, обслуживаемыми через Ollama, vLLM или LM Studio, которые предоставляют OpenAI-совместимую конечную точку, а также с роутерами, такими как OpenRouter, и LLM-шлюзами, такими как LiteLLM. Направьте Shannon на конечную точку с помощью пользовательского base URL. Возможности различаются, и модель, которая не следует инструкциям Shannon или ограничениям на использование инструментов надёжно, даст более слабые пентесты, чем передовая модель, поэтому идите этим путём только если вы знаете, как ведёт себя выбранная вами модель. См. [AI-провайдеры](https://github.com/keygraphhq/shannon/blob/main/docs/ai-providers.md#custom-base-url).
### Shannon действительно эксплуатирует уязвимости или только сканирует?
Shannon выполняет реальные эксплойты. Он сообщает о находке только тогда, когда получил работающий proof-of-concept, и отбрасывает гипотезы, которые не может доказать. Это пентестер, а не пассивный сканер.
**Создано [Keygraph](https://keygraph.io)**

