Безопасность своего продукта: чек-лист и промпт для проверки
Для кого:Хочу свой продукт
Таблица аудита безопасности одного твоего проекта, сверенная с твоими галочками в чек-листе, и список из трёх самых срочных задач.
Задача
У Хасана (урок 4.4) учёт на сервере, у Онура (урок 4.3) бот с заявками. Где у них дыры, оба не знают. Утёкший токен, открытая база или нерабочий бэкап стоят денег, клиентов и проблем по KVKK. Чек-лист проходят раз в месяц и перед крупным обновлением.
Как пользоваться. Сохрани чек-лист в проекте как SECURITY_CHECKLIST.md. Непонятный пункт? Спроси Claude Code. Галочку ставит человек: за продукт отвечаешь ты.
Шаблон 1. Чек-лист.
# Безопасность: [проект] Дата: [дата]
## 1. Секреты
- [ ] Нет токенов и паролей в коде и в истории git
- [ ] Секреты только в .env / переменных окружения сервера; .env в .gitignore
- [ ] Claude Code запрещено читать .env (deny в .claude/settings.json)
- [ ] Секреты не попадали в чаты и скриншоты
- [ ] Пароли пользователей только хешем; знаю, как перевыпустить каждый токен
## 2. Доступы
- [ ] На сервер только по SSH-ключу, без root и паролей; открыты только SSH, 80, 443
- [ ] Нет лишней открытой регистрации; у каждого своя учётка и минимум прав
- [ ] Ушёл сотрудник: доступ закрыт, секреты сменены
- [ ] Двухфакторная защита: почта, регистратор домена, хостинг, GitHub
## 3. Обновления
- [ ] Автообновления безопасности включены; решено, кто и когда перезагружает сервер
- [ ] Раз в месяц проверка устаревших и уязвимых библиотек
## 4. Бэкапы
- [ ] Автоматическая копия базы, хранится вне сервера, старые удаляются по правилу
- [ ] Последнее пробное восстановление: [дата]
- [ ] Инструкция восстановления в DEPLOY.md
## 5. Данные клиентов (KVKK, общие принципы)
- [ ] Собираю только нужное для цели
- [ ] Есть уведомление (aydınlatma metni): кто я, цель, кому передаю, способ и основание сбора, права человека
- [ ] Если нужно согласие (açık rıza), оно отдельное; проверено юристом
- [ ] Знаю, где физически лежат данные; сервер за границей обсуждён с юристом
- [ ] Есть срок хранения и правило удаления
- [ ] По запросу человека могу найти, исправить, удалить его данные
- [ ] Знаю, что делать при утечке: уведомить человека и Kurul
- [ ] Реальные данные клиентов не в тестах и чатах с ИИ
## 6. Сайт и приложение
- [ ] Только HTTPS, сертификат продлевается сам
- [ ] Страницы с данными закрыты входом; формы защищены от спама и CSRF
- [ ] Ошибки не показывают технические детали; в логах нет секретов и полных телефонов
Шаблон 2. Промпт для Claude Code.
Проведи аудит безопасности проекта. Я не программист, объясняй просто.
Правила:
- ничего не меняй, пока не скажу «исправляй»;
- не открывай и не выводи .env и другие файлы с секретами; найденный в коде или истории git секрет покажи как ***, с именем файла и строкой;
- для доступа к серверу сначала спроси.
Проверь:
1. Секреты: код, конфиги, история git, .gitignore, запрет чтения .env.
2. Доступы: вход, роли, регистрация, лимит попыток входа, пароли.
3. Код: SQL-инъекции, XSS, CSRF, загрузка файлов, тексты ошибок.
4. Зависимости: устаревшие и уязвимые библиотеки.
5. Сервер: SSH, файрвол, автообновления, HTTPS.
6. Бэкапы: есть ли, где, как восстановить.
7. Персональные данные: какие поля, все ли нужны, где хранятся, попадают ли в логи, есть ли уведомление, можно ли удалить данные человека.
Отчёт в виде таблицы: пункт | ок / риск / не могу проверить | что нашёл | опасность (высокая / средняя / низкая) | как исправить.
В конце 3 самые срочные задачи. Юридических выводов по KVKK не делай, отметь, что показать юристу.
Дополнительно. Если у проекта есть удалённый репозиторий origin (например, на GitHub), после крупных изменений запускай /security-review. Она проверяет только изменения текущей ветки относительно основной ветки origin, поэтому полный аудит по промпту всё равно нужен.
Про KVKK коротко. Персональные данные в Турции защищает закон № 6698, надзор ведёт Kişisel Verileri Koruma Kurumu (kvkk.gov.tr). Общие принципы:
- законно и честно, для ясной цели, в нужном объёме, не дольше необходимого (ст. 4);
- при сборе уведомлять человека (ст. 10);
- человек может узнать о своих данных, потребовать исправить или удалить их (ст. 11);
- технические и организационные меры защиты; при утечке как можно скорее сообщить человеку и Kurul (ст. 12). Это не юридическая консультация: тексты проверяет юрист.
Сохрани чек-лист в один свой проект и пройди его сам, ставя галочки только там, где ты проверил лично. Затем запусти в том же проекте промпт-аудит и сравни его таблицу со своими галочками: в чём ты и Claude разошлись.
✓ Как понять, что получилосьУ тебя есть таблица аудита и список из трёх срочных задач, а каждая находка привязана к файлу или настройке. Ни один секрет не показан в открытом виде, только как ***. Пункты по KVKK отмечены «показать юристу», без юридических выводов от ИИ.
- Чек-лист безопасности из 6 разделов: секреты, доступы, обновления, бэкапы, данные клиентов, сайт
- Промпт-аудит, который ничего не меняет без твоего «исправляй» и прячет секреты за ***
- Общие принципы KVKK для своего продукта
- Правило: галочку ставит человек, юридические выводы делает юрист
Сегодня сохрани чек-лист в свой проект как SECURITY_CHECKLIST.md и пройди раздел «Секреты» сам. Промпт-аудит сохрани в заметку «Мои запросы».
Источники
- kvkk.gov.tr: официальный сайт Kurum
- 6698 sayılı KVKK (mgm.adalet.gov.tr): статьи 4, 9, 10, 11, 12
- Kamuoyu duyurusu (kvkk.gov.tr): требования к уведомлению
- Commands (code.claude.com):
/security-review: изменения ветки, нужен remoteorigin(проверено 27.10.2026) - Settings (code.claude.com): запрет
Read(./.env)иRead(./.env.*)в.claude/settings.json; терминал и приложение читают те же файлы