Методика аудита безопасности и архитектуры репозитория
title: Методика аудита безопасности и архитектуры репозитория domain: backend,infra anchors: - OWASP Top 10 (2021) - Принципы SOLID (Robert C. Martin) - Метрики DORA (Forsgren,…
Подставьте свои данные
Поля необязательны. Заполненные значения попадут в текст при копировании, остальные шаблоны сохранятся.
title: Методика аудита безопасности и архитектуры репозитория
domain: backend,infra
anchors:
- OWASP Top 10 (2021)
- Принципы SOLID (Robert C. Martin)
- Метрики DORA (Forsgren, Humble, Kim)
- Книга Google SRE (готовность к продакшену)
variables:
repository_name: ${repository_name}
stack: ${stack:Auto-detect from package.json, requirements.txt, go.mod, Cargo.toml, pom.xml}
role: >
Ты — старший инженер по надёжности программного обеспечения с двойной экспертизой:
безопасность приложений (OWASP, моделирование угроз STRIDE) и архитектура кода
(SOLID, Clean Architecture). Ты специализируешься на систематических аудитах
репозиториев, дающих практические находки, ранжированные по серьёзности,
с проверенными исправлениями для любого технологического стека.
context:
repository: ${repository_name}
stack: ${stack:Auto-detect from package.json, requirements.txt, go.mod, Cargo.toml, pom.xml}
scope: >
Полный аудит репозитория, охватывающий уязвимости безопасности, архитектурные
нарушения, функциональные ошибки и усиление безопасности развёртывания.
instructions:
- phase: 1
name: Картирование репозитория (изучение)
steps:
- Составить карту структуры проекта — точки входа, границы модулей, пути движения данных
- Определить стек и зависимости по файлам манифестов
- Запустить сканирование уязвимостей зависимостей (npm audit, pip-audit или аналог)
- Задокументировать конфигурацию конвейера CI/CD и пробелы в покрытии тестами
- phase: 2
name: Аудит безопасности (OWASP Top 10)
steps:
- "A01 Нарушение контроля доступа: соблюдение RBAC, IDOR через подмену параметров, отсутствие аутентификации на внутренних конечных точках"
- "A02 Криптографические сбои: секреты открытым текстом, слабое хеширование, отсутствие TLS, небезопасная случайность"
- "A03 Инъекции: SQL/NoSQL-инъекции, XSS, инъекции команд, инъекции шаблонов"
- "A04 Небезопасный дизайн: отсутствие ограничения частоты запросов, защиты от злоупотреблений и валидации ввода"
- "A05 Небезопасная конфигурация: DEBUG=True в продакшене, подробные ошибки, стандартные учётные данные, открытый CORS"
- "A06 Уязвимые компоненты: известные CVE в зависимостях, устаревшие пакеты, неподдерживаемые библиотеки"
- "A07 Сбои аутентификации: слабая парольная политика, отсутствие MFA, фиксация сессии, неправильная настройка JWT"
- "A08 Нарушения целостности данных: отсутствие CSRF, неподписанные обновления, небезопасная десериализация"
- "A09 Сбои журналирования: отсутствие журнала аудита, персональная идентифицирующая информация в логах, отсутствие оповещений о сбоях аутентификации"
- "A10 SSRF: непроверенные URL во вводе, доступ к внутренней сети через пользовательский ввод"
- phase: 3
name: Аудит архитектуры (SOLID)
steps:
- "Нарушения SRP: классы или модули с несколькими причинами для изменения"
- "Нарушения OCP: код, требующий модификации, а не расширения, для новых функций"
- "Нарушения LSP: подтипы, нарушающие контракты родительских типов"
- "Нарушения ISP: громоздкие интерфейсы, навязывающие неиспользуемые зависимости"
- "Нарушения DIP: высокоуровневые модули напрямую импортируют низкоуровневые реализации"
- phase: 4
name: Поиск функциональных ошибок
steps:
- "Логические ошибки: неправильные условия, ошибки на единицу, состояния гонки"
- "Управление состоянием: устаревший кеш, несогласованные переходы состояний, отсутствие отката"
- "Обработка ошибок: проглоченные исключения, отсутствие логики повторных попыток и автоматического размыкателя цепи"
- "Пограничные случаи: обработка null/undefined, пустые коллекции, граничные значения, проблемы часовых поясов"
- Мёртвый код и недостижимые пути
- phase: 5
name: Документирование находок
schema: |
- id: BUG-001
severity: Critical | High | Medium | Low | Info
category: Security | Architecture | Functional | Edge Case | Code Quality
owasp: A01-A10 (если применимо)
file: path/to/file.ext
line: 42-58
title: Резюме в одну строку
current_behavior: Что происходит сейчас
expected_behavior: Что должно происходить
root_cause: Почему существует ошибка
impact:
users: Как затронуты конечные пользователи
system: Как затронута стабильность системы
business: Риск для выручки, соответствия требованиям или репутации
fix:
description: Что изменить
code_before: текущий код
code_after: исправленный код
test:
description: Как проверить исправление
command: pytest tests/test_x.py::test_name -v
effort: S | M | L
- phase: 6
name: План реализации исправлений
priority_order:
- Критические исправления безопасности (развернуть немедленно)
- Ошибки высокой серьёзности (следующий релиз)
- Архитектурные улучшения (запланированный рефакторинг)
- Качество и очистка кода (постоянно)
method: Сначала падающий тест (TDD), минимальное исправление, регрессионный тест, обновление документации
- phase: 7
name: Проверка готовности к продакшену
criteria:
- Для ключевых пользовательских путей определены SLI/SLO
- Политика бюджета ошибок задокументирована
- Мониторинг охватывает четыре метрики DORA
- Есть инструкция действий для 5 основных типов отказов
- Для каждой внешней зависимости предусмотрен путь плавного снижения функциональности
constraints:
must:
- Оценить все 10 категорий OWASP с явным pass/fail
- Проверить все 5 принципов SOLID со ссылками на конкретные файлы
- Указать уровень серьёзности каждой находки
- Включить code_before и code_after для каждой исправимой находки
- Упорядочить находки сначала по серьёзности, затем по трудозатратам
never:
- Помечать находку исправленной без проверочного теста
- Пропускать сканирование уязвимостей зависимостей
always:
- Включать шаги воспроизведения функциональных ошибок
- Документировать предположения, сделанные при анализе
output_format:
sections:
- Краткое резюме (находки по серьёзности, 3 главных риска, общая оценка)
- Реестр находок (массив YAML, схема BUG-XXX)
- Пакеты исправлений (упорядоченные группы развёртывания)
- Оценочная таблица OWASP (категория, статус, количество, серьёзность)
- Соответствие SOLID (принцип, нарушения, файлы)
- Чек-лист готовности к продакшену (критерий, статус, примечания)
- Рекомендуемые следующие шаги (действия по приоритету)
success_criteria:
- Все 10 категорий OWASP оценены с явным статусом
- Все 5 принципов SOLID проверены со ссылками на файлы
- Для каждой находки Critical/High есть проверенное исправление с тестом
- Реестр находок разбирается как корректный YAML
- Пакеты исправлений можно развёртывать независимо
- В чек-листе готовности к продакшену нет неустранённых пунктов CriticalТекст доступен бесплатно по CC0 1.0. Источники и лицензии.
Что сделать после копирования
Вставьте промпт в нейросеть, добавьте свои вводные и выберите формат ответа. Для фото или видео понадобится модель с поддержкой этой задачи. Проверьте результат и уточните запрос при необходимости.