Перевірки безпеки CzynszOK: що працює за кожної зміни
· 3 хв читання
За кожної зміни коду CzynszOK запускає кілька автоматичних перевірок безпеки. Нижче перелік того, що справді працює, і що показав перший запуск. Ми пишемо лише те, що підтверджують файли конфігурації в нашому репозиторії. Коротко це є й на сторінці Безпека.
Що працює за кожної зміни коду
- Залежності:
npm auditна критичному рівні. Знахідка позначає перевірку як невдалу. - Секрети в коді: gitleaks перевіряє файли та коміти зміни, а TruffleHog перевіряє всю історію репозиторію, але повідомляє лише про секрети, які вдається підтвердити як дійсні. Обидва позначають перевірку як невдалу.
- Статичний аналіз коду: Semgrep зі стандартним набором правил. Знахідка рівня ERROR позначає перевірку як невдалу.
- Запущений застосунок: OWASP ZAP у режимі baseline (про цей режим ми пишемо в окремому дописі) сканує публічні сторінки застосунку, запущеного без бази даних. Нові знахідки блокують збірку, а звіт кожного запуску зберігається разом із запуском.
- Залежності, відомі вразливості: OSV-Scanner під час кожного pull request і щотижня. Нова відома вразливість блокує збірку.
- Раніше й поруч: перевірка типів, лінтер, перевірки, що стежать, зокрема, за правилами доступу маршрутів і за відсутністю персональних даних у журналах, а також модульні й наскрізні тести.
Щотижня Dependabot відкриває згруповані pull request із оновленнями залежностей, які він знайшов (dependabot.yml); щотижнева рутина зводить усі відкриті в один pull request і працює над ним, доки не пройдуть усі блокувальні перевірки; зливає його людина.
Що показав перший запуск
- OWASP ZAP: 61 перевірку пройдено, 0 не пройдено.
- Semgrep (версія 1.180.0, та сама команда, що й у перевірці): знайшов одну проблему в нашому коді шифрування, і ми її виправили. Виклик розшифрування AES-256-GCM не вказував довжину тега автентифікації. Код і раніше відхиляв тег, довший чи коротший за 16 байтів, а тепер цю довжину задано й у самому виклику, для шифрування та розшифрування.
- Сканування залежностей: виявило 4 вразливості в інструментах розробки; ми оновили пакети, для яких було виправлення.
- TruffleHog: не знайшов жодного дійсного секрету в історії репозиторію.
Чого ці перевірки не роблять
ZAP у режимі baseline пасивний: він читає відповіді сервера, нічого не атакує і не входить в обліковий запис, тож не бачить екранів після входу. Semgrep шукає відомі шаблони помилок, а не доводить, що код не можна обійти. Це не тест на проникнення, виконаний людьми, і такого тесту ми не публікували. Коли він буде, ми опишемо його з датою та обсягом.
Найчастіші запитання
Чи має CzynszOK сертифікат ISO 27001 або SOC 2?
Ні. Сертифікати, про які ми пишемо на сторінці Безпека, належать нашим постачальникам (база даних, хостинг, платежі, електронна пошта), і ми описуємо їх так, як вони самі їх публікують.
Чи ці перевірки замінюють тест на проникнення?
Ні. Це автоматичні перевірки, які працюють за кожної зміни. Тест на проникнення виконують люди, і такого тесту ми не публікували.
Чи скануєте ви екрани після входу?
Сканування ZAP охоплює публічні сторінки. Екрани після входу захищають вхід одноразовим кодом, правила доступу на кожному маршруті й тести, але не сканування ZAP.
Куди повідомити про вразливість?
Напишіть на pomoc@czynszok.pl: що Ви бачите і як це відтворити. Ця сама адреса є у файлі security.txt.
Czynsz OK? Перевірте за кілька хвилин.
Підключаєте банк, вписуєте оренду з оголошення, отримуєте сертифікат із QR-кодом. Без PDF і без аналітика.
Перевірити оренду