GitHub ΠΎΠ±ΡΠ²ΠΈ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ΡΠΎ Π½Π° Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΡΠ°ΠΌΠΎΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π² ΡΡΠ»ΡΠ³Π°ΡΠ° Code scanning Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΠΎΠ±ΠΈΡΠ°ΠΉΠ½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π² ΠΊΠΎΠ΄Π°. Π Π΅ΡΠ°ΠΏΠ° Π½Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½ΠΎΠ²Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π΅ Π΄ΠΎΡΡΡΠΏΠ½Π° ΡΠ°ΠΌΠΎ Π·Π° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Ρ ΠΊΠΎΠ΄ Π½Π° JavaScript ΠΈ TypeScript. ΠΡΠ±Π΅Π»ΡΠ·Π²Π° ΡΠ΅, ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΡΠ°ΠΌΠΎΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π΅ ΡΠ°Π·ΡΠΈΡΠΈΠ»ΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΎΠ±Ρ Π²Π°ΡΠ° Π½Π° ΠΎΡΠΊΡΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΏΡΠΈ Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠΈΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π²Π΅ΡΠ΅ Π½Π΅ Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° Π΄ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΈ ΠΈ Π½Π΅ Π΅ ΡΠ²ΡΡΠ·Π°Π½Π° Ρ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ ΡΡΠ΅ΠΉΠΌΡΡΡΡΠΈ. ΠΡ Π½ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ΅ ΡΠΏΠΎΠΌΠ΅Π½Π°Π²Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π³ΡΠ΅ΡΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ Π²ΠΎΠ΄ΡΡ Π΄ΠΎ ΠΌΠ΅ΠΆΠ΄ΡΡΠ°ΠΉΡΠΎΠ²ΠΎ ΡΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ (XSS), ΠΈ ΠΈΠ·ΠΊΡΠΈΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΠΏΡΡΠΈΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ΅Π· ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° β/..β), ΠΏΠΎΠ΄ΠΌΡΠ½Π° Π½Π° SQL ΠΈ NoSQL Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ.
Π£ΡΠ»ΡΠ³Π°ΡΠ° Code scanning ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π² ΡΠ°Π½Π½ΠΈΡ Π΅ΡΠ°ΠΏ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΠ΅Π· ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΡΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ βgit pushβ Π·Π° ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ. Π Π΅Π·ΡΠ»ΡΠ°ΡΡΡ ΡΠ΅ ΠΏΡΠΈΠΊΡΠ΅ΠΏΡ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΊΡΠΌ pull-Π·Π°ΡΠ²ΠΊΠ°ΡΠ°. ΠΡΠ΅Π΄ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π΄Π²ΠΈΠΆΠΊΠ° CodeQL, ΠΊΠΎΠΉΡΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ° ΡΠ°Π±Π»ΠΎΠ½ΠΈ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ΅Π½ ΡΡΠ·Π²ΠΈΠΌ ΠΊΠΎΠ΄ (CodeQL ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΠΎΡΠΌΡΠ»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π±Π»ΠΎΠ½ Π·Π° ΡΡΠ·Π²ΠΈΠΌ ΠΊΠΎΠ΄, Π·Π° Π΄Π° ΠΎΡΠΊΡΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ Π² ΠΊΠΎΠ΄Π° Π½Π° Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ). ΠΠΎΠ²ΠΈΡΡ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π», ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΡΠ°ΠΌΠΎΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π½Π΅ Π΅ ΡΠ²ΡΡΠ·Π°Π½ Ρ ΠΏΡΠΎΠ±Π° Π½Π° ΡΠ°Π±Π»ΠΎΠ½ΠΈ, ΠΎΠΏΠΈΡΠ²Π°ΡΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ. Π¦Π΅Π½Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ Π±ΡΠΎΠΉ ΡΠ°Π»ΡΠΈΠ²ΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΠ²ΠΈ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈΡΠ΅, ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈ Π½Π° CodeQL.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
