Shannon

Exploitation

Автономный white-box AI-пентестер для веб-приложений и API, который анализирует исходный код, выявляет векторы атак и выполняет реальные эксплойты для подтверждения уязвимостей перед продакшеном.


Установка
npx @keygraph/shannon setup
npx @keygraph/shannon start -u https://your-app.com -r /path/to/your-repo
показать оригинал переведено ИИ

[!NOTE] Shannon 2.0 официально выпущен

Shannon, AI Pentester for Web Apps and APIs, by Keygraph

KeygraphHQ%2Fshannon | Trendshift

Shannon — это автономный AI-пентестер для веб-приложений и API.

Он анализирует ваш исходный код, выявляет пути атаки и выполняет реальные эксплойты, чтобы доказать наличие уязвимостей до того, как они попадут в продакшн.

Этот репозиторий — Shannon Open Source: полноценный агент, запускаемый локально из командной строки.


Join Discord      Visit Keygraph.io


[!TIP] AI-агентам и LLM: начните с llms.txt — краткой карты этого репозитория, либо используйте llms-full.txt, где README и документация объединены в один файл.

Содержание

Что такое Shannon?

Shannon — это автономный AI-пентестер, разработанный компанией Keygraph. Он выполняет тестирование безопасности веб-приложений и лежащих в их основе API, сочетая анализ исходного кода с реальной эксплуатацией.

Shannon анализирует исходный код вашего веб-приложения, чтобы выявить потенциальные векторы атаки, а затем использует автоматизацию браузера и инструменты командной строки для выполнения реальных эксплойтов против работающего приложения и его API. В итоговый отчёт включаются только уязвимости с рабочим доказательством концепции.

Shannon — это агент. Данный репозиторий — Shannon Open Source, самостоятельный пентестер, который вы запускаете сами. Тот же Shannon лежит в основе платформы Keygraph — коммерческого продукта Keygraph для пентестинга. Сравнение этих двух вариантов см. в разделе Редакции.

Почему существует Shannon

Благодаря таким инструментам, как Claude Code и Cursor, ваша команда непрерывно поставляет код. Но пентест? Он проводится раз в год. Это создаёт огромный пробел в безопасности. В остальные 364 дня вы можете, сами того не зная, поставлять уязвимости в продакшн.

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

Shannon в действии

Shannon running an autonomous pentest

Примеры отчётов о пентестах преднамеренно уязвимых приложений, подготовленных Shannon Open Source:

Цель Итог Отчёт
OWASP Juice Shop 20+ уязвимостей, включая обход аутентификации, SQL-инъекцию, IDOR и SSRF. Посмотреть отчёт
c{api}tal API Около 15 критических и высокоопасных находок в API, включая command injection, обход аутентификации и mass assignment. Посмотреть отчёт
OWASP crAPI 15+ критических и высокоопасных находок, связанных с JWT, инъекциями, SSRF и путями авторизации API. Посмотреть отчёт

Быстрый старт

Требования

  • Docker: требуется для рабочего контейнера (worker).
  • 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 для производственных систем.

# 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 загружает образ worker из Docker Hub, запускает необходимую локальную инфраструктуру, монтирует целевой репозиторий в режиме «только для чтения» внутри временного контейнера worker и записывает результаты в локальное рабочее пространство.

Для сборок из исходников, аутентифицированных сканирований, настройки для конкретных поставщиков и заметок по платформам см. Документацию.

[!TIP] Предпочитаете использовать подписку вместо API-кредитов?

Ключевые возможности

  • Отчёты с доказательствами эксплуатации: Shannon сообщает о подтверждённых уязвимостях с воспроизводимыми шагами доказательства концепции вместо предположительных предупреждений.
  • Планирование атак с анализом исходного кода: Shannon использует анализ исходного кода для руководства динамическим тестированием и фокусировки на реалистичных путях атак.
  • Автономное выполнение: Shannon запускает разведку, анализ уязвимостей, эксплуатацию и генерацию отчётов из одной команды.
  • Аутентифицированное тестирование: конфигурационные файлы могут описывать процессы входа, тестовые учётные данные, TOTP, потоки входа через email, области фокусировки и правила взаимодействия.
  • Покрытие 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 platform — коммерческий продукт для пентестинга, который запускает Shannon непрерывно и закрывает полный цикл AppSec вокруг него.

Shannon с открытым исходным кодом (этот репозиторий) — это автономный пентестер: CLI-агент для белого ящика, тестирования веб-приложений и API методом доказательства через эксплуатацию, которыми вы владеете или имеете разрешение на тестирование. Он анализирует ваш исходный код, планирует атаки, выполняет реальные эксплойты и сообщает только о том, что может доказать. Работает по требованию и является самодостаточным в своей нише. Вы указываете цель, он проводит пентест и формирует отчёт.

Платформа Keygraph — это корпоративный продукт для непрерывного пентестинга, работающий на базе Shannon. В платформе Keygraph улучшенная сборка Shannon работает непрерывно в защищённой оркестрируемой среде, получая данные от полного стека анализа кода Keygraph. Вокруг этого движка платформа закрывает весь жизненный цикл уязвимостей — от анализа до подтверждённого исправления:

  • Анализ: SAST на основе Code Property Graph, SCA с учётом достижимости, поиск секретов, сканирование IaC и контейнеров. Первоклассное обнаружение само по себе, а также контекст, который усиливает атаки Shannon.
  • Доказательство: автономные чёрный ящик и белый ящик с учётом исходного кода превращают потенциальные находки в доказанные, эксплуатируемые уязвимости, а не в спекулятивные предупреждения.
  • Управление: одна каноническая запись на уязвимость на репозиторий, дедупликация по всем источникам, с назначением ответственных, отслеживанием SLA, дашбордами и двусторонней синхронизацией с Jira.
  • Исправление и проверка: патчи генерируются автоматически и повторно тестируются на исправленном коде перед доставкой, попадая в ваш существующий рабочий процесс ревью, а не применяются автоматически.
  • Развёртывание: самохостинг и изолированные среды, строгая модель BYOK (bring-your-own-key), шаблоны шлюзов LLM под контролем клиента, чтобы исходный код, результаты и трафик моделей оставались в пределах вашего периметра.

Shannon — это движок доказательства в центре платформы Keygraph. Shannon с открытым исходным кодом предоставляет вам этот движок для самостоятельного запуска. Платформа Keygraph окружает Shannon непрерывным анализом, управлением находками, исправлением, проверкой и корпоративным развёртыванием.

Этап жизненного цикла AppSec Shannon с открытым исходным кодом Платформа Keygraph
Анализ Базовый проход LLM по исходному коду для планирования атак Полноценный парсинг кодовой базы, а также Code Property Graph, SAST, SCA с учётом достижимости, секреты, IaC и контейнеры
Пентест и доказательство Только белый ящик, доказательство через эксплуатацию Улучшенный белый ящик, а также режимы чёрного и серого ящика, работающие непрерывно
Управление находками Локальный отчёт в формате Markdown Каноническая система находок: дедупликация по источникам, назначение ответственных, SLA, дашборды, синхронизация с Jira и профессиональные PDF-отчёты уровня пентеста
Исправление и проверка Ручное исправление по отчёту с последующим повторным запуском полного сканирования для проверки Автоматическое исправление: открывает PR с фиксом, проверяется точечным повторным тестом без полного пересканирования
Развёртывание и эксплуатация Локальный CLI и Docker-воркер Самохостинг, изолированные среды, BYOK, непрерывная работа, корпоративные интеграции
Лицензия и поддержка AGPL-3.0, сообщество Коммерческая, с поддержкой

Узнайте больше на сайте Keygraph, прочитайте технический обзор платформы Keygraph, начните бесплатную пробную версию или закажите демо, либо свяжитесь по адресу shannon@keygraph.io.

Архитектура

Shannon использует многоагентный рабочий процесс, сочетающий анализ исходного кода с реальной эксплуатацией:

        ┌──────────────────────┐
        │   Pre-Reconnaissance │
        │   (source code scan) │
        └──────────┬───────────┘
                   │
                   ▼
        ┌──────────────────────┐
        │   Reconnaissance     │
        │  (attack surface     │
        │   mapping)           │
        └──────────┬───────────┘
                   │
                   ▼
        ┌──────────┴───────────┐
        │          │           │
        ▼          ▼           ▼
  ┌───────────┐ ┌───────────┐ ┌───────────┐
  │ Vuln      │ │ Vuln      │ │   ...     │
  │(Injection)│ │  (XSS)    │ │           │
  └─────┬─────┘ └─────┬─────┘ └─────┬─────┘
        │              │             │
        ▼              ▼             ▼
  ┌───────────┐ ┌───────────┐ ┌───────────┐
  │ Exploit   │ │ Exploit   │ │   ...     │
  │(Injection)│ │  (XSS)    │ │           │
  └─────┬─────┘ └─────┬─────┘ └─────┬─────┘
        │              │             │
        └──────┬───────┴─────────────┘
               │
               ▼
        ┌──────────────────────┐
        │      Reporting       │
        └──────────────────────┘

На высоком уровне:

  • Предварительная разведка определяет фреймворки, точки входа, потоки данных и вероятные поверхности атак из репозитория.
  • Разведка исследует работающее приложение и сопоставляет поведение во время выполнения с контекстом на уровне кода.
  • Анализ уязвимостей запускает специализированных агентов для проверки на инъекции, XSS, SSRF, аутентификацию и авторизацию.
  • Эксплуатация пытается провести реальные атаки с доказательством концепции и отбрасывает гипотезы, которые не удалось подтвердить.
  • Отчётность собирает подтверждённые находки, доказательства и рекомендации по исправлению в итоговый отчёт в формате Markdown.

Каждое сканирование выполняется в эфемерном Docker-контейнере с изолированным рабочим пространством и оркестрацией для каждого запуска.

Документация

Используйте эти руководства для получения оперативных деталей:

Руководство Для чего использовать
Сборка из исходников и команды CLI Клонирование, сборка, основные команды, пути вывода и локальная разработка.
Конфигурация Аутентифицированное тестирование, потоки входа, правила взаимодействия и фильтры отчётов.
Поставщики ИИ Выбор модели, поддерживаемые поставщики (Anthropic, OpenAI, xAI, AWS Bedrock и любой другой поставщик, поддерживаемый Pi), и кастомные шлюзы.
Платформы и сети Windows/WSL2, Linux, macOS, сетевые настройки Docker, локальные приложения и кастомные хосты.
Рабочие пространства и возобновление Именование рабочих пространств, возобновление прерванных сканирований и хранение рабочих пространств.
Безопасность и ограничения Требования к авторизованному использованию, рекомендации по нерабочим средам, мутационные эффекты, стоимость и предостережения моделей.
Покрытие и дорожная карта Текущее покрытие уязвимостей и запланированные работы.
Платформа Keygraph Непрерывная агентная платформа пентестинга: анализ кода, тестирование чёрного и белого ящика, управление находками, исправление, проверка и корпоративное развёртывание.
## Безопасность, область применения и ограничения

Shannon не является пассивным сканером. Его агенты эксплуатации могут создавать пользователей, отправлять формы, изменять состояние приложения, инициировать исходящие запросы и иным образом воздействовать на целевую систему. Используйте изолированные, тестовые или локальные среды разработки с одноразовыми данными.

Вы несёте ответственность за законное и этичное использование Shannon. Не направляйте Shannon на системы, репозитории или приложения, которыми вы не владеете или на тестирование которых у вас нет явного разрешения.

Важные ограничения:

  • Shannon с открытым исходным кодом сосредоточен на активно эксплуатируемых уязвимостях, таких как инъекции, XSS, SSRF, нарушения аутентификации и авторизации. Более широкий охват статического анализа, включая уязвимые зависимости и небезопасные конфигурации, предоставляется через платформу Keygraph.
  • Результаты всё ещё требуют проверки человеком. Отчёты, сгенерированные LLM, могут содержать слабо обоснованные или неверные детали.
  • Встроенные провайдеры: Anthropic, OpenAI, xAI и AWS Bedrock. Любая конечная точка API Anthropic Messages или OpenAI Chat Completions/Responses работает через пользовательский базовый URL. Возможности моделей различаются, и модель, которая не следует инструкциям Shannon или ограничениям использования инструментов, будет давать менее качественные результаты.
  • Полный запуск может занимать примерно 1–1,5 часа и может повлечь затраты на API LLM в зависимости от цены модели и сложности приложения.
  • Не сканируйте ненадёжные или враждебные кодовые базы. Инструменты на базе ИИ, читающие исходный код, могут быть уязвимы для инъекций промптов.

Перед запуском Shannon в новой среде ознакомьтесь с полным руководством по безопасности и ограничениям.

Лицензия

Shannon с открытым исходным кодом распространяется под лицензией GNU Affero General Public License v3.0.

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

По вопросам коммерческого лицензирования обращайтесь по адресу shannon@keygraph.io.

О Keygraph

Keygraph — компания, стоящая за Shannon. Она также разрабатывает платформу Keygraph — коммерческий продукт для агентного пентестинга, который закрывает полный цикл AppSec и использует улучшенную сборку Shannon в качестве движка для пентестинга.

Сообщество и поддержка

Часы работы сообщества доступны для практической помощи по багам, развёртыванию и вопросам конфигурации.

  • США/Европа: четверг, 10:00 по тихоокеанскому времени
  • Азия: четверг, 14:00 по индийскому стандартному времени
  • Забронировать слот

Присоединяйтесь к Discord, чтобы задавать вопросы, делиться отзывами и общаться с другими пользователями Shannon.

В настоящее время Keygraph не принимает внешние кодовые вклады. Приветствуются сообщения об ошибках и запросы функций:

Оставайтесь на связи:

Часто задаваемые вопросы

Можно ли самостоятельно размещать Shannon?

Да. Shannon с открытым исходным кодом полностью работает на вашей инфраструктуре в эфемерном Docker-контейнере. Ваш исходный код монтируется только для чтения и никогда не покидает вашу среду.

Поддерживает ли Shannon использование собственного ключа (BYOK)?

Да, всегда. Вы предоставляете учётные данные LLM, которые Shannon использует для проведения пентеста, в каждом развёртывании — как в открытом исходном коде, так и в коммерческих версиях. Keygraph никогда не проксирует ваш трафик моделей.

Выводит ли Shannon SARIF?

Да. Shannon генерирует SARIF 2.1.0 — стандартный формат OASIS для результатов статического анализа — наряду со структурированным JSON. Его могут читать любые потребители SARIF: сервисы сканирования кода, платформы управления уязвимостями, дашборды безопасности и CI/CD-конвейеры. По умолчанию он записывается при сканировании в режиме эксплуатации; установите report.sarif в значение "false" в файле конфигурации, чтобы отказаться от этого.

Какие провайдеры ИИ поддерживает Shannon?

Встроенные провайдеры: Anthropic, OpenAI, xAI и AWS Bedrock, которые настраиваются напрямую по идентификатору провайдера. Кроме того, Shannon работает с любой конечной точкой, реализующей API Anthropic Messages или API OpenAI Chat Completions/Responses, доступной через пользовательский базовый URL. Важен формат API, а не поставщик. Shannon использует единую унифицированную настройку модели на протяжении всего пентеста.

Можно ли запустить Shannon на локальной или самостоятельно размещённой модели?

Технически да, но это не рекомендуется. Shannon работает с локальными моделями, обслуживаемыми через Ollama, vLLM или LM Studio, которые предоставляют совместимую с OpenAI конечную точку, а также с маршрутизаторами, такими как OpenRouter, и шлюзами, такими как LiteLLM. Направьте Shannon на конечную точку с помощью пользовательского базового URL. Возможности могут отличаться, и модель, которая не следует инструкциям Shannon или ограничениям использования инструментов, будет проводить менее эффективные пентесты, чем передовая модель. Выбирайте этот путь только в том случае, если вы знаете, как ведёт себя выбранная вами модель. См. Поставщики ИИ.

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

Shannon выполняет реальные эксплойты. Он сообщает об уязвимости только тогда, когда создаёт работающий proof-of-concept, и отбрасывает гипотезы, которые не может подтвердить. Это пентестер, а не сканер.

Разработано Keygraph

Войдите, чтобы оставить комментарий