ΠΠ°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ PyPI Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΡΡΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ LiteLLM, Π½Π°ΡΡΠΈΡΡΠ²Π°ΡΡΠ΅ΠΉ 23 ΠΌΠ»Π½ Π·Π°Π³ΡΡΠ·ΠΎΠΊ Π² Π½Π΅Π΄Π΅Π»Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ Docker-ΠΎΠ±ΡΠ°Π· ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΠΎ Π½Π΅ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΠΈΠ½ΡΠΈΠ΄Π΅Π½Ρ Ρ LiteLLM β Π² ΠΌΠ°ΡΡΠ΅ ΡΡΠΎΠ³ΠΎ Π³ΠΎΠ΄Π° Π°ΡΠ°ΠΊΡΡΡΠΈΠ΅ ΡΠΆΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»ΠΈ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠ΅ Π²ΡΠΏΡΡΠΊΠΈ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠ° ΡΡΡΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΠ΅Π³ΠΎ. ΠΠ° ΡΡΠΎΡ ΡΠ°Π· Π°ΡΠ°ΠΊΡΡΡΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΠ»ΠΈ Π²Π΅ΡΡΠΈΡ LiteLLM 1.107.0, Π² ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ» Π²ΡΡΡΠΎΠ΅Π½ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΈΡΠΊΠ° ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΡΡΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠ»ΡΡΠ΅ΠΉ ΠΈ ΡΠΎΠΊΠ΅Π½ΠΎΠ² Π΄ΠΎΡΡΡΠΏΠ°.
ΠΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π±ΡΠ» ΠΏΠΎΠ΄ΡΡΠ°Π²Π»Π΅Π½ Π½Π° ΡΡΠ°ΠΏΠ΅ ΡΠ±ΠΎΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π±Π΅Π· ΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠ°ΡΠΈΠΈ git-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π°ΠΊΡΠΈΠ²ΠΈΡΡΠ΅ΡΡΡ Π΄ΠΎ ΠΈΠΌΠΏΠΎΡΡΠ° LiteLLM ΡΠ΅ΡΠ΅Π· ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΡΠ°ΠΉΠ»ΠΎΠ² cook.pth, cook.py ΠΈ sitecustomize.py Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ Python. ΠΠ°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Python Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ.
ΠΠ½Π°ΡΠ°Π»Π΅ Python Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ°ΠΉΠ» cook.pth, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° ΡΡΡΠΎΠΊΠ° Β«import cookΒ» Π΄Π»Ρ ΠΈΠΌΠΏΠΎΡΡΠ° ΡΠΊΡΠΈΠΏΡΠ° cook.py, ΡΠΎΠ±ΠΈΡΠ°ΡΡΠ΅Π³ΠΎ ΡΡΡΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. ΠΠ°Π»Π΅Π΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΡΡΡ ΡΠΊΡΠΈΠΏΡ sitecustomize.py, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠΎΠ½ΠΎΠ²ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΊΠΎΠ΄Π° (ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Β«raw.githubusercontent.com/letters9813/pythonclient-test/main/domain.txtΒ»). ΠΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π² ΠΎΠ±ΠΎΠΈΡ ΡΠΊΡΠΈΠΏΡΠ°Ρ ΡΠΆΠ°Ρ ΡΠ΅ΡΠ΅Π· zlib ΠΈ Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Base64. ΠΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΡΠΆΠΈΡΡ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Β«/tmp/.pc_once_*Β» ΠΈ Β«/tmp/remote_code_loader.lockΒ».
ΠΠΎΡΠ»Π΅ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ ΡΠ°ΠΉΠ» cook.py Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΠΎΠ±Π»Π°ΡΠ½ΡΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ, ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ (AWS, Azure, Google Cloud, Kubernetes, Docker, GitHub CLI, Vault, Terraform, Packer), ΡΡΡΡΠ½ΡΡ
Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ Git, Π½Π°ΡΡΡΠΎΠ΅ΠΊ npm ΠΈ PyPI, ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, Π·Π°ΠΊΡΡΡΡΡ
ΠΊΠ»ΡΡΠ΅ΠΉ Π΄Π»Ρ SSH, PGP ΠΈ TLS, Π½Π°ΡΡΡΠΎΠ΅ΠΊ AI-ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π±ΡΠ°ΡΠ·Π΅ΡΠ½ΡΡ
ΠΠ c Cookie, Ρ
ΡΠ°Π½ΠΈΠΌΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°Ρ
ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ. ΠΠ±Π½Π°ΡΡΠΆΠ΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠΈΡΡΡΡΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² AES-256-CBC + RSA-4096 ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Π² ΡΠΎΡΠΌΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΎΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° Π½Π° ΡΠ°ΠΉΡ litellm.dev, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠ°ΠΌΠΈ.
Sumber: opennet.ru
