Promt-Hub
Главная / Программирование и IT / OWASP Top 10: Сканирование кода на уязвимости

OWASP Top 10: Сканирование кода на уязвимости

Описание промпта
Промпт для глубокого анализа исходного кода на соответствие стандартам OWASP Top 10 2021. Помогает выявить критические уязвимости, оценить их серьезность и предоставить готовые исправления.
Что делает этот промпт
  • Автоматизирует поиск уязвимостей OWASP Top 10 в исходном коде, предоставляя структурированный отчет с оценкой рисков и готовыми патчами.
Преимущества
  • Экономит время на ручном ревью, стандартизирует процесс аудита безопасности, снижает риск пропуска критических багов.
Для кого подходит
  • Разработчики, DevSecOps инженеры, специалисты по кибербезопасности, лиды команд.
Инструкция по использованию промпта
Вставь код в переменную {{CODE}}, укажи язык и фреймворк. Запроси анализ. Используй результат для рефакторинга кода.
Что нужно предоставить
Необходимо предоставить язык, фреймворк и исходный код. Эффективно работает с Python, JS, Java, Go и другими популярными языками.
Что ожидать в результате
Структурированный отчет с оценкой безопасности, таблицей уязвимостей, примерами уязвимого и исправленного кода, а также рекомендациями.
Рекомендации
Для лучшего результата предоставляй контекст фреймворка. Проверяй сгенерированный код перед внедрением в продакшн.
Ограничения
Не заменяет полноценный пентест. Может пропускать сложные логические уязвимости, не связанные с синтаксисом.
Переменные
LANGUAGE
LANGUAGE
Обязательная

Язык программирования исходного кода (например, Python, JavaScript, Java)

FRAMEWORK
FRAMEWORK
Необязательная

Используемый фреймворк (например, Flask, React, Spring Boot). Может быть пустым.

CODE
CODE
Обязательная

Исходный код, который необходимо проанализировать на уязвимости

Промпт открыт для всех. Зарегистрируйтесь, чтобы копировать одним кликом, сохранять промпты, оценивать их и подписываться на авторов.
Текст промпта
ChatGPT / Claude / Llama Войти для копирования
Выступи в роли эксперта по безопасности приложений с 15-летним опытом в аудите кода и оценке уязвимостей. Твоя задача — просканировать предоставленный код на соответствие категориям уязвимостей OWASP Top 10 2021.

Входные данные:
- {{LANGUAGE}}: Язык программирования
- {{FRAMEWORK}}: Используемый фреймворк (если есть)
- {{CODE}}: Исходный код для аудита

Проверь код по следующим категориям:
A01:2021 - Нарушенный контроль доступа (IDOR, обход авторизации)
A02:2021 - Криптографические сбои (хардкод секретов, слабое шифрование)
A03:2021 - Инъекции (SQL, NoSQL, командные инъекции)
A04:2021 - Небезопасный дизайн (отсутствие валидации, rate limiting)
A05:2021 - Небезопасная конфигурация (дебаг-режим, дефолтные креды)
A06:2021 - Уязвимые компоненты (устаревшие зависимости)
A07:2021 - Ошибки аутентификации (слабые пароли, защита от брутфорса)
A08:2021 - Целостность ПО и данных (небезопасная десериализация)
A09:2021 - Ошибки логирования (утечка данных в логах)
A10:2021 - SSRF (невалидированные URL, доступ к внутренней сети)

Требования к выводу:
1. Выставь Security Score (A/B/C/D/F).
2. Приведи таблицу критических находок: ID, категория OWASP, проблема, локация, серьезность, краткое решение.
3. Для каждой критической уязвимости предоставь детальный анализ:
- Категория и серьезность (CRITICAL/HIGH/MEDIUM/LOW).
- Локацию (файл:строка).
- Уязвимый код в блоке кода.
- Исправленный код в блоке кода (рабочий, не псевдокод).
- Объяснение, почему это уязвимо и как работает фикс.
4. Дай список рекомендаций по приоритетным исправлениям.

Ограничения:
- Указывай конкретные номера строк.
- Не игнорируй контекст фреймворка.
- Не сообщай о ложных срабатываниях без оговорок.
- Не давай общих рекомендаций.

Пример анализа SQL-инъекции:
Security Score: D
Critical Findings:
| ID | OWASP | Issue | Location | Severity | Fix |
| 1 | A03 | SQL Injection | line 4 | CRITICAL | Use parameterized queries |

Detailed Analysis:
[1]: SQL Injection
OWASP Category: A03:2021 - Injection
Severity: CRITICAL
Location: line 4
Vulnerable Code:
```python
query = f"SELECT * FROM users WHERE id = {user_id}"
result = db.execute(query)
```
Secure Code:
```python
query = "SELECT * FROM users WHERE id = ?"
result = db.execute(query, (user_id,))
```
Explanation: Пользовательский ввод напрямую конкатенируется в SQL-запрос. Фикс использует параметризованные запросы для разделения логики и данных.
Recommendations:
1. Используй параметризованные запросы.
2. Добавь валидацию ввода.

Поделитесь в социальных сетях

Комментарии

Войдите, чтобы комментировать.

Комментариев пока нет.