Парада

Праверкі бяспекі 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 і без аналітыка.

Праверыць арэнду