Cyber Threat Brief — March 25 2026

⚠️ This report is AI-generated. Always validate findings.

Previous brief: Cyber Threat Brief — March 24 2026


Threat count: 1 new threat, 2 status updates

1. TeamPCP Backdoors LiteLLM PyPI Package — Supply Chain

TL;DR: Threat actor TeamPCP published backdoored litellm versions 1.82.7–1.82.8 on March 24 via compromised Trivy GitHub Action CI/CD pipeline; payload harvests SSH keys, cloud creds, crypto wallets and .env files, deploys privileged K8s pods for lateral movement, and installs a persistent systemd backdoor beaconing to checkmarx[.]zone.

What’s New:

  • TeamPCP pivoted from prior Trivy/KICS compromises to poison litellm (95M+ monthly PyPI downloads) by stealing maintainer credentials through a trojanized trivy-action GitHub Action tag (v0.69.4)
  • Malicious code in litellm/proxy/proxy_server.py uses triple-nested Base64 obfuscation and .pth auto-loading for persistence — survives pip uninstall
  • Three-stage payload: (1) credential harvester sweeps ~/.ssh, ~/.aws, ~/.kube, crypto wallets, .env files; (2) K8s lateral movement deploys node-setup-* privileged pods to every node in kube-system; (3) systemd backdoor disguised as “System Telemetry Service” polls C2 every 50 minutes
  • Malicious versions were live ~3 hours before PyPI quarantine; last safe version is 1.82.6
  • Shared C2 infrastructure (checkmarx[.]zone) and identical persistence (sysmon.py/sysmon.service) link this to the Trivy/KICS campaign

Actionable Intel

ArtifactTypeATT&CKLog SourceAction
models.litellm[.]cloudC2 domainT1071.001DNS / proxy logsBlock at DNS and web proxy
checkmarx[.]zoneC2 domainT1071.001DNS / proxy logsBlock at DNS and web proxy
checkmarx[.]zone/rawC2 beacon URLT1102Proxy / NGFWBlock and hunt for 50-min beacon interval
~/.config/sysmon/sysmon.pyPersistence dropperT1546.016EDR / file integrityHunt across all hosts running litellm
~/.config/systemd/user/sysmon.service (“System Telemetry Service”)Persistence unitT1543.002systemctl --user list-units / EDRHunt and remove
litellm_init.pth in site-packages.pth persistenceT1546.016File integrity / pip auditSurvives uninstall — check all Python envs
/tmp/pglog, /tmp/.pg_stateStaging filesT1074.001EDR / file telemetryHunt for these temp files
kubectl get pods -n kube-system | grep node-setupK8s lateral movementT1610K8s audit logsDelete rogue privileged pods
litellm==1.82.7 or litellm==1.82.8Malicious package versionsT1195.002pip list / SBOMPin to ≤1.82.6 or ≥1.82.9; audit all deployments
/root/.config/sysmon/Persistence directoryT1543.002EDR / file integrityHunt on all nodes

Detection

SourceRuleGap
Splunk ESCULinux Persistence Through systemd Service (partial)Needs tuning for user-level ~/.config/systemd/user/ path; no rule for .pth file abuse
ElasticSystemd Service Created (partial)Same gap — user-level systemd services not covered; no Python .pth persistence rule
SigmaSystemd Service File Creation (partial)Add filter for sysmon.service description “System Telemetry Service”; need new rule for .pth file creation in site-packages

Sources: BleepingComputer, ReversingLabs, Wiz Blog, Datadog Security Labs, TocConsulting IOC Repo


Status Updates

  • CVE-2026-3055 (Citrix NetScaler ADC/Gateway): No public PoC or ITW exploitation yet as of March 25; Rapid7 and Arctic Wolf maintain high weaponization likelihood. Patch immediately if SAML IDP is configured. Rapid7 ETR.
  • CVE-2026-20131 (Cisco FMC): Interlock ransomware exploitation ongoing; public PoC remains available on GitHub. CISA KEV deadline passed March 22. Help Net Security.