Скилл Quality

Безопасность

Аутентификация, авторизация, валидация ввода, защита данных, безопасность зависимостей. Для ревью безопасности или работы с секретами и пользовательскими данными.

Обзор

Security — справочный навык, загружаемый аналитиками безопасности, ревьюерами, архитекторами и DevOps-агентами при ревью кода или работе с секретами и пользовательскими данными. Предоставляет правила аутентификации, защиты данных, управления зависимостями и критически важный раздел о различении реальной компрометации от фонового шума сканеров.

Аутентификация и авторизация

  • Никогда не хардкодьте секреты или API-ключи — используйте .env и переменные окружения
  • Валидируйте все входные данные на сервере — клиентская валидация для UX, не для безопасности
  • Применяйте принцип наименьших привилегий для всех ключей и сервисных аккаунтов

Защита данных

  • Санитизируйте пользовательский ввод для предотвращения XSS и SQL-инъекций
  • Шифруйте конфиденциальные данные при хранении и передаче
  • Не логируйте персональные данные (PII)

Граница чувствительного исходного контекста

Перед открытием или поиском по файлам задачи сверяйтесь с существующей классификацией источников. Классификация «чувствительный» сохраняется при смене роли, делегировании и передаче сессии. Каждая передача несёт классификацию, одобренный путь санитизированной копии, пин исходника, дайджест санитизированной копии и ограничения редактирования — метаданные, но не значения секретов. Получатель проверяет одобренную копию до чтения; если её нет или она устарела, он останавливается и запрашивает исправленную передачу, а не читает сырой исходник. Сырые оригиналы никогда не попадают в контекст модели.

Кэшированные секреты в быстрых хранилищах

Если payload с секретом кэшируется в Redis, Memcached или in-process map, это фиксируется в реестре принятых рисков проекта даже при ограниченном TTL и изолированном bind: TTL и изоляция — это смягчение, а не отмена остаточного риска. Пересмотр — по циклу реестра (по умолчанию 90 дней).

Безопасность зависимостей

  • Аудит зависимостей на известные уязвимости — используйте нативную для package manager проекта команду аудита на заявленном пороге severity
  • Фиксируйте версии зависимостей

Разведка vs Компрометация

200-ответ на подозрительное имя файла — не доказательство компрометации. Каждый публичный IPv4 сканируется ежедневно. Перед объявлением взлома проверьте: размер файла, владельца, дату модификации, сравните хэши, ищите настоящие индикаторы — base64-закодированные пэйлоады, eval($_POST[...]), неожиданные cron-записи, исходящие соединения к неизвестным IP.

Tailscale + VPN на macOS

При совместном использовании VPN и Tailscale на macOS: перезагрузка после обновления Tailscale, --accept-dns=false если VPN даёт DNS, запускать Tailscale до VPN, проверять utun-интерфейс, free-ключи одноразовые.

Другие рецепты

Навык также содержит рецепт аудита относительных include при смене document root, chroot или точки монтирования, рецепт очистки git-истории после утечки, стек-нейтральные формулировки для ссылок на аудит зависимостей и два шаблона: план обновления зависимостей и атомарный runbook переключения. Канонические правила S1–S11 — в навыке security-baseline.

Когда используется

Загружается при /dr-design и /dr-qa для ревью безопасности, а также агентом security на панелях Consilium. Справочный навык без привязки к модели.