xygeni-haitallisen koodin tiiviste 80

Xygeni-haittakoodin tiiviste 80

Every week, our malware detection systems scan thousands of new and updated packages across public registries like npm and PyPI. This week was no exception. We confirmed 165 malicious packages between July 17 and July 24, 2026, across npm and PyPI, led by one high-velocity campaign and several new impersonation clusters.

Suurin yksittäinen tapahtuma oli bingo-ai on PyPI, again: nearly 85 versions confirmed in a 23-minute window on July 21, the same automated publishing pattern we flagged in this package last week.

We also confirmed further activity from gcli-control on PyPI, a package our research team profiled in detail this week: a fully-featured Windows RAT (keylogging, webcam/mic capture, clipboard monitoring, browser-credential theft, persistence) that routes its command-and-control through npoint.io, a free JSON-hosting service, rather than an attacker-owned domain. The initial burst (versions 0.1.0 to 0.7.1) escalated to full capability in about 13.5 hours on July 21–22. This week’s digest shows the campaign didn’t stop there: five more versions (0.8.0 through 0.12.0) followed at a steadier pace through July 23–24.

We also confirmed a nine-package Twilio impersonation cluster on npm (twilio-serverless, twilio-functions, twilio-internal, and others), all published July 21 with inflated version numbers, a classic dependency-confusion pattern. A second cluster targeted crypto/DeFi tooling on npm, nine packages including uniswap-sdk-v4, wagmi-reactja ethers-secure, published July 23.

Smaller but notable: a repeating “date formatting utility” naming theme across three separate campaigns, and n8n-nodes-pwn, a suspiciously named automation-node package confirmed July 22.

Tämä viikoittainen tilannekuva on osa jatkuvaa Haittakoodin tiivistelmä, jossa validoimme uusia uhkia ja tarjoamme toimintakelpoista tietoa auttaaksemme DevSecOps-tiimejä suojaamaan omia pipelineennen kuin vahinko tapahtuu. Puretaanpa, mitä havaitsimme tällä viikolla ja miksi se on tärkeää.

ekosysteemiPakettiVahvistettu
NPMjavas-crypto:2.0.4Heinäkuu 17, 2026
NPMshadxino:2.0.8Heinäkuu 17, 2026
NPMclover-codelab-remote-pay-cloud:99.9.9Heinäkuu 17, 2026
NPMhehehee:2.0.4Heinäkuu 17, 2026
NPMshadxino:2.0.9Heinäkuu 18, 2026
NPMrelativity-pdfjs-dist:5.8.2Heinäkuu 20, 2026
NPMtriage_bot_using_sdkv3:2.0.1Heinäkuu 19, 2026
NPMaftermath-finance:99.0.0Heinäkuu 19, 2026
NPMaftermath-sui:99.0.0Heinäkuu 19, 2026
NPMaftermathfi:99.0.0Heinäkuu 19, 2026
NPM@yuva2210/okx-poc-preinstall:1.0.1Heinäkuu 22, 2026
NPM@yuva2210/okx-poc-rce-impact:2.0.0Heinäkuu 22, 2026
NPM@yuva2210/okx-poc-rce-impact:1.0.0Heinäkuu 22, 2026
NPMtwilio-serverless:99.99.99Heinäkuu 21, 2026
NPMtwilio-functions:99.99.99Heinäkuu 21, 2026
NPMtwilio-assets:99.99.99Heinäkuu 21, 2026
NPMtwilio-internal:99.99.99Heinäkuu 21, 2026
NPMtwilio-deploy:99.99.99Heinäkuu 21, 2026
NPMtwiliointernal-messaging-toolbox:99.99.99Heinäkuu 21, 2026
NPMtwilio-platform-async-data-fetch:99.99.99Heinäkuu 21, 2026
NPMorg-twilio-phone-numbers-utils:99.99.99Heinäkuu 21, 2026
NPMtwilio-platform-request:99.99.99Heinäkuu 21, 2026
NPMorg-twilio-phone-numbers-utils:99.99.100Heinäkuu 21, 2026
NPMtwilio-platform-async-data-fetch:99.99.100Heinäkuu 21, 2026
NPMtwilio-platform-request:99.99.100Heinäkuu 21, 2026
NPMtwiliointernal-messaging-toolbox:99.99.100Heinäkuu 21, 2026
NPMsupplyhub:1.0.1Heinäkuu 21, 2026
NPMsupplyhub:1.0.2Heinäkuu 21, 2026
NPM@offa/offa-uwk:999.0.0Heinäkuu 21, 2026
NPM@offa/offa-uwk:999.0.1Heinäkuu 21, 2026
NPMdate-format-utils-xz:1.0.1Heinäkuu 21, 2026
NPMdate-format-utils-xz:1.0.2Heinäkuu 21, 2026
NPMdate-format-utils-xz:1.0.4Heinäkuu 21, 2026
NPM@bpa-internal/bpa-utils:99.99.99Heinäkuu 22, 2026
NPMsignzy-field-level-encrypter:12.9.12Heinäkuu 22, 2026
pypibingo-ai:6.2.241Heinäkuu 21, 2026
pypibingo-ai:6.2.239Heinäkuu 21, 2026
pypibingo-ai:6.2.238Heinäkuu 21, 2026
NPMsignzy-field-level-encrypter:12.9.13Heinäkuu 22, 2026
pypibingo-ai:6.2.236Heinäkuu 21, 2026
pypibingo-ai:6.2.235Heinäkuu 21, 2026
pypibingo-ai:6.2.234Heinäkuu 21, 2026
pypibingo-ai:6.2.233Heinäkuu 21, 2026
pypibingo-ai:6.2.232Heinäkuu 21, 2026
pypibingo-ai:6.2.231Heinäkuu 21, 2026
pypibingo-ai:6.2.230Heinäkuu 21, 2026
pypibingo-ai:6.2.229Heinäkuu 21, 2026
pypibingo-ai:6.2.228Heinäkuu 21, 2026
pypibingo-ai:6.2.227Heinäkuu 21, 2026
pypibingo-ai:6.2.226Heinäkuu 21, 2026
pypibingo-ai:6.2.225Heinäkuu 21, 2026
pypibingo-ai:6.2.224Heinäkuu 21, 2026
pypibingo-ai:6.2.223Heinäkuu 21, 2026
pypibingo-ai:6.2.222Heinäkuu 21, 2026
pypibingo-ai:6.2.221Heinäkuu 21, 2026
pypibingo-ai:6.2.218Heinäkuu 21, 2026
pypibingo-ai:6.2.217Heinäkuu 21, 2026
pypibingo-ai:6.2.216Heinäkuu 21, 2026
pypibingo-ai:6.2.215Heinäkuu 21, 2026
pypibingo-ai:6.2.214Heinäkuu 21, 2026
pypibingo-ai:6.2.213Heinäkuu 21, 2026
pypibingo-ai:6.2.212Heinäkuu 21, 2026
pypibingo-ai:6.2.211Heinäkuu 21, 2026
pypibingo-ai:6.2.210Heinäkuu 21, 2026
pypibingo-ai:6.2.206Heinäkuu 21, 2026
pypibingo-ai:6.2.205Heinäkuu 21, 2026
pypibingo-ai:6.2.204Heinäkuu 21, 2026
pypibingo-ai:6.2.203Heinäkuu 21, 2026
pypibingo-ai:6.2.202Heinäkuu 21, 2026
pypibingo-ai:6.2.201Heinäkuu 21, 2026
pypibingo-ai:6.2.200Heinäkuu 21, 2026
pypibingo-ai:6.2.198Heinäkuu 21, 2026
pypibingo-ai:6.2.197Heinäkuu 21, 2026
pypibingo-ai:6.2.196Heinäkuu 21, 2026
pypibingo-ai:6.2.195Heinäkuu 21, 2026
pypibingo-ai:6.2.194Heinäkuu 21, 2026
pypibingo-ai:6.2.193Heinäkuu 21, 2026
pypibingo-ai:6.2.192Heinäkuu 21, 2026
pypibingo-ai:6.2.191Heinäkuu 21, 2026
pypibingo-ai:6.2.190Heinäkuu 21, 2026
pypibingo-ai:6.2.189Heinäkuu 21, 2026
pypibingo-ai:6.2.188Heinäkuu 21, 2026
pypibingo-ai:6.2.187Heinäkuu 21, 2026
pypibingo-ai:6.2.186Heinäkuu 21, 2026
pypibingo-ai:6.2.185Heinäkuu 21, 2026
pypibingo-ai:6.2.184Heinäkuu 21, 2026
pypibingo-ai:6.2.183Heinäkuu 21, 2026
pypibingo-ai:6.2.179Heinäkuu 21, 2026
pypibingo-ai:6.2.177Heinäkuu 21, 2026
pypibingo-ai:6.2.174Heinäkuu 21, 2026
pypibingo-ai:6.2.173Heinäkuu 21, 2026
pypibingo-ai:6.2.172Heinäkuu 21, 2026
pypibingo-ai:6.2.169Heinäkuu 21, 2026
pypibingo-ai:6.2.168Heinäkuu 21, 2026
pypibingo-ai:6.2.167Heinäkuu 21, 2026
pypibingo-ai:6.2.165Heinäkuu 21, 2026
pypibingo-ai:6.2.244Heinäkuu 21, 2026
pypibingo-ai:6.2.163Heinäkuu 21, 2026
pypibingo-ai:6.2.162Heinäkuu 21, 2026
pypibingo-ai:6.2.160Heinäkuu 21, 2026
pypibingo-ai:6.2.159Heinäkuu 21, 2026
pypibingo-ai:6.2.158Heinäkuu 21, 2026
pypibingo-ai:6.2.157Heinäkuu 21, 2026
pypibingo-ai:6.2.156Heinäkuu 21, 2026
pypibingo-ai:6.2.155Heinäkuu 21, 2026
pypibingo-ai:6.2.154Heinäkuu 21, 2026
pypibingo-ai:6.2.153Heinäkuu 21, 2026
pypibingo-ai:6.2.152Heinäkuu 21, 2026
pypibingo-ai:6.2.151Heinäkuu 21, 2026
pypibingo-ai:6.2.150Heinäkuu 21, 2026
pypibingo-ai:6.2.149Heinäkuu 21, 2026
pypibingo-ai:6.2.147Heinäkuu 21, 2026
pypibingo-ai:6.2.146Heinäkuu 21, 2026
pypibingo-ai:6.2.145Heinäkuu 21, 2026
pypibingo-ai:6.2.144Heinäkuu 21, 2026
pypibingo-ai:6.2.143Heinäkuu 21, 2026
pypibingo-ai:6.2.142Heinäkuu 21, 2026
pypibingo-ai:6.2.141Heinäkuu 21, 2026
pypibingo-ai:6.2.138Heinäkuu 21, 2026
pypibingo-ai:6.2.137Heinäkuu 21, 2026
pypibingo-ai:6.2.136Heinäkuu 21, 2026
NPM@knofler/ai-management:0.3.0Heinäkuu 22, 2026
pypigcli-control:0.1.0Heinäkuu 22, 2026
NPMfaust-cont:1.0.0Heinäkuu 22, 2026
pypigcli-control:0.5.0Heinäkuu 22, 2026
pypigcli-control:0.2.0Heinäkuu 22, 2026
pypigcli-control:0.6.0Heinäkuu 22, 2026
pypigcli-control:0.7.0Heinäkuu 22, 2026
NPMn8n-nodes-pwn:1.0.1Heinäkuu 22, 2026
NPMn8n-nodes-pwn:1.0.2Heinäkuu 22, 2026
pypigcli-control:0.7.1Heinäkuu 22, 2026
pypimake-helper:0.1.0Heinäkuu 22, 2026
pypigcli-control:0.8.0Heinäkuu 23, 2026
NPMknowledge-grader:1.0.1Heinäkuu 23, 2026
NPMforge-extended:1.0.1Heinäkuu 23, 2026
NPMtidal-embed-player:1.0.1Heinäkuu 23, 2026
NPMcontent-publisher-sdks:1.0.1Heinäkuu 23, 2026
NPMfastly-vcl-language-client:1.0.0Heinäkuu 23, 2026
NPMtool-registry-scripts:1.0.0Heinäkuu 23, 2026
NPMuniswap-sdk-v4:1.0.0Heinäkuu 23, 2026
NPMccxt-trading:1.0.0Heinäkuu 23, 2026
NPMwagmi-react:1.0.0Heinäkuu 23, 2026
NPMethers-secure:1.0.0Heinäkuu 23, 2026
NPMviem-toolkit:1.0.0Heinäkuu 23, 2026
NPMrpc-endpoint-rotator:1.0.0Heinäkuu 23, 2026
NPMhardhat-gas-tracker:1.0.0Heinäkuu 23, 2026
NPMeth-crypto-utils:1.0.0Heinäkuu 23, 2026
NPMtoken-list-fetcher:1.0.0Heinäkuu 23, 2026
NPMhardhat-gas-tracker:1.0.1Heinäkuu 23, 2026
NPMtoken-list-fetcher:1.0.1Heinäkuu 23, 2026
NPMeth-crypto-utils:1.0.1Heinäkuu 23, 2026
NPMrpc-endpoint-rotator:1.0.1Heinäkuu 23, 2026
pypigcli-control:0.9.0Heinäkuu 23, 2026
pypigcli-control:0.10.0Heinäkuu 23, 2026
NPMsoundflow-premium: 1.0.0Heinäkuu 24, 2026
pypigcli-control:0.11.0Heinäkuu 24, 2026
pypigcli-control:0.11.1Heinäkuu 24, 2026
NPMtracker-radar-detector:1.0.1Heinäkuu 24, 2026
pypigcli-control:0.11.2Heinäkuu 24, 2026
pypigcli-control:0.12.0Heinäkuu 24, 2026
NPMdatefmt-pro:1.0.1Heinäkuu 24, 2026
NPMdatefmt-pro:1.0.0Heinäkuu 24, 2026
NPMdatefmt-pro:1.0.2Heinäkuu 24, 2026
NPM@daylightqc/date-fmt-lite:1.0.0Heinäkuu 24, 2026
NPM@daylightqc/date-fmt-lite:1.1.1Heinäkuu 24, 2026

Yli 165 pakettia. Yksi viikko. Vaaka vain nousee.

Tämän viikon kooste heijastelee samaa kehityskaarta: hyökkääjät julkaisevat nopeammin kuin rekisterit poistavat ja nopeammin kuin viikoittainen tarkistus pystyy havaitsemaan. Yksi PyPI-paketti, bingo-ai, went from first version to nearly 85 confirmed versions in about 23 minutes, automated publishing at a speed no manual review process can match. Meanwhile, gcli-control shows that volume isn’t the only risk: a fully-featured RAT that didn’t bother hiding what it was, instead relaying its commands through npoint.io, a free JSON-hosting service, so its traffic blends into ordinary developer activity with no attacker-owned domain to block. And the Twilio and crypto/DeFi impersonation clusters show a third pattern entirely: coordinated, multi-package drops using inflated version numbers to win a dependency-confusion race against internal package names.

Xygenin varhainen haittaohjelmavaroitus monitors npm, PyPI, and other registries in real time, flagging threats at the moment of publication, before they reach a build, before an AI agent installs them autonomously, and before a covert relay or a dependency-confusion package has a chance to execute. When bingo-ai ships dozens of versions in under half an hour, or gcli-control routes its C2 through a service your egress rules already allow, detection that runs after the fact is already too late.

Xygenin Open Source Security alusta tarjoaa DevSecOps-tiimeille reaaliaikaisen havaitsemisen ja priorisoinnin, joita tarvitaan koordinoidun toimitusketjun paineen edellä pysymiseen, jotta sinun pipelinepysyä puhtaana hidastamatta tiimejäsi.

sca-työkalut-ohjelmisto-koostumusanalyysityökalut
Priorisoi, korjaa ja suojaa ohjelmistoriskisi
Hanki ilmainen tili.
Luottokorttia ei vaadita.

Turvaa ohjelmistokehityksesi ja -toimituksesi

Xygeni-tuotepaketin kanssa