Чек-лист безпеки веб-застосунку

Практичний чек-лист, незалежний від постачальника, для кожного, хто випускає веб-застосунок, незалежно від того, чи ти написав кожен рядок вручну, чи створив застосунок за допомогою промптів ШІ ("vibe coding"). ШІ пише код, який проходить основний сценарій, і все одно лишає реальні дірки, тож робоча функція нічого не доводить щодо безпеки. Цей чек-лист - те, що варто реально перевірити перед запуском і після нього.

Він розбитий за категоріями. Почни з будь-якої або проходь їх по порядку. Кожна сторінка містить конкретні перевірки: що тестувати, чому це важливо і як виправити.

Як користуватися

Категорії

Коротка версія

Якщо маєш лише годину, перевір спочатку ці п'ять пунктів. Вони найпоширеніші і найшкідливіші в реальних аудитах:

  1. Порушений контроль доступу. Увійди як користувач A і запитай об'єкт користувача B за його id. Якщо він повертається, у тебе є дірка. Див. авторизацію.
  2. Секрети в клієнті або в git. Пошукай ключі в бандлі браузера та в репозиторії. Все, що закомічено, вважається скомпрометованим. Див. секрети.
  3. Немає обмеження частоти запитів на вході. Перебір паролів без нього тривіальний. Див. доступність.
  4. Відсутній захист від CSRF або login-CSRF. Див. API та запити.
  5. Порти відкриті повз брандмауер. Контейнери часто публікують порти, обходячи брандмауер. Див. інфраструктуру.

Цей чек-лист опублікувала команда Arc OS. Ми перевіряємо за ним власний продукт, а ти можеш використовувати його для свого. Це стартова база, а не сертифікація, і він не замінює незалежного тесту на проникнення.