ΠΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ 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, Π½Π°ΡΡΠΈΡΡΠ²Π°ΡΡΠ΅ΠΌ Π² PyPI Π±ΠΎΠ»Π΅Π΅ 5 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² Π·Π°Π³ΡΡΠ·ΠΎΠΊ Π² Π½Π΅Π΄Π΅Π»Ρ. ΠΠ½Π°Π»ΠΈΠ· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ 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
ΠΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ΄Π°Π»ΠΎΡΡ Π²ΡΡΠ²ΠΈΡΡ Π΄ΠΎ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ ΠΏΠ΅ΡΠ΅Ρ
Π²Π°ΡΠ΅Π½Π½ΡΠΌ ΡΠΎΠΊΠ΅Π½ΠΎΠΌ β ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
Π²Π΅ΡΡΠΈΠΉ ΠΏΠ°ΠΊΠ΅ΡΠ° Π² PyPI Π΄Π»Ρ FastUUID Π½Π΅ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΎ. ΠΠΎΡ
ΠΎΠΆΠΈΠ΅ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Github Action Π²ΡΡΠ²Π»Π΅Π½Ρ Π΅ΡΡ Π² 816 ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ
, Π²Π»Π°Π΄Π΅Π»ΡΡΠ°ΠΌ ΠΊΠΎΡΠΎΡΡΡ
, Π° ΡΠ°ΠΊΠΆΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠΈ PyPI, GitHub, NPM ΠΈ DockerHub, Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Ρ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ. ΠΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π½Π° Π²ΡΠ΅ΡΠ°ΡΠ½ΠΈΠΉ Π²Π΅ΡΠ΅Ρ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π±ΡΠ»ΠΈ ΠΎΡΠΌΠ΅Π½Π΅Π½Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π² 100 ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ
. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅ Π² GitHub ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ 671 ΠΊΠΎΠΌΠΌΠΈΡ Ρ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠΌ Github Action.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
