Дизайн
Создайте схему архитектуры сайта и границ доверия
Готовая для дизайна схема разделяет публичную, браузерную, прикладную, слой данных и сторонние зоны доверия и делает потоки, меры и пути отказа проверяемыми.
Процесс
Делай в этом порядке.
- Определите область сайта, пользователей, среды, активы, классификации данных, вопрос моделирования угроз и проверяющих, которые должны использовать схему.
- Составьте инвентарь маршрутов, edge или CDN, кода браузера, идентификации, фронтенда, API, workers, баз данных, объектного хранилища, аналитики и сторонних интеграций.
- Нарисуйте подписанные потоки с направлением, протоколом, классом данных, аутентификацией, границей секретов и поведением при отказе, отметив предполагаемые или непроверенные компоненты.
- Разместите границы доверия и контроль вокруг публичных, управляемых пользователем, прикладных, привилегированных, данных и поставщиков зон и запишите, что пересекает каждую границу.
- Проведите проверку с инженерами, безопасностью, приватностью, эксплуатацией и владельцами дизайна, сверяя схему с текущими данными развёртывания и конфигурации при наличии授权.
- Упакуйте исходник схемы, легенду, доступную текстовую альтернативу, допущения, дату пересмотра и владельца изменений и удалите детали, не помогающие заявленному решению.
- Верните схему, доказательства, допущения, вопросы к контролям и нерешённые риски и остановитесь перед живой проверкой, развёртыванием или изменением продукта.
Принеси это
Входы, которые кот спросит.
- область сайта и ревизия архитектуры
- классификации пользователей, данных и сред
- инвентарь компонентов и интеграций
- проверяющие и цель моделирования угроз
Роутер + один playbook
Сначала маршрут. Выбери один.
Cat Paw открывает один playbook на задачу, не смешивает несколько. Начни с этого роутера; остальные пути — кандидаты именно этого workflow.
- Роутер:
diagram-design-pack skills/diagram-design-pack/website-architecture-trust-boundary-diagram/SKILL.md
Границы
Границы едут вместе с промптом.
- Перед началом проверьте реальные инструменты, учётные записи, разрешения и рабочую область; никогда не утверждайте, что недоступный инструмент, учётная запись, источник или возможность существует.
- Используйте Latch/target-workspace для приватного кода, артефактов, живых проверок или непубличных данных; если доступ недоступен, остановитесь на границе и сообщите о блокировке, не подменяя её догадкой.
- Приостановите работу для явного одобрения перед внешними действиями с последствиями; верните доказательства, нерешённые риски, допущения и любое действие, ожидающее одобрения.
Готово значит
Проверяемый финиш.
Проверяемая схема архитектуры сайта и границ доверия показывает проверенные компоненты, подписанные потоки, контроль границ, допущения, доступное описание, доказательства и нерешённые риски.
Источники
Откуда взялся этот процесс.
- github.com/cathrynlavery/diagram-design/tree/dc1ace47b99a419e42d01a03cb6ace5346efa8ae/
- cheatsheetseries.owasp.org/cheatsheets/Threat_Modeling_Cheat_Sheet.html
- csrc.nist.gov/pubs/sp/800/30/r1/final
Источники задают рисунок workflow. Посты Reddit и сообщества, если они есть, — байки практиков, не универсальные факты.