
Инструмент моделирования угроз на основе ИИ, использующий модели GPT от OpenAI для генерации моделей угроз для заданного приложения на основе методологии STRIDE.
STRIDE GPT — это инструмент моделирования угроз на основе ИИ, который использует большие языковые модели (LLM) для генерации моделей угроз и деревьев атак для заданного приложения, основанных на методологии STRIDE. Пользователи предоставляют детали приложения, такие как тип приложения, методы аутентификации, а также является ли приложение доступным из интернета или обрабатывает конфиденциальные данные. Затем модель генерирует вывод на основе предоставленной информации.
Если вы считаете STRIDE GPT полезным, пожалуйста, рассмотрите возможность поддержки проекта:
mitre_attack в SARIF.embed.diagrams.net; для самостоятельного размещения или развертывания в изолированной среде укажите собственный draw.io через переменную окружения STRIDE_GPT_DRAWIO_URL.Хотите настроить STRIDE-GPT под свою организацию? Ознакомьтесь с нашим подробным Руководством по эксплуатации, чтобы узнать, как:
Руководство включает пошаговые инструкции, примеры кода и шаблоны развертывания для организаций, желающих масштабировать моделирование угроз с помощью ИИ в своих командах.
В январе 2024 года я выступил с докладом о STRIDE GPT на Open Security Summit. В ходе выступления я рассказал о зарождении проекта, его основных функциях, последних обновлениях и некоторых планах на будущее. Полную запись презентации можно посмотреть ниже:
Это видео — отличный ресурс для всех, кто хочет понять, как работает STRIDE GPT и как его можно использовать для улучшения моделирования угроз.
--version (#161): stride-gpt --version теперь выводит установленную версию и завершает работу, а баннер интерактивного TUI показывает текущую версию, чтобы вы могли сразу узнать, что у вас установлено.uv.lock теперь является единственным источником истины для всех зависимостей. Дублированные файлы requirements.txt удалены; образ Docker UI и рабочий процесс проверки безопасности устанавливают зависимости из uv.lock через uv export, так что поставляемое и сканируемое больше не может расходиться с зафиксированным. Для пользователей pip install stride-gpt изменений нет.STRIDE_GPT_DRAWIO_URL (по умолчанию embed.diagrams.net), источник postMessage в iframe ограничен им, а непроверенный XML диаграмм анализируется с помощью defusedxml.deepseek-v4-pro и deepseek-v4-flash. Вызовы маршрутизируются через встроенную интеграцию deepseek/ в LiteLLM (хостинговая конечная точка, пользовательский базовый URL не требуется); установите ключ через DEEPSEEK_API_KEY./analyze и /quick, теперь могут содержать стандартизированные идентификаторы техник противника из MITRE ATT&CK Enterprise (v17.1) и MITRE ATLAS (2026.05). Две новые справочные карты с прогрессивным раскрытием (mitre_enterprise, mitre_atlas) инструктируют агента использовать только каталогизированные идентификаторы и названия, устраняя галлюцинации идентификаторов. Карты генерируются из исходных STIX/YAML с помощью scripts/refresh_mitre_cards.py, а не на основе запоминания модели. Техники отображаются в виде столбца MITRE ATT&CK в таблицах Markdown, кликабельных пилюль небесно-голубого цвета в HTML и массивов properties.mitre_attack в SARIF./analyze и /quick теперь создают автономный, просматриваемый в браузере HTML-отчет вместе с выводами в Markdown, JSON и SARIF, подходящий для обмена с заинтересованными сторонами.claude-opus-4-8, новейшей флагманской модели Anthropic, наряду с существующей Opus 4.7. Любую из них можно выбрать в качестве модели-архитектора или рабочей модели.pip install stride-gpt, отделенного от устаревшего веб-интерфейса Streamlit. Две основные команды: /analyze (автономный агентный анализ кодовой базы с планировщиком, циклами агентов, использующих инструменты для каждой подсистемы, и проходом сквозного синтеза) и /quick (одноразовая модель угроз на основе письменного описания приложения).genai (OWASP LLM Top 10), agentic (OWASP ASI Top 10) и insider_threat самодокументируются через YAML-заголовки; агент обнаруживает их через list_references и извлекает содержимое через load_reference.stride_gpt/__init__.py, чтобы предупреждения о предварительной загрузке Bedrock/SageMaker не появлялись при чистых установках без .Поддержка агентных приложений ИИ: Добавлена всесторонняя поддержка моделирования угроз для агентных систем ИИ с интеграцией OWASP Top 10 для агентных приложений (ASI01-ASI10). Просто выберите "Агентное приложение ИИ" и опишите свою систему — LLM автоматически обнаружит архитектурные шаблоны и применит соответствующие категории угроз. Каждый риск ASI сопоставляется с соответствующей категорией STRIDE для единообразного анализа угроз.
Поддержка приложений генеративного ИИ: Добавлена поддержка моделирования угроз для приложений GenAI с интеграцией OWASP LLM Top 10 (LLM01-LLM10). Выберите "Приложение генеративного ИИ" и опишите свою систему, чтобы получить специализированный анализ угроз, связанных с LLM. Приложения агентного ИИ включают как категории рисков LLM, так и ASI для всестороннего охвата.
Обнаружение архитектурных шаблонов вдохновленное MAESTRO: Улучшенный агентный анализ угроз с автоматическим обнаружением архитектурных шаблонов из описаний приложений, вдохновленный фреймворком Cloud Security Alliance MAESTRO. LLM теперь идентифицирует и применяет специфические для шаблонов угрозы для:
Межуровневый анализ угроз: Модели угроз теперь включают межкомпонентные цепочки атак, показывающие, как компрометация одного архитектурного уровня может позволить атаки на другие (например, отравление RAG → захват цели агента → неправильное использование инструмента → утечка данных).
Улучшенные предложения по усовершенствованию: Для агентных приложений предложения по усовершенствованию теперь запрашивают конкретные архитектурные детали, такие как фреймворк агента, протоколы межкомпонентного общения, механизмы песочницы и реализации автоматических выключателей.
pip install stride-gpt
Это устанавливает команду `stride-gpt`. CLI и веб-интерфейс Streamlit теперь являются отдельными продуктами — `pip install stride-gpt` даёт вам компактный CLI без компонентов Streamlit. Чтобы запустить веб-интерфейс из исходного кода, смотрите Вариант 2 ниже.
### Вариант 2: Из исходного кода
1. Клонируйте репозиторий:
```bash
git clone https://github.com/mrwadams/stride-gpt.git
cd stride-gpt
```
2. Установите с помощью [uv](https://docs.astral.sh/uv/) (рекомендуется — `uv.lock` является единственным источником истины для зависимостей): ```bash
# CLI plus the Streamlit web UI deps
uv sync
Или установите только CLI с помощью pip: ```bash pip install -e .
3. (Необязательно) Настройте переменные окружения: ```bash
cp .env.example .env
Отредактируйте .env, чтобы добавить ваши API-ключи — или настройте их позже, запустив stride-gpt и используя команду /config в интерактивном REPL, или через Streamlit UI.
Веб-интерфейс Streamlit поставляется в виде Docker-образа:```bash docker pull mrwadams/stridegpt:latest
Для CLI, используйте `pip install stride-gpt` — нет отдельного образа CLI. Если вам нужна изолированная CLI, создайте свою на основе минимального базового образа Python.
## Структура репозитория
STRIDE-GPT организован как небольшой монорепозиторий: одна общая библиотека Python и одно или несколько приложений, которые её используют.```
stride-gpt/
├── stride_gpt/ # shared library + Python CLI (core, agent loop, prompts, schemas, models)
├── apps/
│ └── web/ # Streamlit web UI
├── tests/ # pytest suite
└── pyproject.toml # single project file; web UI deps live in the `web` dependency-group
Директория apps/ предназначена для дополнительных развертываемых фронтендов — например, будущий CLI на Node/TypeScript будет располагаться рядом с apps/web/. Сам Python CLI находится в stride_gpt/cli.py, так как он тесно связан с общей библиотекой.
Агентный анализ кодовой базы — агент автономно исследует код, планирует свой анализ и создает модель угроз STRIDE:```bash
stride-gpt analyze .
stride-gpt analyze ./my-app --worker-model anthropic/claude-sonnet-4-6 -y
stride-gpt analyze . -o report.json -f json # also writes report.html alongside stride-gpt analyze . -o report.sarif -f sarif stride-gpt analyze . -o report.html -f html
> Каждый анализ также автоматически сохраняет JSON и HTML-компаньон в `~/.stride-gpt/reports/analyze/`, так что просматриваемый в браузере вид всегда в одном клике, даже если вы запускаете без `-o`.
> **Примечание о стоимости:** Агентный анализ тщателен — агент совершает множество вызовов LLM и читает много файлов по ходу исследования. Использование токенов и стоимость масштабируются в зависимости от размера кодовой базы и выбранной модели, а полный запуск на большом репозитории с использованием передовой модели может быть дорогим. Установите лимиты расходов в панели управления вашего провайдера перед запуском и рассмотрите более быстрые/дешёвые модели для первых проходов.
**Быстрый одноразовый режим** — создайте модель угроз из текстового описания (как в Streamlit UI, но в терминале):```bash
# Read description from a file
stride-gpt quick -i app-description.txt
# Pipe from stdin
echo "A web API that processes payments..." | stride-gpt quick
Интерактивная REPL — запустить интерактивную сессию с автодополнением табуляцией и историей:```bash stride-gpt
В REPL введите `/help`, чтобы увидеть доступные команды и флаги. Версия отображается под ASCII-баннером при запуске. Полный справочник команд и сочетаний клавиш см. в [шпаргалке по интерактивному REPL](#interactive-repl-cheat-sheet) ниже.
#### Шпаргалка по интерактивному REPL
Запустите REPL командой `stride-gpt` (без аргументов), затем используйте эти команды и сочетания клавиш.
**Команды** — введите слеш-команду в приглашении:
| Команда | Что делает |
|---------|------------|
| `/analyze [path]` | Анализирует кодовую базу на угрозы STRIDE (подойдет и просто путь к каталогу) |
| `/quick` | Быстрая модель угроз из текстового описания |
| `/reports` | Список предыдущих отчетов анализа (`/reports <n>` просматривает один) |
| `/config` | Просмотр или изменение настроек (модель, провайдер, ключи API) |
| `/help` | Показывает доступные команды, флаги и примеры |
| `/quit` | Выход (синонимы: `/exit`, `/q`) |
`/analyze`, `/quick` и `/reports` принимают флаги: `-o`/`--output <path>`, `-f`/`--format <markdown\|json\|sarif\|html>`, `-y`/`--yes` и `-i`/`--input <path>` (для `/quick`). Введите `/help` для получения полного списка.
**Сочетания клавиш:**
| Клавиша | Действие |
|---------|----------|
| `Tab` | Завершение слеш-команд и путей к файлам |
| `↑` / `↓` | Прокрутка истории команд |
| `→` / `End` | Принять полупрозрачное предложение из истории |
| `Ctrl+L` | Очистить экран и буфер прокрутки |
| `Ctrl+C` / `Ctrl+D` | Выход из REPL |
**Проверьте установленную версию:**```bash
stride-gpt --version # prints e.g. "stride-gpt 0.19.0" and exits
Общие флаги:
Каждый уровень также принимает --worker-api-key / --worker-api-base / --worker-max-tokens (и их аналоги --architect-*). Выполните stride-gpt analyze --help или stride-gpt quick --help для получения полного списка.
Структурированные промежуточные артефакты — при использовании -o <path> вместе с отчётом записываются три JSON-файла для возможности аудита запуска или использования последующими инструментами:
Флаг формата (-f) управляет только артефактом отчёта; сопутствующие файлы всегда в JSON. Пути к файлам в манифесте и результатах поиска заменяются (./… для файлов в рабочем каталоге, ~/… для файлов в $HOME), поэтому манифест можно безопасно передавать. Автоархив в ~/.stride-gpt/reports/{analyze,quick}/ не затрагивается — сопутствующие файлы создаются только при указании -o.
Просмотр предыдущих отчётов:```bash stride-gpt reports # List recent reports stride-gpt reports 1 # View report #1 stride-gpt reports 1 -o r.json -f json # Export a report
### Веб-интерфейс Streamlit
Веб-интерфейс является отдельным приложением от CLI. Запустите его с помощью:```bash
streamlit run apps/web/main.py
Откройте указанный URL в вашем браузере и следуйте инструкциям на экране.
docker run -p 8501:8501 --env-file .env mrwadams/stridegpt
## Пример вывода
Каждый запуск `stride-gpt analyze` и `stride-gpt quick` по умолчанию создаёт отчёт в формате markdown (с JSON, SARIF и самостоятельным HTML-представлением, доступным через `-f`). Markdown группирует угрозы по подсистемам в таблицы STRIDE, добавляет сквозной раздел для угроз, охватывающих несколько компонентов, и завершается сводкой по запуску. Дополнительные столбцы (OWASP LLM/ASI, категория инсайдера, MITRE ATT&CK) отображаются только в том случае, если запуск их заполняет.
Ниже приведён markdown из запуска против вымышленного API платежей, чтобы вы могли увидеть формат вывода до запуска инструмента. Это реальная визуализация из движка отчётов, а не макет.
<details>
<summary>Образец модели угроз в markdown (нажмите, чтобы развернуть)</summary>````markdown
# STRIDE Threat Model: acme-payments-api
> Generated by STRIDE-GPT on 2026-07-16T09:42:00Z
## Overview
A Python FastAPI service that accepts card payments, stores customer profiles in PostgreSQL, and calls a third-party payment processor. Authentication is handled by JWT bearer tokens issued by an internal auth service; the API is internet-facing behind an API gateway.
## Data Flow Diagram
```mermaid
flowchart LR
Client[Client App] -->|HTTPS + JWT| Gateway[API Gateway]
Gateway --> API[Payments API]
API -->|SQL| DB[(PostgreSQL)]
API -->|HTTPS| Processor[Payment Processor]
app/auth/jwt.pyapp/auth/dependencies.py| Threat Type | Scenario | Potential Impact | MITRE ATT&CK |
|---|---|---|---|
| Spoofing | An attacker forges a JWT using a weak or leaked signing secret to impersonate another customer. |
app/payments/routes.pyapp/db/models.py| Threat Type | Scenario | Potential Impact | MITRE ATT&CK |
|---|---|---|---|
| Information Disclosure | Full card numbers are logged in request debug logs when a payment fails. | PCI-DSS violation and exposure of cardholder data to anyone with log access. |
| Threat Type | Scenario | Potential Impact | MITRE ATT&CK | Affected Subsystems |
|---|---|---|---|---|
| Denial of Service | No rate limiting on the payment endpoint lets an attacker exhaust the processor quota and DB connections. | Legitimate payments fail during the attack; possible processor throttling. | T1499 (Endpoint Denial of Service) | Authentication & Authorization, Payments & Data Storage |
</details>
`stride-gpt quick` создаёт ту же форму таблицы по текстовому описанию, свёрнутую в единую подсистему **Application** вместо результатов для каждой подсистемы.
## Рекомендации по безопасности
STRIDE GPT предназначен для локального однопользовательского развёртывания. При использовании инструмента:
### Защита ваших ключей API
**Ваши ключи API являются чувствительными учётными данными, которые могут повлечь расходы на вашем аккаунте.**
✅ **ДЕЛАЙТЕ:**
- Вводите ключи API через интерфейс (они остаются в вашей сессии браузера)
- Используйте файл .env для удобства на вашем личном компьютере
- Устанавливайте лимиты расходов в панели управления вашего LLM-провайдера
- Регулярно проверяйте использование API и расходы
- Очищайте сессию при работе на общих компьютерах
❌ **НЕ ДЕЛАЙТЕ:**
- Не помещайте файлы .env в систему контроля версий (они уже в .gitignore)
- Не делитесь скриншотами с видимыми ключами API
- Не запускайте STRIDE GPT на недоверенных/скомпрометированных системах
- Не передавайте свои ключи API другим
- Не игнорируйте неожиданные списания за API
### Вопросы конфиденциальности данных
Когда вы генерируете модели угроз, STRIDE GPT отправляет данные вашему LLM-провайдеру:
- Детали приложения (тип, методы аутентификации, архитектура)
- Описания системной архитектуры
- Загруженные диаграммы/изображения архитектуры
- Сгенерированные модели угроз и меры по их устранению
**Что это означает:**
- OpenAI, Anthropic, Google и др. могут записывать эти данные согласно своей политике конфиденциальности
- Рассмотрите возможность использования общих/вымышленных деталей системы для демонстраций
- Ознакомьтесь с политикой хранения данных и конфиденциальности вашего LLM-провайдера
- Для чувствительных систем рассмотрите:
- Использование локальных моделей (LM Studio)
- Использование провайдеров с более строгими гарантиями конфиденциальности
- Очистку описаний системы перед вводом
### Развёртывание для команды/организации
Если вы развёртываете STRIDE GPT для нескольких пользователей (не по умолчанию):
- Добавьте аутентификацию/авторизацию (не входит в базовую поставку)
- Используйте службу управления секретами для ключей API
- Размещайте за VPN или во внутренней сети
- Ознакомьтесь с документом [SECURITY.md](https://github.com/mrwadams/stride-gpt/blob/HEAD/SECURITY.md) для дополнительных рекомендаций
- Учитывайте требования к местонахождению данных и соответствию нормативным требованиям
- Внедрите соответствующие средства контроля доступа для сгенерированных моделей угроз
### Безопасность зависимостей
Мы поддерживаем зависимости и отслеживаем уязвимости:
- Зависимости регулярно обновляются через Dependabot
- Автоматическая проверка безопасности выполняется при каждом коммите
- Уведомления о безопасности отслеживаются на вкладке GitHub Security
- Запустите `pip-audit` для проверки известных уязвимостей локально
См. [SECURITY.md](https://github.com/mrwadams/stride-gpt/blob/HEAD/SECURITY.md) для полной информации о безопасности, включая автоматическое сканирование безопасности, отчётность об уязвимостях и практики безопасной разработки.
### Сообщение о проблемах безопасности
Нашли проблему безопасности? Пожалуйста, сообщите о ней ответственно:
- Создайте консультацию по безопасности через [личный репортаж об уязвимостях GitHub](https://github.com/mrwadams/stride-gpt/security/advisories/new)
- Не публикуйте проблемы безопасности в открытом доступе
- Мы подтвердим получение в течение 48 часов
- Исправления будут иметь приоритет и выпускаться быстро
## Вклад
Пулы запросов (pull requests) приветствуются. Для существенных изменений сначала откройте issue, чтобы обсудить, что вы хотите изменить.
## Лицензия
[MIT](https://choosealicense.com/licenses/mit/)
/analyze также выводит системную DFD вместе с результатами./analyze в CLI также создает системную DFD после синтеза, отображаемую как блок Mermaid в отчете Markdown, передаваемую в поле JSON data_flow_diagram и показываемую в HTML-представлении через среду выполнения Mermaid, загруженную с CDN. Генерация DFD обернута так, чтобы неудачная диаграмма не приводила к сбою хорошего отчета./ и суффикс .git удаляются) перед парсингом, так что .../repo/ и .../repo.git больше не дают ложных 404.-o <path> в /analyze или /quick рядом с отчетом записываются JSON-файлы-потомки: <stem>.plan.json (AnalysisPlan), <stem>.findings.json (результаты подсистем, сквозные угрозы и диаграмма потоков данных) и <stem>.run.json (RunManifest, записывающий модели, хеш конфигурации, версию, тайминги, какие справочные карты были фактически загружены, и run_summary, отмечающий, завершился ли запуск или был прерван лимитом вызовов). Манифесты не содержат ключей API и конечных точек и скрывают пути файловой системы, поэтому их можно безопасно фиксировать в репозитории или прикреплять к задаче. Флаг -f управляет только артефактом отчета; потомки всегда в JSON.MITRE_ATTACK в виде строки, разделенной запятыми (например, "T1190, T1059, AML.T0053") вместо канонической формы списка, идентификаторы техник теперь восстанавливаются, а не отбрасываются. Ранее в отчетах Markdown/HTML столбец "MITRE ATT&CK" был пуст во всех ячейках, а при экспорте SARIF идентификаторы терялись. Все рендереры (Markdown, HTML-пилюли, SARIF) и проверка видимости столбцов теперь проходят через единый нормализатор, а свободный прозаический текст, не являющийся идентификатором техники, отфильтровывается, чтобы столбец не заполнялся ложными срабатываниями.The api_key client option must be set, когда в окружении отсутствовал ключ облачного провайдера. LM Studio маршрутизируется через префикс openai/ в LiteLLM, а SDK OpenAI отказывается создавать клиент без ключа, даже если api_base указывает на localhost, поэтому CLI теперь передает заполнитель для провайдеров, не требующих аутентификации. Кроме того, сканирование окружения рабочего уровня в последней инстанции больше не применяется к таким провайдерам: ранее настроенные ANTHROPIC_API_KEY или OPENAI_API_KEY отправлялись на любой хост, указанный в api_base, что одновременно маскировало эту ошибку и передавало реальный ключ по сети. Если вы используете LM Studio и у вас установлен такой ключ, он больше не передается на вашу конечную точку.mrwadams/stridegpt-ui) удалено; веб-интерфейс Streamlit теперь находится только в mrwadams/stridegpt. Пользователям CLI следует устанавливать pip install stride-gpt, а не тянуть контейнер.mistralai (доступ к Mistral уже осуществляется через LiteLLM). Обновлена база python:3.12-slim для образа UI и удален curl, что устраняет 21 предупреждение CVE среднего/высокого уровня в PR #113–#115.except, мертвый код) (#116).botocoreОбновления моделей OpenAI: Обновлено до серии моделей GPT-5.2 (gpt-5.2, gpt-5.2-pro, gpt-5-mini, gpt-5-nano, gpt-5, gpt-4.1). Удалены устаревшие модели (gpt-4o, gpt-4o-mini, o3, o3-mini, o4-mini).
Модели Anthropic Claude 4.5: Обновлено до серии Claude 4.5 (claude-sonnet-4-5, claude-haiku-4-5, claude-opus-4-5). Добавлен флажок "Включить расширенное мышление" для расширенных возможностей рассуждения на любой модели Claude. Увеличен максимальный токен до 32k (стандартный) и 48k (режим мышления).
Предварительный просмотр Google Gemini 3: Добавлены предварительные модели Gemini 3 (gemini-3-pro-preview, gemini-3-flash-preview) наряду с моделями Gemini 2.5. Поддержка режима расширенного мышления для моделей Gemini 3.
Обновления моделей Mistral: Обновлено до последних версионных моделей Mistral, включая Mistral Large 3, Medium 3.1, Small 3.2, Ministral 3 (8B/14B) и Magistral 1.2 (Medium/Small).
Новый логотип проекта: Обновлен брендинг с более чистым минималистичным дизайном щита и нейронной сети.
Исправление ошибки: Исправлена проблема, из-за которой вывод модели угроз исчезал после нажатия кнопки загрузки.
max_completion_tokens вместо устаревшего max_tokens для GPT-5 и других моделей рассуждений OpenAI, обеспечивая совместимость с последними требованиями API OpenAI.Основные моменты выпуска:
Этот выпуск добавил поддержку следующих моделей:
GPT4o mini: Я добавил поддержку недавно выпущенной модели GPT4o mini от OpenAI. GPT4o mini — это экономичная небольшая модель, которая по-прежнему обеспечивает высококачественные ответы для задач моделирования угроз.
Gemini 1.5 Pro (стабильная): Пользователи теперь могут выбирать между стабильной и предварительной версиями модели Gemini 1.5 Pro.
Основные моменты выпуска:
Оценка рисков DREAD: STRIDE GPT теперь поддерживает оценку рисков DREAD, позволяя пользователям назначать оценки риска выявленным угрозам на основе модели DREAD. Эта функция обеспечивает более комплексную оценку угроз и помогает расставить приоритеты для мер смягчения.
Тестовые сценарии Gherkin: Пользователи теперь могут генерировать тестовые сценарии Gherkin на основе выявленных угроз. Эта функция помогает преодолеть разрыв между моделированием угроз и тестированием, гарантируя, что соображения безопасности интегрированы в процесс тестирования.
Улучшения пользовательского интерфейса: Я обновил пользовательский интерфейс, сделав его более удобным для навигации и взаимодействия с приложением и его функциями.
Основные моменты выпуска:
Основные моменты выпуска:
Интеграция Mistral API: Пользователи теперь могут выбирать использование LLM от Mistral AI для генерации моделей угроз, деревьев атак и предложений по смягчению. Это предоставляет альтернативу моделям GPT от OpenAI, предлагая большую гибкость и выбор для пользователей.
Уточненные промпты: С увеличением числа людей, использующих STRIDE GPT для работы, я обновил шаблоны промптов для модели угроз, чтобы стимулировать LLM к генерации более полных выходных данных. Теперь пользователи должны видеть множественные угрозы, выявленные в каждой категории STRIDE.
Публичная дорожная карта: Я создал публичную дорожную карту для обеспечения видимости предстоящих функций и улучшений.
Улучшения пользовательского интерфейса: Я внес небольшие обновления в интерфейс для поддержки новой интеграции Mistral API и улучшения общего пользовательского опыта.
Основные моменты выпуска:
Основные моменты выпуска:
Основные моменты выпуска:
Основные моменты выпуска:
Первый выпуск приложения.
| Флаг | Описание |
|---|
--version | Выводит установленную версию (stride-gpt <version>) и завершает работу |
-o, --output | Сохранить отчёт в файл |
-f, --format | Формат вывода: markdown (по умолчанию), json, sarif, html |
-i, --input | Читать описание приложения из файла (только quick) |
-y, --yes | Автоматически утвердить план анализа (только analyze) |
--worker-model | Модель уровня по умолчанию, обрабатывающая основную часть запросов (например, anthropic/claude-sonnet-4-6). Использует сохранённую конфигурацию, если не указан. |
--architect-model | Более мощная модель для планирования/синтеза (например, openai/gpt-5.4). Использует сохранённую конфигурацию, если не указан. |
--no-architect | Пропустить уровень архитектора для этого запуска; все вызовы обрабатывает worker. |
--app-type | Переопределить тип приложения, обнаруженный планировщиком (только analyze): auto (по умолчанию), web, genai, agentic. |
--max-llm-calls | Лимит общего количества вызовов LLM на обоих уровнях (только analyze; 0 = безлимитно). |
--max-tool-calls | Лимит общего количества выполнений инструментов (только analyze; 0 = безлимитно). |
| Файл | Содержимое |
|---|
<stem>.plan.json | AnalysisPlan, созданный архитектором — подсистемы, фокусные области, обнаруженный тип приложения (только analyze). |
<stem>.findings.json | Список SubsystemFinding по каждой подсистеме, сквозные угрозы и диаграмма потоков данных на уровне системы (только analyze). |
<stem>.run.json | RunManifest — модели, хэш промпта + конфигурации, ссылки, которые фактически загрузил агент, git SHA, версия, тайминги. Создаётся как для analyze, так и для quick. |
| Full account takeover and unauthorized access to stored payment methods. |
| T1550.001 (Application Access Token) |
| Elevation of Privilege | A standard user calls an admin-only refund endpoint that only checks authentication, not role. | Unauthorized refunds and financial loss. | T1068 (Exploitation for Privilege Escalation) |
| T1552.001 (Credentials In Files) |
| Tampering | The payment amount is taken from a client-supplied field and not re-validated server-side against the order. | A user pays less than the order total by editing the request body. |