46% ΠΎΡ‚ Python ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ Π² рСпозитория PyPI ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‚ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΎ нСбСзопасСн ΠΊΠΎΠ΄

Π“Ρ€ΡƒΠΏΠ° изслСдоватСли ΠΎΡ‚ УнивСрситСта Π² Π’ΡƒΡ€ΠΊΡƒ (Ѐинландия) ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Ρ…Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ PyPI с ΠΎΠ³Π»Π΅Π΄ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΎ опасни конструкции, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π°Ρ‚ Π΄ΠΎ уязвимости. ΠŸΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° 197 хиляди ΠΏΠ°ΠΊΠ΅Ρ‚Π° бяха установСни 749 хиляди ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ със сигурността. Π’ 46% ΠΎΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΡΡŠΡΡ‚Π²Π° ΠΏΠΎΠ½Π΅ Π΅Π΄ΠΈΠ½ Ρ‚Π°ΠΊΡŠΠ² ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Π‘Ρ€Π΅Π΄ Π½Π°ΠΉ-чСсто срСщанитС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ сС открояват Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ†ΠΈ, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° конструкции, допускащи подмяна Π½Π° ΠΊΠΎΠ΄.

ΠžΡ‚ установСнитС 749 хиляди ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° 442 хиляди (41%) са ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈ ΠΊΠ°Ρ‚ΠΎ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΈ, 227 хиляди (30%) ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с ΡƒΠΌΠ΅Ρ€Π΅Π½Π° опасност ΠΈ 80 хиляди (11%) ΠΊΠ°Ρ‚ΠΎ опасни. Някои ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ сС открояват с хиляди ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π° PyGGI са установСни 2589 ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Π³Π»Π°Π²Π½ΠΎ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° конструкцията β€žtry-except-passβ€œ, Π° Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π° appengine-sdk са Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈ 2356 ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. Голямо количСство ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΡΡŠΡ‰ΠΎ ΠΏΡ€ΠΈΡΡŠΡΡ‚Π²Π° Π² ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ genie.libs.ops, pbcore ΠΈ genie.libs.parser.

Π‘Π»Π΅Π΄Π²Π° Π΄Π° сС ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠΈ, Ρ‡Π΅ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ са ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½ статичСн Π°Π½Π°Π»ΠΈΠ·, ΠΊΠΎΠΉΡ‚ΠΎ Π½Π΅ Π²Π·Π΅ΠΌΠ° ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ контСкста Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ конструкции. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡŠΡ‚ Π½Π° инструмСнта bandit, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° сканиранС Π½Π° ΠΊΠΎΠ΄Π°, ΠΈΠ·Ρ€Π°Π·ΠΈ ΠΌΠ½Π΅Π½ΠΈΠ΅, Ρ‡Π΅ Π·Π°Ρ€Π°Π΄ΠΈ доста високия Π±Ρ€ΠΎΠΉ Π½Π° Π»ΠΎΠΆΠ½ΠΈΡ‚Π΅ сработвания, Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°Ρ‚Π° Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС считат Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π·Π° уязвимости Π±Π΅Π· ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° Ρ€ΡŠΡ‡Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° всСки ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

НапримСр, Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΡŠΡ‚ смята Π·Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с бСзопасността ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π½Π΅Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ Π½Π° случайни числа ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ Π·Π° Ρ…Π΅ΡˆΠΈΡ€Π°Π½Π΅, ΠΊΠ°Ρ‚ΠΎ MD5, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Π² ΠΊΠΎΠ΄Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π·Π° Ρ†Π΅Π»ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ влияят Π½Π° бСзопасността. ΠΠ½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΡŠΡ‚ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° счита Π·Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ всяка ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° външни Π΄Π°Π½Π½ΠΈ Π² нСсигурни Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠ°Ρ‚ΠΎ pickle, yaml.load, subprocess ΠΈ eval, Π½ΠΎ Ρ‚Π°ΠΊΠΎΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π΅ Π²ΠΈΠ½Π°Π³ΠΈ Π΅ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΎ с появата Π½Π° уязвимост ΠΈ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° спомСнатитС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΎ Π±Π΅Π· Π·Π°ΠΏΠ»Π°Ρ…Π° Π·Π° бСзопасността.

Π‘Ρ€Π΅Π΄ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈΡ‚Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² изслСдванСто:

  • ИзползванС Π½Π° ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΎ нСбСзопасни Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ exec, mktemp, eval, mark_safe ΠΈ Π΄Ρ€.
  • НСсигурно Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΡ€Π°Π²Π° Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅.
  • Π‘Π²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ² сокСт към всички ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ интСрфСйси.
  • ИзползванС Π½Π° Ρ‚Π²ΡŠΡ€Π΄ΠΎ Π·Π°Π΄Π°Π΄Π΅Π½ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ ΠΈ ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅ Π² ΠΊΠΎΠ΄Π°.
  • ИзползванС Π½Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ Π·Π°Π΄Π°Π΄Π΅Π½ Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³.
  • ИзползванС Π½Π° pass ΠΈ continue Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ catch-all-style;
  • Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° ΡƒΠ΅Π± прилоТСния Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° ΡƒΠ΅Π± Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Flask с Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ Ρ€Π΅ΠΆΠΈΠΌ Π½Π° отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ.
  • ИзползванС Π½Π° нСбСзопасни ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° дСсСриализация Π½Π° Π΄Π°Π½Π½ΠΈ.
  • ИзползванС Π½Π° Ρ…Π΅Ρˆ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ MD2, MD4, MD5 ΠΈ SHA1.
  • ИзползванС Π½Π° нСбСзопасни ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Ρ‰ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ DES ΠΈ Ρ€Π΅ΠΆΠΈΠΌΠΈ Π½Π° ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅.
  • ИзползванС Π½Π° нСбСзопасна рСализация Π½Π° HTTPSConnection Π² някои вСрсии Π½Π° Python.
  • Π£ΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° схСмата file:// Π² urlopen.
  • ИзползванС Π½Π° Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ Π½Π° псСвдослучайни числа ΠΏΡ€ΠΈ изпълнСниС Π½Π° криптографски Π·Π°Π΄Π°Ρ‡ΠΈ.
  • ИзползванС Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Telnet.
  • ИзползванС Π½Π° нСбСзопасни XML парсСри.

Π”ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠΈ, Ρ‡Π΅ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° PyPI са ΠΎΡ‚ΠΊΡ€ΠΈΡ‚ΠΈ 8 Π·Π»ΠΎΠ½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π°. ΠŸΡ€Π΅Π΄ΠΈ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅Ρ‚ΠΎ ΠΈΠΌ, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΈΡ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ са Π±ΠΈΠ»ΠΈ изтСгляни Π½Π°Π΄ 30 хиляди ΠΏΡŠΡ‚ΠΈ. Π—Π° скриванС Π½Π° Π·Π»ΠΎΠ½Π°ΠΌΠ΅Ρ€Π΅Π½Π°Ρ‚Π° дСйност ΠΈ заобикалянС Π½Π° прСдупрСТдСнията Π½Π° проститС статични Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΈ Π² ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΎ ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅ с ΠΊΠΎΠ΄ Ρ‡Ρ€Π΅Π· Base64 ΠΈ организация Π½Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ слСд Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅ Ρ‡Ρ€Π΅Π· ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° eval.

Π’ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ noblesse, genesisbot, are, suffer, noblesse2 ΠΈ noblessev2 Π΅ ΠΎΡ‚ΠΊΡ€ΠΈΡ‚ ΠΊΠΎΠ΄ Π·Π° ΠΏΡ€ΠΈΡ…Π²Π°Ρ‰Π°Π½Π΅ Π½Π° Π½ΠΎΠΌΠ΅Ρ€Π° Π½Π° ΠΊΡ€Π΅Π΄ΠΈΡ‚Π½ΠΈ ΠΊΠ°Ρ€Ρ‚ΠΈ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ, Π·Π°ΠΏΠ°Π·Π΅Π½ΠΈ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΈΡ‚Π΅ Chrome ΠΈ Edge, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π·Π° ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Ρ‚ΠΎΠΊΠ΅Π½ΠΈ Π½Π° Π°ΠΊΠ°ΡƒΠ½Ρ‚ΠΈ ΠΎΡ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Discord ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π·Π° систСмата, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ΠΎΠ²Π΅ Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π΅ΠΊΡ€Π°Π½Π°. Π’ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ pytagora ΠΈ pytagora2 Π΅ ΠΈΠΌΠ°Π»ΠΎ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° изтСглянС ΠΈ изпълнСниС Π½Π° външСн изпълняСм ΠΊΠΎΠ΄.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster