Datadog SAIST CLI

CLI от Datadog, который ищет уязвимости в исходниках с помощью Claude, GPT или Gemini и сохраняет результат в SARIF

  • 108 ★ репозитория
  • Последний коммит
  • Apache-2.0
CLI

Расширенный доступ

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

  • Читает исходники каталога и отправляет их целиком выбранному провайдеру моделей
  • Расходует платные запросы по ключу провайдера и скачивает правила из API Datadog
Все причины и проверки
Нужен VPN

datadog/datadog-saist

Установка

Ручная установка

git clone https://github.com/DataDog/datadog-saist
cd datadog-saist
make build

Сборка из исходников. После нее запускается `./bin/datadog-saist` с флагами `--directory`, `--output`, `--detection-model` и `--validation-model`.

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

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

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Читает исходники каталога и отправляет их целиком выбранному провайдеру моделей
  • Расходует платные запросы по ключу провайдера и скачивает правила из API Datadog

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

Что делает

SAIST разбирает каталог с исходниками деревом Tree-sitter, строит контекст проекта и отдает файлы модели на поиск уязвимостей. Вторая модель проверяет каждую находку и отсекает лишнее. Поддерживаются Go, Java, Python, C#, C++, JavaScript, TypeScript, Kotlin, PHP, Ruby, Rust, Elixir и Swift. Результат записывается в файл SARIF, который читают IDE и CI-системы. Модели выбираются флагами `--detection-model` и `--validation-model`, ключ берется из `ANTHROPIC_API_KEY`, `OPENAI_API_KEY` или `GOOGLE_API_KEY`. Аккаунт Datadog не нужен: правила обнаружения утилита запрашивает у открытого API Datadog, а флаг `--local-prompts` включает правила, вшитые в бинарник. Проект на ранней стадии, собирается из исходников командой `make build`.

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

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

  • Классический статический анализ молчит, а в проекте на Go и Java хочется получить второе мнение от модели.
  • Отчет SARIF надо загрузить в IDE или в панель код-скана репозитория.
  • Нужен прогон на крупном репозитории: параллельность по файлам задается флагом `--file-concurrency`.
  • Правила и промпты приходится держать локально, и их включает флаг `--local-prompts`.
  • Проект на Kotlin, Elixir или Swift проверяется той же командой, что и проект на Python.

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

  • Код нельзя отправлять внешнему провайдеру моделей: файлы уходят выбранной модели целиком.
  • Нужен детерминированный результат без вероятностных находок: ответы модели от запуска к запуску различаются.
  • Требуется готовый бинарник без сборки: в README описана только сборка из исходников.

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

Собери datadog-saist, прогони каталог services/ через Gemini и покажи, какие находки из SARIF стоит разбирать первыми

Ограничения

Проект находится на ранней стадии и активно меняется. Нужен ключ одного из провайдеров моделей: Anthropic, OpenAI или Google Gemini, расходы на запросы ложатся на владельца ключа. Исходники передаются модели, поэтому для закрытого кода это решение о доступе третьей стороны к проекту. Без флага `--local-prompts` правила скачиваются из API Datadog. Для OpenAI-совместимого адреса базовый URL указывается без `/v1`. Сборка идет из исходников на Go с Tree-sitter, готовые бинарники в README не упомянуты. Лицензия Apache-2.0.

Как отключить. Утилита одноразовая, в систему ничего не ставит. Достаточно удалить собранный бинарник `bin/datadog-saist` и клон репозитория.

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

Нужен ли аккаунт Datadog для SAIST?

Нет. Правила обнаружения утилита берет из открытого API Datadog без ключей Datadog, а нужен только ключ провайдера модели.

Какие модели подходят?

Модели Anthropic, OpenAI и Google Gemini. Для OpenAI подойдет и свой адрес через `--openai-base-url`, а точные имена моделей выводит `./bin/datadog-saist --help`.

Что внутри отчета?

Файл SARIF с найденными уязвимостями, его читают IDE и системы код-скана. Каждая находка предварительно проходит проверку второй моделью.

Как уменьшить расход памяти на большом репозитории?

Флаг `--skip-indexing` отключает индексацию контекста между файлами. Память экономится, но находки, которым нужен контекст из соседних файлов, пропадут.

Правила можно хранить у себя?

Да, флаг `--local-prompts` включает правила обнаружения, вшитые в бинарник, и запрос к API Datadog не делается.

Обсуждение

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

CLI на Go ищет уязвимости в Git-репозитории с помощью LLM и сохраняет находки в SARIF для GitHub Code Scanning.

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

CLI, который читает код проекта и составляет модель угроз по методике STRIDE с отчетом в Markdown, JSON, SARIF или HTML

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

Движок анализа потоков данных для Java и Kotlin с набором скиллов для агента: сканирует код, разбирает находки и создает правила.

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

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

СкиллШирокий доступ2,8 тыс.Звезды репозитория

SAST-сканер с межфайловым анализом потоков данных и MCP-сервером: агент видит вызовы, источники и стоки уязвимостей

MCP-серверРасширенный доступ143Звезды репозитория

CLI проверки безопасности ИИ: сканирует модели и код, пробует живые эндпоинты и MCP-серверы, разбирает записи работы агентов

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

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

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

ИнструментОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
Datadog SAIST (эта карточка)нет108
Semgrepдане нужна17 635ищет по заранее написанным правилам, а SAIST просит модель найти уязвимость и проверяет находку второй моделью
Snyk CLIдаOAuth5 709сканирует зависимости и код через сервис Snyk, а SAIST работает от ключа провайдера моделей и не требует аккаунта

Коротко о README

Datadog называет SAIST статическим анализатором безопасности на основе моделей, который работает отдельно на ноутбуке и входит в Datadog Code Security. В README перечислены возможности, требования к ключам, команды сборки и запуска с примерами для Gemini и OpenAI, а также вариант через шлюз Datadog для клиентов сервиса.

Бейдж для README

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