Π£Ρ‚Π΅Ρ‡ΠΊΠ° Ρ‚ΠΎΠΊΠ΅Π½Π° для ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ доступа ΠΊ GitHub-рСпозиториям ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Python

Π˜ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ JFrog ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ Π² составС Docker-ΠΎΠ±Ρ€Π°Π·Π° «cabotage-app» Ρ‚ΠΎΠΊΠ΅Π½, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ доступ с ΠΏΡ€Π°Π²Π°ΠΌΠΈ администратора ΠΊ рСпозиториям Python, PyPI ΠΈ Python Software Foundation Π½Π° GitHub. Π’ΠΎΠΊΠ΅Π½ Π±Ρ‹Π» Π½Π°ΠΉΠ΄Π΅Π½ Π² Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ «__pycache__/build.cpython-311.pyc» с ΠΏΡ€ΠΎΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ скомпилированным Π±Π°ΠΉΡ‚ΠΊΠΎΠ΄ΠΎΠΌ.

Π£Ρ‚Π΅Ρ‡ΠΊΠ° Ρ‚ΠΎΠΊΠ΅Π½Π° для ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ доступа ΠΊ GitHub-рСпозиториям ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Python

По ΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΡŽ прСдставитСлСй рСпозитория PyPI Ρ‚ΠΎΠΊΠ΅Π½ Π±Ρ‹Π» создан Π² 2023 Π³ΠΎΠ΄Ρƒ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ewdurbin (Ee Durbin), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π² ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Python Software Foundation пост Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€Π° ΠΏΠΎ инфраструктурС. Π’ΠΎΠΊΠ΅Π½ прСдоставлял доступ с ΠΏΡ€Π°Π²Π°ΠΌΠΈ администратора ΠΊΠΎ всСм рСпозиториям ΠΈ организациям ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ всС Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΉ pypi, python, psf ΠΈ pypa. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹ΠΉ Docker-ΠΎΠ±Ρ€Π°Π· с Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠΌ Π±Ρ‹Π» ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Docker Hub Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ ΠΌΠ°Ρ€Ρ‚Π° 2023 Π³ΠΎΠ΄Π°, Π° ΡƒΠ΄Π°Π»Ρ‘Π½ 11 июня 2024 Π³ΠΎΠ΄Π° Ρ‚.Π΅. 16 мСсяцСв находится Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ доступС. 28 июня Ρ‚ΠΎΠΊΠ΅Π½ Π±Ρ‹Π» ΠΎΡ‚ΠΎΠ·Π²Π°Π½.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Π² доступных исходных тСкстах, Π½Π° Π±Π°Π·Π΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±Ρ‹Π» сгСнСрирован ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» с Π±Π°ΠΉΡ‚ΠΊΠΎΠ΄ΠΎΠΌ, ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ Ρ‚ΠΎΠΊΠ΅Π½Π° отсутствуСт. Автор ΠΊΠΎΠ΄Π° пояснил, Ρ‡Ρ‚ΠΎ Π² процСссС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ инструмСнтария cabotage-app5 Π½Π° своСй локальной систСмС столкнулся с ограничСниями интСнсивности доступа ΠΊ API GitHub ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· GitHub, ΠΈ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ Π»ΠΈΠΌΠΈΡ‚Ρ‹, выставляСмыС для Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹Ρ… ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ GitHub, Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ» свой Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ Ρ‚ΠΎΠΊΠ΅Π½ Π² ΠΊΠΎΠ΄. ΠŸΠ΅Ρ€Π΅Π΄ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ написанного ΠΊΠΎΠ΄Π° Ρ‚ΠΎΠΊΠ΅Π½ Π±Ρ‹Π» ΡƒΠ΄Π°Π»Ρ‘Π½, Π½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π΅ ΡƒΡ‡Ρ‘Π», Ρ‡Ρ‚ΠΎ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ Ρ‚ΠΎΠΊΠ΅Π½Π° ΠΏΡ€ΠΎΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π»ΠΎΡΡŒ Π² ΠΏΡ€Π΅Π΄ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ с Π±Π°ΠΉΡ‚ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠΏΠ°Π» Π² docker-ΠΎΠ±Ρ€Π°Π·. def _fetch_github_file( — github_repository=»owner/repo», ref=»main», access_token=None, filename=»Dockerfile» + github_repository=»owner/repo», + ref=»main», + access_token=»0d6a9bb5af126f73350a2afc058492765446aaad», + filename=»Dockerfile», ):

ΠŸΡ€ΠΎΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ Python Π°ΡƒΠ΄ΠΈΡ‚ активности Π² рСпозиториях Π½Π° GitHub Π½Π΅ выявил сторонних ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ доступа с использованиСм раскрытого Ρ‚ΠΎΠΊΠ΅Π½Π°. Π‘ ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ с 2017 Π³ΠΎΠ΄Π° GitHub являСтся ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠΎΠΉ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ CPython, ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠ΅ Ρ‚ΠΎΠΊΠ΅Π½Π° Π² Ρ€ΡƒΠΊΠΈ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠ° ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹ привСсти ΠΊ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚Π°Ρ†ΠΈΠΈ инфраструктуры, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Python ΠΈ рСпозитория PyPI, ΠΈ возмоТности ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ бэкдоров Π² CPython ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ PyPI.

Π˜Π½Ρ†ΠΈΠ΄Π΅Π½Ρ‚ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Π½Π°Π»ΠΈΠ·Π° ΡƒΡ‚Π΅Ρ‡Π΅ΠΊ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² исходном ΠΊΠΎΠ΄Π΅, Ρ„Π°ΠΉΠ»Π°Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния, Π½ΠΎ ΠΈ Π² Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ…. Π’ контСкстС Python ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Ρ‚Π°ΠΊΠΆΠ΅ рСкомСндуСтся ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π² Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… pyc-Ρ„Π°ΠΉΠ»ΠΎΠ² со скомпилированным Π±Π°ΠΉΡ‚ΠΊΠΎΠ΄ΠΎΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΄Π°Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ скрытыС ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² исходном ΠΊΠΎΠ΄Π΅.

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