Τριακόσια χιλιάδες περιβάλλοντα — αυτός είναι ο αριθμός που εκτιμούν experts ότι επηρεάστηκαν από την επίθεση του TeamPCP στο LiteLLM Python package. Με πάνω από 95 εκατομμύρια downloads τον τελευταίο μήνα και 3,4 εκατομμύρια ημερησίως, το LiteLLM αποτελεί βασικό κομμάτι της AI υποδομής εταιρειών όπως η Stripe, Netflix και Google ADK. Κι όμως, για λίγες ώρες στις 24 Μαρτίου 2026, αυτό το «αθώο» AI gateway κρύβει έναν πολύ σκοτεινό κίνδυνο.
Το πρόβλημα ξεκίνησε στις 10:39 UTC και διήρκεσε περίπου τρεις ώρες, πριν το PyPI καραντινίσει ολόκληρο το project. Οι κακόβουλες εκδόσεις 1.82.7 και 1.82.8 περιείχαν έναν εξελιγμένο credential stealer που δεν περιοριζόταν απλώς στη συλλογή passwords — έβγαζε τα αρχεία έξω από την εταιρεία.
📖 Διαβάστε ακόμα: EU Cyber Resilience Act: τι αλλάζει στις συσκευές μας
🔍 Η Χημεία της TeamPCP: Όταν οι Hackers Γίνονται Αλυσιδωτοί
Δεν είναι η πρώτη φορά που βλέπουμε το TeamPCP. Τον Μάρτιο εστόχευσαν το Trivy vulnerability scanner της Aqua Security, μετά το Checkmarx KICS project, και τώρα το LiteLLM. Αλλά τι κάνει αυτή την ομάδα διαφορετική;
Στοχεύουν security tools. Trivy σκανάρει vulnerabilities, το KICS αναλύει Infrastructure as Code, το LiteLLM διαχειρίζεται AI API keys. Όλα αυτά τα εργαλεία τρέχουν συνήθως με elevated permissions και έχουν πρόσβαση σε ευαίσθητα credentials.
Γιατί μετράει: Όταν compromise-άρεις ένα security tool, έχεις ήδη ένα «καθαρό» τρόπο να μπεις σε CI/CD pipelines και production environments. Το TeamPCP το έχει καταλάβει τέλεια.
Η αλυσιδωτή αντίδραση είναι εντυπωσιακή στην απλότητά της. Το compromised Trivy τρέχει στο LiteLLM pipeline, κλέβει το PyPI publishing token, και μετά οι attackers χρησιμοποιούν αυτό το token για να δημοσιεύσουν backdoored packages απευθείας στο PyPI. Bypass του GitHub εντελώς.
⚡ Το LiteLLM Στο Στόχαστρο: Γιατί Είναι Τέλειος Στόχος
Τι κάνει ακριβώς το LiteLLM; Είναι ένα API gateway που ενοποιεί πάνω από 100 LLM providers — OpenAI, Anthropic, Google, Azure, Claude — σε μία διεπαφή. Για τους developers, σημαίνει ότι μπορείς να αλλάξεις από GPT-4 σε Claude ή Gemini με μία γραμμή κώδικα.
Για τους hackers, σημαίνει ότι ένα compromise κερδίζει API keys από όλους τους LLM providers που χρησιμοποιεί μία εταιρεία. Δεν είναι απλώς infrastructure credentials — είναι credential density στο maximum.
Η Τεχνική Behind the Scenes
Οι δύο κακόβουλες εκδόσεις χρησιμοποιούσαν διαφορετικές προσεγγίσεις. Η 1.82.7 ένθετε το payload στο litellm/proxy/proxy_server.py. Κάθε φορά που κάποιος import-άρει το module, το stealer ενεργοποιείται.
Η 1.82.8 πάει ένα βήμα παραπέρα. Εγκαθιστά ένα αρχείο litellm_init.pth στο Python environment. Εδώ είναι το scary part: η Python επεξεργάζεται αυτόματα όλα τα .pth files όταν ξεκινάει ο interpreter.
Αυτό σημαίνει ότι δεν χρειάζεται καν να κάνεις import το LiteLLM. Κάθε φορά που τρέχει οποιοδήποτε Python script — pytest, Jupyter notebooks, cron jobs — το stealer ενεργοποιείται. Είναι σαν rootkit για τον Python interpreter.
📖 Διαβάστε ακόμα: Ιανουάριος 2026: Τα 4 μεγαλύτερα cyber χτυπήματα που
🎯 Τι Κλέβει: Η Λίστα του Τρόμου
Το payload δεν κάνει jokes. Κάνει systematic sweep του compromised host και μαζεύει τα πάντα:
- SSH keys: id_rsa, id_ed25519, authorized_keys, host keys
- Cloud credentials: AWS (~/.aws/*, IMDSv2 role credentials), GCP, Azure
- Kubernetes: service account tokens, cluster secrets, configs
- Databases: .pgpass, my.cnf, redis.conf, environment variables
- CI/CD secrets: .gitlab-ci.yml, Jenkinsfile, Terraform states
- Crypto wallets: Bitcoin, Ethereum, Solana, Monero, Litecoin
- Environment files: .env variations σε κάθε directory
- TLS keys: .pem, .key, .p12 files
Το εντυπωσιακό είναι ότι δεν περιορίζεται στο filesystem. Κάνει κι active API calls στο AWS Secrets Manager και SSM Parameter Store χρησιμοποιώντας EC2 Instance Metadata Service credentials. Δηλαδή τραβάει secrets που υπάρχουν μόνο σε managed cloud services.
Η Κρυπτογράφηση και το Exfiltration
Όλα τα δεδομένα κρυπτογραφούνται με AES-256-CBC και στέλνονται στο models.litellm[.]cloud — ένα domain που μοιάζει τόσο με το αληθινό litellm.ai που θα μπορούσε να περάσει απαρατήρητο σε network logs.
📖 Διαβάστε ακόμα: ChatGPT Hacking: Πόσο Εύκολο Είναι
🕸️ Kubernetes: Όταν η Επίθεση Γίνεται Lateral
Στα Kubernetes environments, το payload κάνει escalate. Αν βρει service account token, enumeration όλων των nodes και deployment ενός privileged pod σε κάθε έναν.
Κάθε pod:
- Τρέχει στο kube-system namespace
- Ζητάει
privileged: trueμε hostPID και hostNetwork - Mount-άρει ολόκληρο το host filesystem στο /host
- Tolerates όλα τα taints (ακόμα και control-plane nodes)
Μετά κάνει chroot στο host filesystem και εγκαθιστά persistence μέσω systemd user service. Το ~/.config/sysmon/sysmon.py μεταμφιέζεται ως "System Telemetry Service" και poll-άρει το checkmarx[.]zone κάθε 50 λεπτά για νέα payloads.
Translation: Το TeamPCP μπορεί να στείλει arbitrary κώδικα σε όλα τα compromised nodes οποιαδήποτε στιγμή. Forever.
🚨 Response και Containment: Τι Πρέπει να Κάνεις ΤΩΡΑ
Το PyPI αντέδρασε γρήγορα — καραντίνα ολόκληρου του project μέσα σε περίπου 3 ώρες. Αλλά για ένα package με 3,4 εκατομμύρια ημερήσια downloads, 3 ώρες είναι αρκετές για να φτάσει σε χιλιάδες environments.
Immediate Actions
Αν χρησιμοποιείς LiteLLM:
- Check version αμέσως:
pip show litellm - Uninstall 1.82.7/1.82.8 immediately
- Downgrade σε 1.82.6 (τελευταία καθαρή έκδοση)
- Block domains: models.litellm[.]cloud, checkmarx[.]zone
- Remove persistence artifacts:
- ~/.config/sysmon/
- pgmon.service
- node-setup-* pods στο kube-system
Credential Rotation: Ο Μεγάλος Πονοκέφαλος
Αυτό είναι το δύσκολο κομμάτι. Κάθε credential που είχε πρόσβαση το compromised host πρέπει να θεωρηθεί εκτεθειμένο. Αυτό σημαίνει:
- Όλα τα AWS/GCP/Azure API keys
- Database passwords
- SSH keys (και regeneration authorized_keys)
- Kubernetes service account tokens
- CI/CD secrets και πλήρη pipeline audit
- LLM API keys (OpenAI, Anthropic, κ.λπ.)
Το BleepingComputer αναφέρει ότι το credential rotation είναι «δύσκολο αλλά ο καλύτερος τρόπος για να αποτρέψεις cascading supply chain attacks». Σωστό, αλλά στην πράξη σημαίνει downtime και coordination μεταξύ teams.
📖 Διαβάστε ακόμα: Deepfake CEO: Εταιρική Απάτη $25 Εκατ.
🧠 Τι Μας Μαθαίνει Αυτή η Επίθεση
Το TeamPCP κάνει κάτι πολύ έξυπνο: στοχεύει security tools που έχουν ήδη elevated access. Είναι σαν να πας να κλέψεις το σπίτι του σεκιουρίτι αντί για το τυχαίο σπίτι στη γειτονιά.
Το .pth file trick είναι καινοτομία που θα δούμε σίγουρα σε μελλοντικές επιθέσεις. Bypass του import requirement εντελώς — το payload τρέχει σε κάθε Python process startup.
Red flag για 2026: Python supply chain attacks που χρησιμοποιούν .pth files για persistent execution θα γίνουν mainstream. Οι security teams πρέπει να προσθέσουν .pth monitoring στα detection rules τους.
Η Αλυσίδα Συνεχίζεται
Το scary part είναι ότι τα stolen credentials από LiteLLM environments θα τροφοδοτήσουν το επόμενο κύμα επιθέσεων. Το TeamPCP χτίζει ένα credential empire που μεγαλώνει με κάθε successful compromise.
Αν είσαι security engineer, αυτή η επίθεση σου δίνει μία clear εικόνα για το τι πρέπει να παρακολουθείς: package installations σε CI/CD, .pth files στα Python environments, και — κυρίως — credential rotation pipelines που μπορούν να ενεργοποιηθούν γρήγορα όταν χρειάζεται.
Γιατί το επόμενο compromise δεν θα είναι «αν» — θα είναι «πότε» και «πόσο γρήγορα θα μπορέσετε να αντιδράσετε».
🎯 Συχνές Ερωτήσεις
Πώς μπορώ να δω αν έχω επηρεαστεί;
Τρέξε pip show litellm για να δεις την έκδοση. Αν είσαι σε 1.82.7 ή 1.82.8, είσαι compromised. Κοίταξε επίσης για αρχεία στο ~/.config/sysmon/ και processes που ονομάζονται pgmon.
Το LiteLLM είναι ασφαλές τώρα;
Ολόκληρο το project έχει καραντίνα στο PyPI αυτή τη στιγμή. Η τελευταία καθαρή έκδοση είναι η 1.82.6 από τις 22 Μαρτίου. Αλλά δεδομένου ότι το PyPI token έχει κλαπεί, χρειάζεται πλήρη security audit πριν το project επιστρέψει.
Γιατί δεν τους πιάνουν;
Το TeamPCP χρησιμοποιεί stolen infrastructure, κρυπτογραφεί όλα τα exfiltrated data, και κινείται μέσω legitimate software που ήδη έχει elevated permissions. Δεν είναι script kiddies — είναι sophisticated operation με καλή operational security.
Πηγές: