# OWASP Top 10

> Рейтинг десяти наиболее критичных категорий рисков безопасности веб-приложений, который публикует фонд OWASP; стандартная точка отсчёта для разработчиков и аудиторов.

Источник: https://llmdocs.ru/wiki/owasp-top-10/ · обновлено 2026-11-09 · лицензия CC BY-SA 4.0

- **Издатель**: OWASP Foundation (некоммерческий фонд)
- **Первая версия**: 2003
- **Редакции**: 2003, 2004, 2007, 2010, 2013, 2017, 2021, 2025
- **Основа**: данные о найденных уязвимостях (CWE) и опрос сообщества
- **Родственные проекты**: ASVS, Cheat Sheet Series, OWASP Top 10 for LLM Applications, ZAP
- **Лицензия**: CC BY-SA 4.0
**OWASP Top 10** — документ фонда OWASP (*Open Worldwide Application Security Project*), перечисляющий десять наиболее критичных категорий рисков безопасности веб-приложений.[1] Это не стандарт и не полный чек-лист, а «документ осведомлённости»: он показывает, с чего начинать, и задаёт общий язык для разработчиков, тестировщиков и аудиторов. Каждая категория объединяет несколько слабостей из каталога CWE.[6]

## История

Первый список вышел в 2003 году; с тех пор он обновляется раз в три–четыре года. Ранние редакции возглавляли инъекции и [XSS](https://llmdocs.ru/wiki/xss.md), к 2021 году на первое место вышли ошибки контроля доступа. Начиная с 2017 года рейтинг строится на статистике — данных о сотнях тысяч протестированных приложений, которые присылают компании, — а две–три позиции добавляются по опросу сообщества, чтобы учесть новые риски, ещё не попавшие в статистику.

## Редакция 2021

| № | Категория | Суть |
|---|---|---|
| A01 | Broken Access Control | пользователь получает доступ к чужим данным или функциям |
| A02 | Cryptographic Failures | данные передаются или хранятся без шифрования или со слабым |
| A03 | Injection | [SQL](https://llmdocs.ru/wiki/sql-injection.md), команды ОС, LDAP, XSS |
| A04 | Insecure Design | ошибки в самой архитектуре, а не в реализации |
| A05 | Security Misconfiguration | открытые панели, учётки по умолчанию, лишние сервисы |
| A06 | Vulnerable and Outdated Components | библиотеки с известными уязвимостями |
| A07 | Identification and Authentication Failures | слабые пароли, перебор, утечка сессий |
| A08 | Software and Data Integrity Failures | непроверенные обновления, небезопасная десериализация, CI/CD |
| A09 | Security Logging and Monitoring Failures | атаку никто не заметил |
| A10 | Server-Side Request Forgery (SSRF) | сервер ходит по URL, заданному атакующим |

В редакции 2025 года[2] контроль доступа остался на первом месте, ошибки конфигурации поднялись на второе, категория уязвимых компонентов расширилась до **цепочки поставок ПО** (Software Supply Chain Failures), SSRF вошла в A01, а появилась новая категория о неправильной обработке исключительных ситуаций (Mishandling of Exceptional Conditions).

## Ключевые категории подробнее

**Нарушение контроля доступа.** Классика — IDOR (*insecure direct object reference*): `GET /api/orders/1042` возвращает чужой заказ, если сервер проверил, что пользователь вошёл, но не проверил, что заказ его. Проверка прав должна выполняться на сервере для каждого объекта, по умолчанию — запрет (см. [Аутентификация и авторизация](https://llmdocs.ru/wiki/authn-authz.md) и [Принцип наименьших привилегий](https://llmdocs.ru/wiki/least-privilege.md)).

**Криптографические ошибки.** HTTP без [TLS](https://llmdocs.ru/wiki/tls.md), пароли в MD5 вместо [Argon2 или bcrypt](https://llmdocs.ru/wiki/password-storage.md), самодельное шифрование, ключи в коде.

**Инъекции.** Данные пользователя попадают в интерпретатор как код. Защита — параметризованные запросы, экранирование по контексту, безопасные API вместо склейки строк.

**Ошибки конфигурации.** Включённый режим отладки в продакшене, подробные трассировки в ответах, открытый наружу Redis или панель администратора, бакет хранилища с публичным доступом.

**Уязвимые компоненты и цепочка поставок.** Большая часть кода приложения — зависимости. Нужны инвентаризация (SBOM), автоматическое обновление и сканеры (Dependabot, Renovate, `pip-audit`, `npm audit`, Trivy).

**Целостность ПО и данных.** Сборка из непроверенных источников, скомпрометированный пайплайн [CI/CD](https://llmdocs.ru/wiki/ci-cd.md), десериализация `pickle` из недоверенных данных.

## Как применять

- Как **учебный минимум**: каждый веб-разработчик должен понимать все десять категорий и знать типовую защиту.
- Как **основу для чек-листа ревью** — но для формальных требований есть более подробный стандарт ASVS (Application Security Verification Standard) с тремя уровнями строгости.[3]
- Практические рецепты по каждой теме собраны в OWASP Cheat Sheet Series.[4]
- Для тестирования есть бесплатный сканер ZAP и учебные уязвимые приложения (Juice Shop).

Не стоит использовать Top 10 как исчерпывающий список: «соответствие Top 10» не означает защищённости, а риски конкретного продукта определяет моделирование угроз.

## Другие списки OWASP

Кроме веб-версии, OWASP выпускает отдельные рейтинги для API (API Security Top 10), мобильных приложений и приложений на основе больших языковых моделей — OWASP Top 10 for LLM Applications,[5] где первое место занимает [prompt injection](https://llmdocs.ru/wiki/prompt-injection.md).

## См. также

- [SQL-инъекция (как защищаться)](https://llmdocs.ru/wiki/sql-injection.md)
- [CSRF](https://llmdocs.ru/wiki/csrf.md)
- [Управление секретами](https://llmdocs.ru/wiki/secrets-management.md)
- [HTTP](https://llmdocs.ru/wiki/http.md)

## Источники

1. [OWASP Top 10:2021](https://owasp.org/Top10/)
2. [OWASP Top 10:2025](https://owasp.org/Top10/2025/)
3. [OWASP Application Security Verification Standard (ASVS)](https://owasp.org/www-project-application-security-verification-standard/)
4. [OWASP Cheat Sheet Series](https://cheatsheetseries.owasp.org/)
5. [OWASP Top 10 for Large Language Model Applications](https://genai.owasp.org/llm-top-10/)
6. [MITRE — Common Weakness Enumeration (CWE)](https://cwe.mitre.org/)
