ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ OpenSSF (Open Source Security Foundation), ΡΠΎΠ·Π΄Π°Π½Π½Π°Ρ ΠΏΠΎΠ΄ ΠΏΠΎΠΊΡΠΎΠ²ΠΈΡΠ΅Π»ΡΡΡΠ²ΠΎΠΌ Linux Foundation Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΠ, ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅Π΄ΠΈΠ»Π° ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ ΠΎ Π²ΡΡΠ²Π»Π΅Π½ΠΈΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ Ρ ΠΏΠΎΠΏΡΡΠΊΠ°ΠΌΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌΠΈ ΠΎΡΠΊΡΡΡΡΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ, Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡΠ΅ΠΉ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡ ΡΡΠΈΠ»Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠΎΠ² Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΠΊ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Π±ΡΠΊΠ΄ΠΎΡΠ° Π² ΠΏΡΠΎΠ΅ΠΊΡ xz. ΠΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Π°ΡΠ°ΠΊΠΎΠΉ Π½Π° xz ΡΠΎΠΌΠ½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π»ΠΈΡΠ½ΠΎΡΡΠΈ, ΡΠ°Π½Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΠΎ Π½Π΅ Π²ΠΎΠ²Π»Π΅ΡΡΠ½Π½ΡΠ΅ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ, ΠΏΡΡΠ°Π»ΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΠΆΠΈΠ½ΠΈΡΠΈΠ½Π³Π° Π΄Π»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΈΡ ΡΠ΅Π»Π΅ΠΉ.
ΠΡΠ°ΠΊΡΡΡΠΈΠ΅ Π²ΡΡΡΠΏΠΈΠ»ΠΈ Π² ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠΊΡ Ρ ΡΠ»Π΅Π½Π°ΠΌΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ ΡΠΎΠ²Π΅ΡΠ° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ OpenJS Foundation, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΡΡΡΠΏΠ°Π΅Ρ Π½Π΅ΠΉΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ»ΠΎΡΠ°Π΄ΠΊΠΎΠΉ Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΊΡΡΡΡΡ JavaScript-ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Node.js, jQuery, Appium, Dojo, PEP, Mocha ΠΈ webpack. Π ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠΊΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π»ΠΎ ΡΡΠ°ΡΡΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Ρ ΡΠΎΠΌΠ½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΠ, ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΡΡ ΠΏΠΎΠΏΡΡΠΊΠΈ ΡΠ±Π΅Π΄ΠΈΡΡ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π² Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ JavaScript-ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΠΊΡΡΠΈΡΡΠ΅ΠΌΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ OpenJS.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΡΠΈΠ½Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΊΠ°Π·ΡΠ²Π°Π»ΠΎΡΡ Π½Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ «Π·Π°ΡΠΈΡΡ ΠΎΡ Π»ΡΠ±ΡΡ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ». ΠΡΠΈ ΡΡΠΎΠΌ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠ΅ΠΉ ΠΎ ΡΡΡΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ Π½Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΎΡΡ. ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ΠΎΠ·ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ» Π²ΠΊΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ Π² ΡΠΈΡΠ»ΠΎ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ, Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΠ½ ΡΠ°Π½Π΅Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π» Π»ΠΈΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΡΠ°ΡΡΠΈΠ΅. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΠΎΡ ΠΎΠΆΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ·ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π½Π°Π²ΡΠ·ΡΠ²Π°Π½ΠΈΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° Π²ΡΡΠ²Π»Π΅Π½Ρ Π΅ΡΡ Π² Π΄Π²ΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ JavaScript-ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ , Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ OpenJS. ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ ΡΠ»ΡΡΠ°ΠΈ Π½Π΅ Π΅Π΄ΠΈΠ½ΠΈΡΠ½Ρ ΠΈ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΠΈΠΌ ΠΎΡΠΊΡΡΡΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π½Π΅ ΡΠ΅ΡΡΡΡ Π±Π΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΈ ΠΏΡΠΈΡΠΌΠ΅ ΠΊΠΎΠ΄Π° ΠΈ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².
Π‘ΡΠ΅Π΄ΠΈ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΡΠ²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΎ Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ, ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΡΡΡ Π΄ΠΎΠ±ΡΠΎΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅, Π½ΠΎ Π² ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ Π°Π³ΡΠ΅ΡΡΠΈΠ²Π½ΠΎΠ΅ ΠΈ Π½Π°ΡΡΠΎΠΉΡΠΈΠ²ΠΎΠ΅, ΠΏΡΠΈΡΡΠ°Π²Π°Π½ΠΈΠ΅ ΠΌΠ°Π»ΠΎΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ² ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° ΠΊ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΠΈΠΌ ΠΈΠ»ΠΈ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Ρ ΠΈΠ΄Π΅Π΅ΠΉ ΠΏΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΠ°ΡΡΡΠ° ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΠ΅Π³ΠΎ. ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠ°ΡΡ Π½Π° ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ Π³ΡΡΠΏΠΏΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π²ΠΎΠΊΡΡΠ³ ΠΏΡΠΎΠ΄Π²ΠΈΠ³Π°Π΅ΠΌΡΡ ΠΈΠ΄Π΅ΠΉ, ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΈΠ· Π²ΡΠΌΡΡΠ»Π΅Π½Π½ΡΡ Π»ΠΈΡΠ½ΠΎΡΡΠ΅ΠΉ, ΡΠ°Π½Π΅Π΅ Π½Π΅ ΡΡΠ°ΡΡΠ²ΠΎΠ²Π°Π²ΡΠΈΡ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈΠ»ΠΈ Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΠ²ΡΠΈΡ ΡΡ Π² ΠΊ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Ρ.
ΠΡΠΈ ΠΏΡΠΈΡΠΌΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΈ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΡ
Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΏΠΎΠΏΡΡΠΊΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² Π·Π°ΠΏΡΠΎΡΡ Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΡΡ
Π΄Π°Π½Π½ΡΡ
(Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² xz Π±ΡΠΊΠ΄ΠΎΡ Π±ΡΠ» ΠΏΠ΅ΡΠ΅Π΄Π°Π½ Π² Π°ΡΡ
ΠΈΠ²Π°Ρ
Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠΈΠΊΠ°) ΠΈΠ»ΠΈ Π·Π°ΠΏΡΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΡΡΡΠ΄Π½ΠΎΠ³ΠΎ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π°. Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠ°ΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠ±Π½ΡΠ΅ ΠΏΠΎΠΏΡΡΠΊΠΈ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ½ΠΈΠΆΠ°ΡΡΠΈΡ
Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ, ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ ΡΠ΅Π°ΠΊΡΠΈΠΈ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π°Π»ΠΈΡΠΈΡ Π»ΠΈΡ, ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡΠΈΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² xz ΡΡΠ½ΠΊΡΠΈΡ Safe_fprintf Π±ΡΠ»Π° Π·Π°ΠΌΠ΅Π½Π° Π½Π° fprintf). ΠΠΎΠ΄ΠΎΠ·ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ Π½Π΅ΡΠΈΠΏΠΈΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΡΠ±ΠΎΡΠΊΠΈ ΠΈ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ
Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΎΠ² ΠΈ Π½Π°Π³Π½Π΅ΡΠ°Π½ΠΈΠ΅ ΠΎΡΡΡΠ΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru