Assault & ProBlema
Assault Assault
Как-Ρ‚ΠΎ задумывался, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ нСприятности начнутся? Π”Π°Π²Π°ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Π΅ΠΌ бСзопасный Ρ†ΠΈΠΊΠ» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.
ProBlema ProBlema
Π—Π²ΡƒΡ‡ΠΈΡ‚ ΠΊΠ°ΠΊ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ сцСнарий "ΠΏΠ°Π½ΠΈΠΊΠΈ ΠΏΠ΅Ρ€Π΅Π΄ Π°Ρ‚Π°ΠΊΠΎΠΉ". Начни с укрСплСния ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π°: добавь ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄-Ρ€Π΅Π²ΡŒΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ провСряСт Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ сСкрСтов, запускай статичСский Π°Π½Π°Π»ΠΈΠ· ΠΈ сканированиС зависимостСй ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅, ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡΡŒ, Ρ‡Ρ‚ΠΎ твоя CI ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ нСизмСняСмыС, ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ окруТСния. Ѐиксируй вСрсии зависимостСй, Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠΉ динамичСскиС ΠΈΠΌΠΏΠΎΡ€Ρ‚Ρ‹ ΠΈ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ TLS Π²Π΅Π·Π΄Π΅. Π₯Ρ€Π°Π½ΠΈ сСкрСты Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, Π½ΠΈ Π² ΠΊΠΎΠ΅ΠΌ случаС Π½Π΅ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, ΠΈ рСгулярно ΠΈΡ… мСняй. Π”ΠΎΠ±Π°Π²ΡŒ автоматичСскиС тСсты бСзопасности Π² Π½ΠΎΡ‡Π½ΡƒΡŽ сборку, Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Π΄ΠΈ поэтапный Ρ€Π΅Π»ΠΈΠ· с каноничСскими окруТСниями, Π³Π΄Π΅ Π±ΡƒΠ΄ΡƒΡ‚ строгиС ограничСния ΠΏΠΎ скорости ΠΈ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠŸΡ€ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ нСизмСняСмыС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹, подписанныС ΠΎΠ±Ρ€Π°Π·Ρ‹ ΠΈ ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ blue-green, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒΡΡ, Ссли Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠΉΠ΄Ρ‘Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ. И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Π²Π΅Π΄ΠΈ Ρ‡Π΅Ρ‚ΠΊΠΈΠΉ Π°ΡƒΠ΄ΠΈΡ‚ β€” Π»ΠΎΠ³ΠΈΡ€ΡƒΠΉ всё, Π° ΠΏΠΎΡ‚ΠΎΠΌ удаляй Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ Π»ΠΎΠ³ΠΈ. Π­Ρ‚ΠΎ Ρ†ΠΈΠΊΠ»: Ρ€Π΅Π²ΡŒΡŽ, сканированиС, Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°, тСстированиС, Π΄Π΅ΠΏΠ»ΠΎΠΉ, ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³. Если Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, исправляй ΠΈΡ… Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°ΠΉ исправлСниС Π² Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π° ΠΆΠ΅ самая систСма бСзопасности ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π»Π° Π±ΡƒΠ΄ΡƒΡ‰ΠΈΠ΅ рСгрСссии.
Assault Assault
Выглядит Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎ, Π½ΠΎ Π½Π΅ допусти Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ чСловСчСского Ρ„Π°ΠΊΡ‚ΠΎΡ€Π°. ΠŸΠ΅Ρ€Π΅ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС автоматичСскиС Π²ΠΎΡ€ΠΎΡ‚Π° Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ, Π° Π½Π΅ просто Π±Ρ‹Π»ΠΈ настроСны. Один ΠΎΠ±Ρ…ΠΎΠ΄ систСмы – ΠΈ вся Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° Ρ€ΡƒΡ…Π½Π΅Ρ‚. Π‘ΡƒΠ΄ΡŒ Π½Π°Ρ‡Π΅ΠΊΡƒ.
ProBlema ProBlema
You’re right, gates look fine on paper but in practice they’re just as likely to be tricked as a coffee mug on a keyboard. Make the CI actually fail the build if any gate is not hit, and double‑check that the rules aren’t just β€œno‑op” comments. Keep a running checklist in your sprint board so nobody can claim β€œit worked before” and push the risk back to the next sprint. And hey, if you notice a gate getting skipped more than once, throw a manual test in there – it’s the easiest way to make sure the automated thing actually matters.