惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

雷峰网
雷峰网
B
Blog
博客园_首页
云风的 BLOG
云风的 BLOG
S
SegmentFault 最新的问题
罗磊的独立博客
Jina AI
Jina AI
C
Check Point Blog
Martin Fowler
Martin Fowler
J
Java Code Geeks
博客园 - 司徒正美
美团技术团队
MongoDB | Blog
MongoDB | Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
大猫的无限游戏
大猫的无限游戏
有赞技术团队
有赞技术团队
U
Unit 42
Hugging Face - Blog
Hugging Face - Blog
WordPress大学
WordPress大学
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 叶小钗
博客园 - 三生石上(FineUI控件)
小众软件
小众软件

Wiz Blog | RSS feed

Meet Wiz for M365: Bringing SaaS into the Security Graph Bringing Security Visibility to Vercel with Wiz Axios NPM Distribution Compromised in Supply Chain Attack Tracking TeamPCP: Investigating Post-Compromise Attacks Seen in the Wild The Wiz Blue Agent, now Generally Available Beyond the Badge: What Achieving Microsoft’s Certified Software Designation Means for Your Cloud Security Introducing the Green Agent: AI-Powered Remediation for the Cloud Three’s a Crowd: TeamPCP trojanizes LiteLLM in Continuation of Campaign KICS GitHub Action Compromised: TeamPCP Strikes Again in Supply Chain Attack Introducing the Wiz Red Agent- AI-Powered Attacker Introducing Wiz AI Application Protection Platform (AI-APP) Introducing Wiz Agents & Workflows: Security at the Speed of AI AI Runtime Threat Detection: From Input to Real-World Impact Trivy Compromised: Everything You Need to Know about the Latest Supply Chain Attack It’s Official: Wiz Joins Google Understanding and Reducing AI Risk in Modern Applications Introducing Wiz Tenant Manager: Multi-Tenant Management for Federated Organizations The Agile FedRAMP Playbook, Part 4: Reactive Risk Management through Enriched Incident Response Wiz Achieves CPSTIC Certification in Spain Seeing AI Clearly: Building Visibility Across Modern AI Applications The Agile FedRAMP Playbook, Part 3: Preventative Risk Management by building Secure by Design Wiz Leads the 2026 Latio Application Security Report with awards in 4 categories Building an Agentic Cloud Security Ecosystem: A Reference Architecture with Wiz MCP and Infosys Cyber Next The Agile FedRAMP Playbook, Part 2: Proactive Risk Management with Continuous Monitoring Cloud-native Security for your Windows environment: Announcing the Wiz Runtime Sensor for Windows Would You Click ‘Accept’? Automatically detecting malicious Azure OAuth applications using LLMs Wiz Named a Leader in The Forrester Wave™: Cloud Native Application Protection Solutions, Q1 2026 From Detection to Remediation: It’s Time to Rethink AppSec Around Exploitability and Root Cause Fixes The Agile FedRAMP Playbook, Part 1: Why Risk is Your Best Starting Point Introducing AI Cyber Model Arena: A Real-World Benchmark for AI Agents in Cybersecurity
durabletask: TeamPCP's Latest PyPi Compromise
Rami McCarthy · 2026-05-20 · via Wiz Blog | RSS feed

The supply chain campaign linked to TeamPCP continues with the compromise of durabletask v1.4.1, v1.4.2, and v1.4.3. DurableTask is the official Microsoft Python client for the Durable Task workflow execution framework.

These packages have been quarantined by PyPi, subsequent to Wiz's analysis.

Root Cause

There is a direct link between the previously reported @antv wave and this compromised package.

A compromised user account was identified based on their publication of the repositories implicated in that wave. That same account can be observed targeting the microsoft/durabletask-python between 15:08 UTC and 15:16 UTC:

The attacker's activity against `microsoft/durabletask-python`

We can observe the attacker copied the latest commit message from main, and the behavior matches past examples of leveraging compromised credentials to dump secrets from GitHub. Workflows in the repository indicate that the PyPi token was present within the GitHub secrets.

So we can conclude that the attacker compromised a GitHub account via a previous attack, dumped GitHub secrets from a repository to which the user had access, and from there had access to the PyPi token to publish directly.

Payload

The payload is a slight evolution of the one previously deployed in the compromise of the guardrails-ai package on May 11th.

Attributetransformers.pyz v2durabletask v1.4.1durabletask v1.4.2durabletask v1.4.3
StatusMalware payloadCompromisedCompromisedCompromised
C2 Domain83.142.209.194check.git-service.comcheck.git-service.comcheck.git-service.com
Backup C2-t.m-kosche.comt.m-kosche.comt.m-kosche.com
Payloadtransformers.pyzrope.pyzrope.pyzrope.pyz
Injection Points__init__.py__init__.pytask.pyentities/__init__.py, extensions/__init__.py, payload/__init__.py
Target OSLinuxLinuxLinuxLinux
Credential StealingAWS, Azure, GCP, K8s, Vault, Filesystem, PasswordsYes (inherited)Yes (inherited)Yes (inherited)
AWS SSM PropagationNoYesYesYes
K8s Lateral MovementNoYesYesYes
Password Manager BruteforceNoYes (Bitwarden, 1Password, GPG)Yes (Bitwarden, 1Password, GPG)Yes (Bitwarden, 1Password, GPG)
History ScrapingNoYes (.bash_history, .zsh_history)YesYes
Propagation Limit-5 targets/host5 targets/host5 targets/host
Infection Marker-~/.cache/.sys-update-check~/.cache/.sys-update-check~/.cache/.sys-update-check
RSA KeyKey AKey B (new)Key B (new)Key B (new)
SSL VerificationDisabledEnabledEnabledEnabled


What steps should security teams take?

Wiz customers should refer to the Wiz Threat Intelligence Center Advisory on this incident.

  1. Immediately identify exposure: Search lockfiles and CI logs for durabletask versions 1.4.1, 1.4.2, or 1.4.3. Look for /tmp/managed.pyz or /tmp/rope-*.pyz on Linux systems.

  2. Check for persistence: Search for the infection marker ~/.cache/.sys-update-check (AWS/general) and ~/.cache/.sys-update-check-k8s (Kubernetes) on affected systems. Presence confirms payload execution. Check for running python3 /tmp/managed.pyz processes.

  3. Rotate all credentials: If exposure is suspected, rotate AWS credentials (especially IAM User credentials), Azure credentials, GCP service accounts, Kubernetes service accounts, Vault tokens, and any passwords stored in Bitwarden, 1Password, or pass/gopass. Assume shell history (.bash_history, .zsh_history) was exfiltrated.

  4. Audit AWS SSM and Kubernetes: Check CloudTrail for SSM:SendCommand and SSM:DescribeInstanceInformation calls from compromised instances. Review Kubernetes audit logs for unexpected kubectl exec activity. The worm propagates to up to 5 targets per infected host.

  5. Check password manager sessions: Review Bitwarden (bw) and 1Password (op) CLI usage. The payload attempts brute-force unlock using harvested passwords from environment variables and shell history.

  6. Block C2 infrastructure: Block check.git-service.com and t.m-kosche.com at the DNS/proxy level. Block outbound connections to the exfil endpoints /v1/models, /audio.mp3, and /api/public/version.

For longer term hardening guidance, Wiz has developed:

Indicators of compromise

FileHash
rope.pyz069ac1dc7f7649b76bc72a11ac700f373804bfd81dab7e561157b703999f44ce
durabletask-1.4.1-py3-none-any.whl7d80b3ef74ad7992b93c31966962612e4e2ceb93e7727cdbd1d2a9af47d44ba8
durabletask-1.4.2-py3-none-any.whlaeaf583e20347bf850e2fabdcd6f4982996ba023f8c2cd56bbd299cfd56516f5
durabletask-1.4.3-py3-none-any.whl877ff2531a63393c4cb9c3c86908b62d9c4fc3db971bc231c48537faae6cb3ec

Network Indicators

TypeIndicator
C2 Domain (Primary)check.git-service.com
C2 Domain (Secondary)t.m-kosche.com
Payload URLhttps://check.git-service[.]com/rope.pyz
Payload URL (Backup)https://t.m-kosche[.]com/rope.pyz
Killswitch/Command Endpoint/v1/models
Wipe Audio (Israel/Iran only)/audio.mp3
Exfil Endpoint/api/public/version
Legacy C2 IP83.142.209.194

Runtime Indicators

TypeIndicator
Downloaded Payload/tmp/managed.pyz
Downloaded Payload/tmp/rope-*.pyz
Infection Marker (General)~/.cache/.sys-update-check
Infection Marker (Kubernetes)~/.cache/.sys-update-check-k8s
SSM State File/tmp/.rope_state/ssm_instances.json