ΠΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° GitGuardian ΠΎΡΠΊΡΠΈΡ Π° ΠΌΠ°ΡΠΈΡΠ°Π½Π° Π°ΡΠ°ΠΊΠ° ΡΡΠ΅ΡΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ Π½Π° GitHub, ΠΏΡΠΈ ΠΊΠΎΡΡΠΎ Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π°Π΄ 327 Π°ΠΊΠ°ΡΠ½ΡΠ° ΠΈ Π΅ ΠΈΠ·Π²ΡΡΡΠ΅Π½Π° ΠΏΠΎΠ΄ΠΌΡΠ½Π° Π½Π° Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π° Github Action Π² 817 ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΡΠ°ΠΊΠ°ΡΠ° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ Π½Π° 3325 ΡΠ΅ΠΊΡΠ΅ΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΠΈ ΠΏΡΠ΅Π΄Π°Π²Π°Π½ΠΈ ΡΡΠ΅Π· ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ°, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠΎΠΊΠ΅Π½ΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ PyPI, GitHub, NPM, DockerHub ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΎΠ±Π»Π°ΡΠ½ΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°.

GitHub Actions ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π΄Π° ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ²Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² GitHub. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° GitHub Actions ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅ ΠΏΡΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΈΡΠΈ ΠΈΠ»ΠΈ Π΄Π° ΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π½ΠΎΠ²ΠΈ Issues. ΠΠ»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π°Π½ ΠΏΠΎΠ΄ ΠΈΠΌΠ΅ΡΠΎ βGithub Actions Securityβ ΠΈ Π΅ Π²ΠΊΠ»ΡΡΠ²Π°Π» Π² ΡΠ΅ΠΊΡΠΈΡ βrunβ ΠΊΠΎΠΌΠ°Π½Π΄Π° βcurlβ, ΠΊΠΎΡΡΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° Π½Π° Π²ΡΠ½ΡΠ΅Π½ Ρ ΠΎΡΡ ΠΏΡΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°Π΄Π°ΡΠΈ Π² ΡΡΠ΅Π΄Π°ΡΠ° Π½Π° Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ. ΠΠ»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡΡ ΠΊΠΎΠΌΠΈΡ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΎΡ Π°ΠΊΠ°ΡΠ½ΡΠΈ Π½Π° ΠΌΠ΅ΠΉΠ½ΡΠ΅ΠΉΠ½ΡΡΠΈ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΡΠ° Π±ΠΈΠ»ΠΈ Ρ Π°ΠΊΠ½Π°ΡΠΈ ΠΈΠ»ΠΈ ΡΡΠ°Π½Π°Π»ΠΈ ΠΆΠ΅ΡΡΠ²Π° Π½Π° ΡΠΈΡΠΈΠ½Π³.
ΠΡΠ°ΠΊΠ°ΡΠ° Π΅ ΠΎΡΠΊΡΠΈΡΠ° ΡΠ»Π΅Π΄ Π°Π½Π°Π»ΠΈΠ· Π½Π° Π°Π½ΠΎΠΌΠ°Π»Π½Π°ΡΠ° Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡ, ΡΠ²ΡΡΠ·Π°Π½Π° Ρ ΠΏΠ°ΠΊΠ΅ΡΠ° FastUUID, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Python ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° Π½Π°Π΄ Rust Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° UUID. ΠΠ°ΠΊΠ΅ΡΡΡ FastUUID, Π·Π° ΠΊΠΎΠΉΡΠΎ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π°ΡΠ° ΡΠ΅Π΄ΠΌΠΈΡΠ° ΡΠ° ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½ΠΈ ΠΏΠΎΡΡΠΈ 1.2 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΡΠ²Π°Π»ΡΠ½ΠΈΡ, ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΡΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ Π² ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ LiteLLM, ΠΊΠΎΠΉΡΠΎ ΠΈΠΌΠ° Π½Π°Π΄ 5 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΡΠ²Π°Π»ΡΠ½ΠΈΡ ΡΠ΅Π΄ΠΌΠΈΡΠ½ΠΎ Π² PyPI. ΠΠ½Π°Π»ΠΈΠ·ΡΡ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ FastUUID ΠΏΠΎΠΊΠ°Π·Π°, ΡΠ΅ Π½Π° 2 ΡΠ΅ΠΏΡΠ΅ΠΌΠ²ΡΠΈ ΠΌΠ΅ΠΉΠ½ΡΠ΅ΠΉΠ½ΡΡΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΊΠΎΠΌΠΈΡ Ρ Π½ΠΎΠ² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π° Github Action, Π² ΠΊΠΎΠΉΡΠΎ Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ ΠΊΠΎΠ΄ Π·Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΡΠΎΠΊΠ΅Π½Π° Π½Π° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ PyPI ΠΊΡΠΌ Π²ΡΠ½ΡΠ΅Π½ Ρ ΠΎΡΡ. β name: Github Actions Security run: | curl -s -X POST -d 'PYPI_API_TOKEN=${{ secrets.PYPI_API_TOKEN }}' https://bold-dhawan.45-139-104-115.plesk.page
ΠΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠ° Π±Π΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½Π° ΠΏΡΠ΅Π΄ΠΈ Π·Π»ΠΎΡΠΌΠΈΡlenicite Π΄Π° ΡΠ΅ Π²ΡΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΎΡ ΠΏΠ΅ΡΠ΅Ρ
Π²Π°Π½Π°ΡΠΈΡ ΡΠΎΠΊΠ΅Π½ β Π½Π΅ ΡΠ° ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Π½Π° Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ° Π² PyPI Π·Π° FastUUID. ΠΠΎΠ΄ΠΎΠ±Π½ΠΈ Π·Π°ΠΌΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π½Π° Github Action Π±ΡΡ
Π° ΠΎΡΠΊΡΠΈΡΠΈ Π² 816 ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠΈΡΠΎ, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΡΡΠ° Π½Π° PyPI, GitHub, NPM ΠΈ DockerHub, Π±ΡΡ
Π° ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ. ΠΡΠΌ ΠΊΡΠ°Ρ Π½Π° Π²ΡΠ΅ΡΠ°ΡΠ½ΠΈΡ Π΄Π΅Π½, Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠΈΡΠΈ Π±ΡΡ
Π° ΠΎΡΠΌΠ΅Π½Π΅Π½ΠΈ Π² ΠΎΠΊΠΎΠ»ΠΎ 100 ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΡΠΈ ΡΡΡΡΠ΅Π½Π΅ Π² GitHub ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ 671 ΠΊΠΎΠΌΠΈΡΠ° Ρ Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ Github Action.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
