Конструктор модели угроз
Объясните ИИ-сканерам, что важно для вашего проекта
Большинство ложных срабатываний возникает из-за того, что сканер неверно определяет, кто является атакующим. Краткая модель угроз поможет это исправить. Отметьте нужные пункты, скопируйте файл в .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 его можно вставить в настройки подключённого проекта. Изменения вступят в силу при следующем сканировании.