ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Sonatype, ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΠ°ΡΡΡ Π½Π° Π·Π°ΡΠΈΡΠ΅ ΠΎΡ Π°ΡΠ°ΠΊ, ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΡΡΡΠΈΡ ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ (supply chain), ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ (PDF, 62 ΡΡΡ.) ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ ΠΈ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ ΠΎΡΠΊΡΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π° ΡΠ·ΡΠΊΠ°Ρ Java, JavaScript, Python ΠΈ .NET, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ Maven Central, NPM, PyPl ΠΈ Nuget. ΠΠ° Π³ΠΎΠ΄ ΠΎΡΠΌΠ΅ΡΠ΅Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π² ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΠΎΡΠΊΡΡΡΡΡ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ°Ρ Π² ΡΡΠ΅Π΄Π½Π΅ΠΌ Π½Π° 29%. Π§ΠΈΡΠ»ΠΎ Π·Π°Π³ΡΡΠ·ΠΎΠΊ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΈΠ· ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² Π² 2023 Π³ΠΎΠ΄Ρ Π²ΡΡΠΎΡΠ»ΠΎ Π½Π° 33%, Π½ΠΎ Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π² 2021 Π³ΠΎΠ΄Ρ ΡΠΈΡΠ»ΠΎ Π·Π°Π³ΡΡΠ·ΠΎΠΊ ΡΠ²Π΅Π»ΠΈΡΠΈΠ»ΠΎΡΡ Π½Π° 73%.
Π‘ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π²ΡΡΠΎΡΠ»Π° Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½Π°Ρ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ — Ρ Π½Π°ΡΠ°Π»Π° Π³ΠΎΠ΄Π° Π²ΡΡΠ²Π»Π΅Π½ΠΎ 245 ΡΡΡΡΡ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΈ Π² Π΄Π²Π° ΡΠ°Π·Π° ΡΠ²Π΅Π»ΠΈΡΠΈΠ»ΠΎΡΡ ΡΠΈΡΠ»ΠΎ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π°ΡΠ°ΠΊ, Π½Π°ΡΠ΅Π»Π΅Π½Π½ΡΡ Π½Π° ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ.
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ·Π²ΠΈΠΌΡΠ΅ Π²Π΅ΡΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 23% Π·Π°Π³ΡΡΠ·ΠΎΠΊ Java-ΠΏΠ°ΠΊΠ΅ΡΠ° Log4j Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ Π²Π΅ΡΡΠΈΠΈ Ρ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠΌΠΈ, ΡΡΡΡΠ°Π½ΡΠ½Π½ΡΠΌΠΈ Π² 2021 Π³ΠΎΠ΄Ρ. Π ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Maven Central ΠΎΠΊΠΎΠ»ΠΎ 12% Π²ΡΠ΅Ρ Π·Π°Π³ΡΡΠ·ΠΎΠΊ ΠΏΡΠΈΡ ΠΎΠ΄ΡΡΡΡ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ. Π ΡΡΠ΅Π΄Π½Π΅ΠΌ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² Π΄ΠΎΠ»Ρ Π·Π°Π³ΡΡΠ·ΠΎΠΊ ΡΡΠ°ΡΡΡ Π²Π΅ΡΡΠΈΠΉ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΎΡΠ½ΠΎΡΡΡΠΈΡ ΡΡ ΠΊ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΠΌ ΡΠΈΡΠΊΠΎΠ²Π°Π½Π½ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ Π½Π΅ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΌΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠΌΠΈ) ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 20% (Π² 80% ΡΠ»ΡΡΠ°Π΅Π² Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ Π°ΠΊΡΡΠ°Π»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ). Π 96% ΡΠ»ΡΡΠ°Π΅Π² Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ, Π²ΡΠ±ΡΠ°Π² Π²Π΅ΡΡΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠΆΠ΅ ΡΡΡΡΠ°Π½Π΅Π½Π°.
ΠΠ½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π½ΠΈΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². Π ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ°Ρ Π΄Π»Ρ ΡΠ·ΡΠΊΠΎΠ² Java ΠΈ JavaScript Ρ ΡΡΠΈΠΌ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ — Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π³ΠΎΠ΄ Π±ΡΠ»ΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½ΠΎ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° (18.6%), ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π² Maven Central ΠΈ NPM, ΠΈ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ Π³ΠΎΠ΄Ρ. ΠΠ· 1.176 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π° ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡΠΈΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ Maven, NPM, PyPl ΠΈ Nuget, ΡΠΎΠ»ΡΠΊΠΎ 11% (118 ΡΡΡΡΡ) ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΡΡ.
Π Ρ
ΠΎΠ΄Π΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ» ΠΏΡΠΎΠ²Π΅Π΄ΡΠ½ ΠΎΠΏΡΠΎΡ 621 ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΈΠ· ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ. 67% ΠΎΠΏΡΠΎΡΠ΅Π½Π½ΡΡ
ΠΏΠΎΠ»Π°Π³Π°ΡΡ, ΡΡΠΎ ΠΈΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΠ·Π²ΠΈΠΌΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, 10% Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 12 ΠΌΠ΅ΡΡΡΠ΅Π² ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡ Ρ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠ°ΠΌΠΈ Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΡ, Π²ΡΠ·Π²Π°Π½Π½ΡΠΌΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠΌΠΈ Π² ΠΎΡΠΊΡΡΡΠΎΠΌ ΠΠ, Π° 20% Π·Π°ΡΡΡΠ΄Π½ΡΡΡΡΡ ΠΎΡΠ²Π΅ΡΠΈΡΡ. 28% ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΡΠ·Π²ΠΈΠΌΡΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ 1 Π΄Π½Ρ ΠΏΠΎΡΠ»Π΅ ΡΠ°ΡΠΊΡΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ
ΠΎΠ± ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ, 39% — ΠΎΡ 1 Π΄ΠΎ 7 Π΄Π½Π΅ΠΉ, Π° 29% — Π±ΠΎΠ»Π΅Π΅ Π½Π΅Π΄Π΅Π»ΠΈ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru