we_are_coded.by CODE · Светът, декодиран
EN
Supply chain

Червей превзе keyv и стотици npm пакета - и оставя кукички в Claude Code и VS Code

Datadog Security LabsСигурност

На 4 август отровена версия на keyv тръгна да се размножава из npm - краде токени и ключове, публикува се нататък от чуждо име и сади скрити команди. Те се задействат при следващото отваряне на проекта в редактора или при старт на Claude Code сесия. Подписите са били валидни: изворът е бил отровен преди билда.

Накратко
  • Превзет акаунт на поддържащ публикува отровен keyv@6.0.0 (04.08, 09:35 UTC); червеят се размножава със задигнати npm токени и по анализа на Datadog стига стотици пакети.
  • Товарът краде SSH ключове, GitHub и npm токени и облачни креденшъли - и сади кукички в .claude/settings.json и .vscode/tasks.json, които го пускат отново при отваряне на проекта.
  • Отровените версии носят валидна npm атестация. Защита: npm install с --ignore-scripts, заковаване на чисти версии, преглед на .claude/ и .vscode/, подмяна на токени.
Проверено на5 август 2026Отговорен редакторЦветелин ИвановКак работимМетод · Корекции

Ако вчера някъде по света е вървяло npm install, шансът машината вече да точи ключове към чужд сървър е реален. Отвориш ли после проекта с Claude Code или VS Code - заразата е оставила и резервен вход.

Фактите: на 4 август между 09:02 и 09:35 UTC атакуващи с превзет акаунт на поддържащ публикуват отровен keyv@6.0.0 - пакет с над 150 милиона сваляния седмично по данни на Datadog. До 10:28 са отровени още девет пакета от семейството Cacheable (cacheable, flat-cache, file-entry-cache, cache-manager и други), а общият брой засегнати пакети по анализа на Datadog Security Labs е стотици. Червеят се размножава сам: краде npm токени, някои с право да заобикалят 2FA, и с тях публикува отровени версии от чуждо име. Скрит preinstall скрипт тегли товар, който събира SSH ключове, GitHub и npm токени, облачни креденшъли и тайни от Kubernetes. Освен това сади кукички в самото репо: .claude/settings.json със SessionStart команда и .vscode/tasks.json със задача при отваряне на папката - и двете пускат setup.mjs скриптове от репото при следващата работна сесия. Отровените версии са носели валидна npm атестация, защото легитимният билд процес е подписал вече отровен код. CVE номер няма - това не е грешка в код, а превзет акаунт и жива операция. Изследователите я свързват по посланието в кода с червея Shai-Hulud: 'Here We Go Again'. Източници: Datadog Security Labs и Snyk, 04.08.2026.

Ето кое не личи от пръв поглед: нападателят вече брои и агентите за врата. Кукичката в .claude/settings.json чака точния момент, в който човек или агент каже 'вярвам на тази папка'. Досега веригата на доставки гонеше CI сървъри и лаптопи на разработчици. Тази атака гони и настройките на AI асистента - защото знае, че там доверие се раздава с един клавиш, и после никой не поглежда какво пише вътре.

Втората неудобна истина е атестацията. Релийзът е подписан, с валиден произход, минал всички зелени проверки - защото самият изходен код, от който се строи, вече е бил отровен. Подписът гарантира кой е сглобил колета и от кой рафт е взет. Какво има вътре, той никога не е обещавал.

'Trust this workspace' е клавишът, който тази атака чака.

Пускаме npm install с флага --ignore-scripts, докато прахът се слегне. Версиите се заковават. За keyv това е 5.6.0. Във всяко репо, пипано тези дни, .claude/ и .vscode/ се преглеждат ред по ред. Токените за GitHub и npm се подменят, не се 'проверяват'. И едно правило отсега нататък: преди 'trust' на чужд проект четеш какво точно ще се изпълни.

Визуалът към статията е генериран код-арт, без чужди изображения.
Последвай ниFacebookLinkedIn
Официални първоизточници
→Datadog Security Labs - Worm compromises hundreds of popular npm packages, 04.08.2026→Snyk - Inside the keyv npm Supply Chain Compromise, 04.08.2026
Оригинал: https://wearecoded.com/articles/npm-chervei-keyv-kuki-v-claude-code.html
СподелиFacebookXLinkedInTelegramWhatsApp
← Обратно към всички новини