Перейти к содержимому
ossscanner.org

Конструктор модели угроз

Объясните ИИ-сканерам, что важно для вашего проекта

Большинство ложных срабатываний возникает из-за того, что сканер неверно определяет, кто является атакующим. Краткая модель угроз поможет это исправить. Отметьте нужные пункты, скопируйте файл в .oss-scanner/threat_model.md, и ossscanner.org и Anthropic OSS Scanner будут учитывать его.

Недоверенные входные данные — считать потенциально вредоносными
Вне области проверки — не сообщать

Кандидатные патчи

Удаление дубликатов

.oss-scanner/threat_model.md

# Threat model

## About the project

_Describe what the project does and who runs it._

## Untrusted input (treat as adversarial)

- Bytes received over the network (sockets, protocol messages, peers).
- Files that users open or upload (documents, images, media, fonts).

## Out of scope (do not report)

- Test code, fixtures and fuzzing harnesses.
- Examples, demos and documentation snippets.
- Build scripts, CI configuration and developer-only tooling.
- Denial of service that needs very large inputs or sustained traffic.

## Severity rubric

- **critical**: Remote code execution or full authentication bypass on a default configuration.
- **high**: Memory corruption, privilege escalation or exposure of other users' data with a realistic attack path.
- **medium**: Limited impact, or significant preconditions such as non-default settings or an authenticated attacker.
- **low**: Hardening issues with no demonstrated security impact.

## Report format

- Keep reports short: one-paragraph summary first, then affected file and lines, impact, reproducer and fix.
- Candidate patches: minimal, enough to show the root cause and how to fix it.
- Deduplicate by root cause: one report per underlying bug even if it is reachable from several places.

Добавьте этот файл в репозиторий под именем .oss-scanner/threat_model.md. Сгенерированный файл написан на английском, чтобы его могли прочитать все сканеры и участники проекта. Также можно вставить его в настройки зарегистрированного проекта на ossscanner.org.

Зачем нужна модель угроз

ИИ-сканеры хорошо находят код, который может работать некорректно, но не могут знать, контролируется ли конкретный ввод злоумышленником в вашем проекте. Файл конфигурации записывает оператор или анонимный пользователь? CLI — это привилегированный исполняемый файл с setuid или инструмент для разработчиков? Без этого контекста сканеры сообщают об ошибках, которые вы никогда не будете исправлять, и неверно оценивают критичность.

Anthropic рекомендует использовать файл модели угроз именно по этой причине. Сопровождающие, тестировавшие её сканер, отмечали, что чаще всего сканер завышал критичность и неверно интерпретировал модель угроз.

Что включить

  • Что делает проект и кто им пользуется.
  • Откуда поступают недоверенные данные: сеть, файлы, запросы, плагины.
  • Что считается доверенным: конфигурация оператора, локальные пользователи, среда сборки.
  • Что не входит в область рассмотрения: тесты, примеры, проблемы только в локальной среде, DoS с огромными входными данными.
  • Как оценивать критичность, чтобы для вас и сканера она означала одно и то же.
  • Какими должны быть отчёты: стиль патчей, полезные PoC, удаление дубликатов.

Пишите кратко. Одной страницы вполне достаточно.

Куда поместить файл

По умолчанию оба сканера читают .oss-scanner/threat_model.md из корневого каталога вашего репозитория. Для сканера Anthropic можно также указать другой путь в project.yaml или разместить threat_model.md рядом с project.yaml в репозитории Anthropic. На ossscanner.org его можно вставить в настройки подключённого проекта. Изменения вступят в силу при следующем сканировании.