Ang AsyncAPI npm Supply Chain Attack ay Naghahatid ng Multi-Stage Malware sa 2 Milyon+ Lingguhang Pag-download

Huling pag-update: 07/15/2026
May-akda: C SourceTrail
  • Apat na @asyncapi npm packages ang nakompromiso noong Hulyo 14, 2026, sa pamamagitan ng isang CI/CD pipeline attack, na nagresulta sa limang malisyosong bersyon.
  • Gumagana ang malware sa oras ng pag-import ng package, hindi sa oras ng pag-install, at nagda-download ng isang sopistikadong botnet framework mula sa IPFS.
  • Kasama sa payload ang pagnanakaw ng kredensyal, pagkalason sa AI tool, pagpapalaganap na parang bulate, at multi-channel C2 gamit ang HTTP, Nostr, IPFS, BitTorrent, libp2p, at Ethereum.
  • Inalis na ang lahat ng malisyosong bersyon mula sa npm, ngunit dapat muling buuin ng mga organisasyon ang mga lock file, i-rotate ang mga kredensyal, at i-audit ang mga apektadong sistema.

Infographic ng pag-atake sa supply chain ng AsyncAPI npm

Noong Hulyo 14, 2026, isang koordinadong pag-atake sa supply chain ang tumama sa open-source ecosystem ng AsyncAPI, na nakompromiso ang apat na malawakang ginagamit na npm package na sama-samang nakakakita ng mahigit 2.25 milyong lingguhang pag-download . Ginamit ng pag-atake ang mga pinagkakatiwalaang pipeline ng pag-publish sa GitHub Actions, na nagpapahintulot sa malisyosong code na makalusot nang hindi umaasa sa mga tradisyonal na npm install hook. Sa halip, nag-a-activate ang malware sa sandaling i-import ng isang developer ang nakompromisong module, na ginagawa itong partikular na mapanganib para sa mga CI/CD environment at mga workstation ng developer.

Kinumpirma ng mga mananaliksik sa seguridad mula sa maraming kumpanya—kabilang ang StepSecurity, OX Security, Socket, Wiz, at SafeDep—ang insidente nang nakapag-iisa. Nakakuha ang attacker ng push access sa dalawang magkahiwalay na repositoryo ng AsyncAPI GitHub (asyncapi/generator at asyncapi/spec-json-schemas) at ginamit ang sariling mga daloy ng trabaho sa paglabas ng mga proyekto upang mag-publish ng mga pakete na may wastong mga patunay ng pinagmulan ng SLSA. Walang npm token na ninakaw; sinamantala ng kompromiso ang isang maling na-configure na daloy ng trabaho ng GitHub Actions na nagpapahintulot sa attacker na itulak ang mga commit sa ilalim ng isang placeholder na git identity (Your Name ).

Timeline ng Pag-atake at mga Apektadong Pakete

Ang unang pag-atake ay tumama sa asyncapi/generator repositoryo noong 06:58 UTC. Isang malisyosong commit sa next sangay na nag-trigger ng release-with-changesets.yml daloy ng trabaho, naglalathala ng tatlong trojanized na pakete: @asyncapi/generator@3.3.1, @asyncapi/generator-helpers@1.1.1, at @asyncapi/mga-komponent-ng-generator@0.7.1. Pagkalipas lamang ng 15 minuto, lumiko ang umaatake patungo sa asyncapi/spec-json-schemas repository, na nagtutulak ng serye ng mga commit sa master sangay. Nagresulta ito sa dalawang karagdagang malisyosong bersyon: @asyncapi/specs@6.11.2 at @asyncapi/specs@6.11.2-alpha.1Ang lahat ng limang bersyon ay inilathala sa pagitan ng 07:10 at 08:30 UTC, at ang palugit ng pagkakalantad ay tumagal hanggang 11:18 UTC nang sa wakas ay hindi na inilathala ang mga pakete.

Ang dahilan kung bakit partikular na nakakasira sa atakeng ito ay ang Ang malisyosong code ay isinasagawa sa oras ng pag-import, hindi sa oras ng pag-installAng payload ay direktang naka-embed sa mga pangunahing JavaScript file ng bawat package—hindi kailangan ng mga preinstall o postinstall script. Halimbawa, sa @asyncapi/generator, ang dropper ay nasa apps/generator/lib/templates/config/validator.jsKapag ang isang build o CI job ay tumawag sa library, ang obfuscated JavaScript ay maglalabas ng isang nakatagong child process na magda-download ng susunod na yugto mula sa IPFS.

Malware na May Maraming Yugto: Ang Balangkas ng Miasma

Ang ikalawang yugto, isang naka-encrypt na file na tinatawag na sync.js (humigit-kumulang 8.25 MB), ay kinukuha mula sa ipfs.io/ipfs/QmQobZSp1wRPrpSEQ56qnyq7ecZh5Bg5k1fnjt4SUwwHb9 at naka-save sa mga direktoryong partikular sa platform (hal., %LOCALAPPDATA%\NodeJS\sync.js sa Windows). Pagkatapos ng decryption gamit ang HKDF-SHA256 at AES-256-GCM, lumalabas ang pangwakas na payload: a 3.09 MB na modular na balangkas ng botnet na kinikilala bilang "Miasma v3." Ang framework ay may kasamang mahigit 744 na module at sumusuporta sa anim na independiyenteng command-and-control channel, kabilang ang HTTP REST, Nostr relays, IPFS gateways, BitTorrent DHT, libp2p GossipSub, at maging ang mga Ethereum smart contract. Tinitiyak ng multi-channel na disenyo na ito na mapapanatili ng attacker ang komunikasyon kahit na ang ilang endpoint ay naharang.

Kawing sa pag-atake ng miasma malware

Ang kakayahan ng malware ay higit pa sa pagnanakaw ng kredensyal. Ayon sa static analysis, kasama rito ang mga module para sa pagkuha ng kredensyal (mga password ng browser, mga SSH key, mga npm token, mga kredensyal ng AWS, macOS Keychain), Pagkalason sa mga kagamitang AI (tinatarget ang Claude Code, GitHub Copilot, at Cursor), Paggalaw sa gilid ng LAN, at pagpaparami na parang bulate sa mga rehistro ng npm, PyPI, at Cargo. Mayroon din itong metamorphic engine na muling nag-oobfuscate sa bawat kopya, na nagpapahirap sa pag-detect. Kapansin-pansin, ang set ng operator propagate.npm: false sa pag-deploy na ito, na nagmumungkahi ng isang naka-target na kampanya sa halip na isang mass worm.

Remediation at mga Pangmatagalang Aralin

Ang lahat ng limang malisyosong bersyon ay inalis na mula sa npm, at ang mga pinakabagong dist-tag ngayon ay tumutukoy sa mga malinis na release. Gayunpaman, mga umiiral na lock file na nabuo sa panahon ng exposure window (07:10–11:18 UTC) maaari pa ring i-pin ang mga nakompromisong bersyon. Dapat tanggalin at muling buuin ng mga organisasyon ang mga lock file, pagkatapos ay magpatakbo ng panibagong npm installBukod pa rito, dapat nilang suriin ang mga nakatagong NodeJS/sync.js mag-file sa lahat ng apektadong sistema, patayin ang anumang prosesong naulila, at i-rotate ang bawat kredensyal na nasa makina—kabilang ang mga token ng GitHub, mga SSH key, mga kredensyal ng AWS, at mga password na naka-save sa browser.

Dapat ding i-audit ng mga security team ang mga build at CI log para sa mga hindi inaasahang outbound na koneksyon sa mga IPFS gateway, sa C2 server sa 85.137.53.71 , sa BitTorrent bootstrap node, o sa Nostr relay domain. Binibigyang-diin ng pag-atake ang isang kritikal na blind spot: pinapatunayan ng mga provenance attestation (SLSA) na ang isang package ay nagmula sa isang awtorisadong workflow, ngunit hindi nila ginagarantiyahan na lehitimo ang nagti-trigger na commit . Habang umuunlad ang mga pag-atake sa supply chain, ang pagsubaybay sa runtime behavior—hindi lamang sa mga install-time check—ay nagiging mahalaga.

Ang insidenteng ito ay isang malinaw na paalala na ang supply chain ng software ay kasing-ligtas lamang ng pinakamahinang link sa pipeline ng CI/CD. Hindi kailangang basagin ng attacker ang mga depensa ng npm; ginamit lang nila ang sariling mga tool ng proyekto laban dito. Sa hinaharap, dapat ipatupad ng mga organisasyon ang mga cooldown period para sa mga bagong bersyon ng package, ipatupad ang least-privilege para sa GitHub Actions, at gumamit ng mga tool sa pagsubaybay sa runtime tulad ng Harden-Runner upang matukoy ang mga anomalya sa aktibidad ng network. Mabilis na tumugon ang komunidad ng AsyncAPI, ngunit ang blast radius—na nakakaapekto sa milyun-milyong lingguhang pag-download—ay nagpapakita kung paano maaaring makaapekto ang isang nakompromisong push credential sa buong ecosystem.

Kaugnay na mga post: