Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ Π΄Π²ΡƒΡ…Ρ„Π°ΠΊΡ‚ΠΎΡ€Π½ΠΎΠΉ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² PyPI ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ ΠΊ ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚Ρƒ с ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ популярного ΠΏΠ°ΠΊΠ΅Ρ‚Π°

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ рСпозитория Python-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² PyPI ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»ΠΈ ΠΏΠ»Π°Π½ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π΄Π²ΡƒΡ…Ρ„Π°ΠΊΡ‚ΠΎΡ€Π½ΡƒΡŽ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ для ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², входящих Π² ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡŽ критичСски Π²Π°ΠΆΠ½Ρ‹Ρ…. Π’Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ опрСдСляСтся ΠΏΠΎ числу Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΎ ΠΊ ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹ΠΌ записям ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΡ… ΠΈ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π΅Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², связанных с 1% ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Π»ΠΈΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠΎ числу Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ Π·Π° 6 мСсяцСв. Π‘ ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² настоящСС врСмя Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ PyPI Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ 350 тысяч ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², двухфакторная аутСнтификация Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ для 3500 ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠ΅ ΡƒΡ‡Ρ‘Ρ‚Π½ΠΎΠΉ записи Π² список ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ страница. Вочная Π΄Π°Ρ‚Π° Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π΄Π²ΡƒΡ…Ρ„Π°ΠΊΡ‚ΠΎΡ€Π½ΠΎΠΉ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°, прСдполагаСтся, Ρ‡Ρ‚ΠΎ это ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚ Π² блиТайшиС мСсяцы.

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° Π΄Π²ΡƒΡ…Ρ„Π°ΠΊΡ‚ΠΎΡ€Π½ΡƒΡŽ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² RubyGems, NPM ΠΈ GitHub, Π² PyPI Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π²Π½Π΅Π΄Ρ€Π΅Π½Π° схСма, ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‰Π°Ρ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ использованиС Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π° с ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ доступа. Π’ качСствС ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ использования Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° WebAuthn упоминаСтся Π±ΠΎΠ»Π΅Π΅ высокая Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ ΠΎΠ΄Π½ΠΎΡ€Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования TOTP вмСсто Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ доступна Π² Ρ„ΠΎΡ€ΠΌΠ΅ ΠΎΠΏΡ†ΠΈΠΈ).

Π’ΠΎΠΊΠ΅Π½Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ бСсплатно — компания Google выступила спонсором ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ²Ρ‹ ΠΈ Π²Ρ‹Π΄Π΅Π»ΠΈΠ»Π° для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° 4000 ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Titan. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄Π°Ρ‚ΡŒ заявку Π½Π° бСсплатноС ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² с интСрфСйсом USB-C ΠΈΠ»ΠΈ USB-A. Π’Ρ‚ΠΎΡ€ΠΎΠΉ Ρ‚ΠΎΠΊΠ΅Π½ отправляСтся Π² качСствС Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ Π½Π° случай ΠΏΠΎΠ»ΠΎΠΌΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΡ‚Π΅Ρ€ΠΈ основного, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ риск ΠΏΠΎΡ‚Π΅Ρ€ΠΈ доступа ΠΊ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ ΠΈ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΎΡ‚ нСобходимости прохоТдСния Ρ‡Π΅Ρ€Π΅Π· ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ восстановлСния доступа.

К соТалСнию, Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΠ²ΡΡ‚Ρ€ΠΈΡŽ, Π‘Π΅Π»ΡŒΠ³ΠΈΡŽ, ΠšΠ°Π½Π°Π΄Ρƒ, Π€Ρ€Π°Π½Ρ†ΠΈΡŽ, Π“Π΅Ρ€ΠΌΠ°Π½ΠΈΡŽ, Π˜Ρ‚Π°Π»ΠΈΡŽ, Японию, Испанию, Π¨Π²Π΅ΠΉΡ†Π°Ρ€ΠΈΡŽ, Π’Π΅Π»ΠΈΠΊΠΎΠ±Ρ€ΠΈΡ‚Π°Π½ΠΈΡŽ ΠΈ БША. Π‘ΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠ΅ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… стран ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ приобрСсти совмСстимыС со спСцификациСй FIDO U2F Ρ‚ΠΎΠΊΠ΅Π½Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, подходят Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ Yubikey ΠΈ Thetis. Π’ качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ прСдусмотрСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ примСнСния вмСсто Ρ‚ΠΎΠΊΠ΅Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π° Π±Π°Π·Π΅ ΠΎΠ΄Π½ΠΎΡ€Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» TOTP, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Authy, Google Authenticator ΠΈ FreeOTP.

Π˜Π½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ²Π° Π½Π΅ обошлась Π±Π΅Π· ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚Π°. Автор ΠΏΠ°ΠΊΠ΅Ρ‚Π° Atomicwrites, Π½Π°ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ 6 ΠΌΠ»Π½ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ Π² мСсяц ΠΈ 38 ΠΌΠ»Π½ Π·Π° 6 мСсяцСв, Π½Π΅ ΠΏΠΎΠΆΠ΅Π»Π°Π» ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° Π΄Π²ΡƒΡ…Ρ„Π°ΠΊΡ‚ΠΎΡ€Π½ΡƒΡŽ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΈ для ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ своСго ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈΠ· списка критичСски Π²Π°ΠΆΠ½Ρ‹Ρ… попытался ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ счётчик Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ. Для сброса ΠΎΠ½ Π²Π½Π°Ρ‡Π°Π»Π΅ ΡƒΠ΄Π°Π»ΠΈΠ» ΠΏΠ°ΠΊΠ΅Ρ‚, Π° ΠΏΠΎΡ‚ΠΎΠΌ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ» Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ. ОТидалось, Ρ‡Ρ‚ΠΎ подобная манипуляция лишь сбросит счётчик, Π½ΠΎ ΠΊ ΡƒΠ΄ΠΈΠ²Π»Π΅Π½ΠΈΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΈΠ· рСпозитория Π±Ρ‹Π»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ ΠΈ всС старыС вСрсии, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ Ρƒ зависимых ΠΎΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ сравнили с ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚ΠΎΠΌ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ удалСния ΠΏΠ°ΠΊΠ΅Ρ‚Π° left-pad Π² NPM.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΡƒΡΡƒΠ³ΡƒΠ±ΠΈΠ»Π°ΡΡŒ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ послС удалСния Π°Π²Ρ‚ΠΎΡ€ atomicwrites Π½Π΅ смог Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ старыС вСрсии, Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ лишь Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ дСнь послС Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° администраторов PyPI. ПослС ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π΄ΡˆΠ΅Π³ΠΎ Π°Π²Ρ‚ΠΎΡ€ ΠΏΠ°ΠΊΠ΅Ρ‚Π° принял Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ atomicwrites ΠΈ пСрСвСсти ΠΏΠ°ΠΊΠ΅Ρ‚ разряд ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ…. Π’ качСствС ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ упоминаСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΊΠ°ΠΊ Ρ…ΠΎΠ±Π±ΠΈ Π² свободноС врСмя ΠΈ появлСниС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ, ΡƒΡΠ»ΠΎΠΆΠ½ΡΡŽΡ‰ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρƒ, Π½Π΅ стоят Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π·Π°Ρ‚Ρ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Π½Π° бСсплатноС сопровоТдСниС ΠΏΠ°ΠΊΠ΅Ρ‚Π° с Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒΡŽ. Автор atomicwrites ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π±Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‘Π» просто ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ для развлСчСния, Π° Π·Π°Π±ΠΎΡ‚Ρ‹ ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π·Π°Ρ‰ΠΈΡ‚Π΅ ΠΎΡ‚ Π·Π°Ρ…Π²Π°Ρ‚Π° Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·Π²Π°Π»ΠΈΡ‚ΡŒ Π½Π° сСбя ΠΊΠΎΠ³Π΄Π° Π·Π° это платят.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° atomicwrites содСрТит ΠΎΠΊΠΎΠ»ΠΎ 200 строк ΠΊΠΎΠ΄Π° ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎΠΉ записи Ρ„Π°ΠΉΠ»ΠΎΠ². Π’ качСствС Π·Π°ΠΌΠ΅Π½Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡˆΡ‚Π°Ρ‚Π½Ρ‹Π΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ os.replace ΠΈ os.rename (опСрация сводится ΠΊ записи Π² Ρ„Π°ΠΉΠ» с Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡŽ Π² Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Ρ„Π°ΠΉΠ» послС готовности).

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