~/VibeHandbook

Глава 18 · 09

Итоги и практика

Ключевые выводы

  • Сгенерированный AI код небезопасен по умолчанию; считай, что уязвимость существует, и иди её искать, а не доверяй чистому первому впечатлению.
  • Крупные категории повторяются: инъекции, открытые секреты, отсутствующая авторизация, небезопасные загрузки файлов и выдуманные зависимости.
  • Авторизация — на каждый запрос, а не на каждый вход: каждый эндпоинт должен проверять, что этот пользователь вправе сделать это действие, а не только что он залогинен.
  • Запускай сканер секретов вроде gitleaks перед каждым пушем и ротируй любой когда-либо утёкший ключ; вшей сканирование в , чтобы его нельзя было пропустить.
  • Девяностый день опаснее первого — сделай шлюз безопасности достаточно дешёвым, чтобы его не пропускать, и достаточно автоматическим, чтобы его нельзя было пропустить.

Попробуй сам

Возьми любую свою функцию, затрагивающую аутентификацию, данные пользователей или загрузки, и прогони по ней приведённый ниже промпт для враждебного ревью. Для каждой уязвимости, о которой сообщит AI, запроси точный запрос, эксплуатирующий её, и минимальную правку, затем примени правку и перезапусти промпт. Заверши прогоном gitleaks (или сканера секретов твоей платформы) по репозиторию и истории.

Промпт главы

Here is the code for a feature that handles [auth / user data / uploads]:
[paste the code].
Act as an attacker reviewing this for security holes. Specifically check:
  - broken authorization (can a user act on another user's data?)
  - injection via input (SQL injection, XSS, command injection)
  - exposed secrets or keys in code or responses
  - unsafe file handling (type, size, path, generated names)
  - missing validation or rate limits
For EACH issue, show the exact request that exploits it, then the fix.
Do NOT reassure me — assume there IS a vulnerability and find it.

Хотите офлайн-версию?

Получите PDF + EPUB + скачиваемую библиотеку промптов + обновления версий.

$ Получить PDF — $39