TL, DR
Teo anelanelan'ny 2026-06-15 sy 2026-06-16 dia nisy mpamoaka npm tokana nanosika fonosana enina — dikan-teny 26 amin'ny fitambarany — izay mampandeha script install-time isaky ny npm installMandefa README ny fonosana tsirairay izay manambara azy ho zavatra "tsara" avy amin'ny fikarohana HackerOne / GitHub Bug Bounty izay "tsy" mikasika ny sandan'ny fahazoan-dàlana ary "tsy manao persistence." Tsy mifanaraka amin'ny fehezan-dalàna ny fehezan-dalàna. Ao amin'ny Linux CI runners, ny install hook dia mijery ny tontolo iainana ary mikaroka ny cloud instance-metadata endpoint; ao amin'ny Windows dia mangataka elevation izy, miasa toy ny SYSTEM, ary manokatra fantsona baiko mankany amin'ny mpampiantrano ivelany. Ny famantarana iray tokony hotadiavina izao dia ny mpampiantrano C2 173.255.233[.]239Fahasarotana: ambonyEkosistema voakasik'izany: npmMifangaro amin'ny tabataba fiankinan-doha amin'ny fampidirana mitohy ny anarana (metrics-pipeline-d8k2, event-metrics-q3x7, pkg-telemetry-r4f9, ary iray tampo telo).
Ny Fanafihana: Ny Fomba Fiasany
Mitovy ny fomba fanamboarana ny fonosana rehetra ao amin'ny cluster. package.json mampita baiko mitovy amin'ny tsingerim-piainana roa hooks:
{
"scripts": {
"preinstall": "node run.js",
"postinstall": "node run.js"
}
}Mihazakazaka amin'ny roa tonta fametrahana mialoha sy aorian'ny fametrahana midika izany fa miasa ny payload na tsy mahomby aza ny dingana fametrahana taty aoriana na tsia. run.js izy tenany dia mpaninjara sehatra misy andalana folo:
// Platform dispatcher — runs beaconNN.js on Windows, beacon_linux.js on Linux.
// GitHub Bug Bounty authorized research. Contact: nicholas@curran.tech
'use strict';
const { execFileSync } = require('child_process');
const path = require('path');
const node = process.execPath;
const script = process.platform === 'win32'
? path.join(__dirname, 'beacon34.js')
: path.join(__dirname, 'beacon_linux.js');
try { execFileSync(node, [script], { stdio: 'inherit', timeout: 90000 }); } catch (e) {}Mizara roa araka ny rafitra fiasana avy eo ny fihetsika. Ireo fonosana enina rehetra dia mitondra singa roa mitovy — run.js ary ireo "beacons" amin'ny sehatra — ka azo ovaina ho "dropper" izy ireo fa tsy fitaovana enina miavaka. Ny hany fahasamihafana misy eo amin'izy ireo dia ny "publish cadence": anarana efatra no alefa indray mandeha, raha roa kosa no averina avoaka isaky ny 30–60 minitra mandritra ny ora maro, izay mitazona ny dikan-teny vao navoaka eo anoloan'ny installers sy resolvers na dia alaina aza ireo efa tranainy.
Amin'ny Linux (beacon_linux.js) ny mombamomba ny script izay ampandehanana azy. Tanisainy ny anaran'ny variables environment, mamaky rakitra ao ambanin'ny / pr, fanamarinana ho an'ny docker.sock, ary mihazakazaka hostname sy iza ahoAvy eo dia mamoaka fangatahana HTTP any amin'ny teboka farany amin'ny metadata-container AWS izy. 169.254.170[.]2 — ny adiresy link-local dia mangataka asa ECS mba hahazoana ny fikirakirana azy manokana sy ny fahazoan-dàlana andraikitra fohy (IMDS, ny serivisy metadata instance). Ny valiny dia alefa any amin'ny mpanangona ny fampielezan-kevitra ao amin'ny 173.255.233[.]239.
Amin'ny Windows (beacon34.js / beacon18.js) ny fonosana dia manao mihoatra lavitra noho ny fanaovana profil fotsiny ny mpampiantrano azy. Ny kaody voamarika dia manampy lakilen'ny rejisitra eo ambanin'ny ms-setting mpitantana miaraka amin'ny DelegateManatanteraka sanda — fomba iray fantatra amin'ny hoe "user-account-control bypass" izay ahafahan'ny dingana natomboka miasa tsy misy "prompt". Miantso ny PowerShell izy io miaraka amin'ny -ExcementPolicy Bypass sy Antsoy ny fanehoana, dia tanterahina ao amin'ny NT AUTHORITY\SYSTEM context, ary manadihady mpampiantrano ivelany ho an'ny baiko. Ny fantsona baiko Windows dia miasa amin'ny a Tonelina Cloudflare, famerana-ny-savaivony-vola madinika-ray aman-dreny.trycloudflare[.]com:443, miverina amin'ny 173.255.233[.]239:443, mampiasa teboka telo: /c2/fitsapan-kevitra mba haka baiko, /c2/mivoaka mba hamerenana ny vokatra, /c2/eof manidy.
Inona no vaovao eto: ny fanambarana ho toy ny fanafenana
Tsy ny payload no singa vaovao — samy voarakitra tsara ny install-hook reconnaissance sy ny Windows elevation. Tantara fototra izany. Ny fonosana tsirairay dia mitondra README izay mivaky toy ny artifact tompon'andraikitra amin'ny famoahana:
# @ncurran/sandbox-recon-880538 — authorized npm-sandbox security researchIzany no iray mahasoa fonosana navoaka teo ambanin'ny sehatry ny `@ncurran` an'ny mpanoratra ho anisan'ny Fandraisana anjara amin'ny HackerOne / GitHub Bug Bounty nahazo alalana (ao anatin'ny sehatry ny npm).
Rehefa apetraka dia jerena tontolo iainana fanatanterahana azy manokana ... miovaova araka ny tontolo iainana
anarana fototra ihany ... manamarina raha fantatra tsara teboka farany momba ny metadata rahona dia azo tratrarina … Mitatitra ny kaody sata, ny halavan'ny valiny, ary ny hash — na oviana na oviana fahazoan-dàlana, sandan'ny token, na angon-drakitra avy amin'ny antoko fahatelo. Tsy manao izany izy fikirizana, tsy misy fihetsehana avy amin'ny ilany, ary tsy misy hetsika manimba.
Misy fanambarana telo ao amin'io lahatsoratra io izay mifanohitra amin'ny kaody nalefa. Ny README dia milaza hoe "tsy misy persistence," fa ny Windows beacon kosa manoratra elevation key mifototra amin'ny registry. Milaza izy hoe "tsy misy credential, token value mihitsy," fa ny Windows path dia mampiasa baiko nalaina tsy nahy araka ny tokony ho izy. RAFITRA, izay tsy mametra izany fetra izany amin'izay vakiana na averina. Manonona fonosana mihitsy aza izy — @ncurran/sandbox-recon-880538 — tsy io no alefany, midika izany fa môdely efa nampiasaina indray ny README fa tsy famaritana ny zavatra efa eo am-pelatanana. Ny fandavana fanekena ao anaty fonosana iray izay tsy neken'ny niharam-boina mihitsy ny hametraka azy dia tsy manome fanekena. Ny fanasokajiana eto dia ratsy na inona na inona fomba fiteny. Ny fandavana dia manana tanjona mangina kokoa ihany koa: dingana fitsapana mandeha ho azy izay mamaky ny lahatsoratry ny fonosana mba hahazoana famantarana mampitony — "tsara", "nahazo alalana", programa voatonona, mailaka fifandraisana — dia azo atosiky ny didim-pitsarana azo antoka amin'ny alàlan'ny fomba fiteny izay mifanohitra amin'ny entana. Mihatra amin'ny mpandinika olombelona sy milina ny lesona: lanjao ny fitondran-tena amin'ny fotoana fametrahana, fa tsy ny famaritana ny README.
Timeline
Niseho tao anatin'ny fe-potoana 24 ora avokoa ireo fonosana rehetra. Ireo anarana efatra misy dikan-teny tokana no tonga voalohany, narahin'ireo fonosana roa izay navoaka indray isaky ny 30–60 minitra.
| Daty (UTC) | Event |
|---|---|
| 2026-06-15 18:32 | Fonosana voalohany navoaka — npm:pkg-telemetry-r4f9@1.0.0 |
| 2026-06-15 19:50 | npm:runtime-metrics-w7k2@1.0.0 namoaka |
| 2026-06-15 20:14 | npm:build-tracker-n5p1@1.0.0 namoaka |
| 2026-06-15 20:35 | npm:npm-sandbox-ping-r9t2@1.0.0 namoaka |
| 2026-06-15 21:09–22:42 | npm:event-metrics-q3x7 namoaka 1.0.0 → 1.0.8 (Dikan-teny 9) |
| 2026-06-15 23:40 → 2026-06-16 04:40 | npm:metrics-pipeline-d8k2 namoaka 1.0.0 → 1.0.10 (Dikan-teny 11) |
| 2026-06-16 | Voafaritra sy voasokajy ho ratsy ny vondrona; efa misy tarball maromaro mamerina 404 ao amin'ny rejisitra (mbola mitohy) |
Vao haingana ny fampielezan-kevitra ary mbola eo am-panamboarana ny fanesorana: tamin'ny fotoana nanaovana fanadihadiana dia voavaha tao amin'ny rejisitra ny dikan-teny sasany fa ny hafa kosa tsy voavaha. Hevero ho voajirika avokoa ireo dikan-teny 26 rehetra.
Famantarana ny fifanarahana
Packages
| tontolo iainana | Package | dikan | Status |
|---|---|---|---|
| npm | metrics-pipeline-d8k2 | 1.0.0 – 1.0.10 | ratsy toetra |
| npm | event-metrics-q3x7 | 1.0.0 – 1.0.8 | ratsy toetra |
| npm | runtime-metrics-w7k2 | 1.0.0 | ratsy toetra |
| npm | build-tracker-n5p1 | 1.0.0 | ratsy toetra |
| npm | npm-sandbox-ping-r9t2 | 1.0.0 | ratsy toetra |
| npm | pkg-telemetry-r4f9 | 1.0.0 | ratsy toetra |
Network
| Type | famantarana | Fanamarihana |
|---|---|---|
| IP | 173.255.233[.]239 | Mpanangona C2; Linux recon POST sy Windows fallback :443 |
| Domain | diameter-coins-limitations-parents.trycloudflare[.]com | Lakandrano baiko Windows amin'ny alàlan'ny tonelina Cloudflare, :443 |
| Lalan'ny URI | /c2/poll, /c2/out, /c2/eof | Fanontaniana / famoahana / fanakatonana baiko Windows |
| IP | 169.254.170[.]2 | Nojerena avy amin'ny "install hook" ny "endpoint" metadata-instance an'ny AWS ECS |
fihetsika
| Signal | Description |
|---|---|
| hametraka hooks | preinstall sy postinstall samy mihazakazaka node run.js |
| Fandefasana sehatra | run.js mihazakazaka beacon_linux.js amin'ny Linux, beacon34.js / beacon18.js amin'ny Windows |
| Famerenana Linux | Mitanisa ny anaran-dehibe env-var, mamaky /proc, seky docker.sock, mihazakazaka hostname / whoami, fitiliana IMDS |
| Haavon'ny varavarankely | ms-settings DelegateExecute Fandalovana UAC amin'ny rejisitra; PowerShell -ExecutionPolicy Bypass + Invoke-Expression; miasa toy ny SYSTEM |
| Hody olon-kafa | Milaza ny README fa "tsara" "nahazoana alalana" ny fikarohana ary "tsy misy fikirizana"; manondro anaran'ny fonosana izay tsy alefany |
Fitondran-tena voamarika sy ny fanombanana
Ny famantarana ataony ihany no mamaritra ny mpamoaka lahatsoratra ary tsy milaza ny mombamomba ny olona ao ambadiky ny kaonty izahay.
- Katalogy famantarana. Navoakan'ny kaonty npm iray ihany avokoa ireo fonosana enina ireo, npmresearch8847, miaraka amin'ny mailaka voalaza npmresearch8847@web-library.net (mailaka sy SCM (Tsy misy fanamarinana; tsy mbola nohamarininay ny tompony). Ny READMEs dia avoaka eo ambanin'ny @ncurran sehatra ary manome fifandraisana amin'ny nicholas@curran.tech, ary run.js teboka ao amin'ny tahiry github.com/ncurran/npm-sandbox-research`. Mitovy ny fomba fiasan'ireo fonosana enina ireo. run.js mpitatitra, mahazatra beacon_linux.js sehatra recon, ary ny mpampiantrano mpanangona tokana 173.255.233[.]239`. Mifanaraka tsara ny tetika fanomezana anarana: fototeny mitovy feo amin'ny CI (mari-pandrefesana, telemetry, mpanara-maso ny fananganana, ping amin'ny boaty fasika) miampy tovana fohy kisendrasendra.
- Matoky. Toa fampielezan-kevitra iray ihany ireo fonosana enina ireo, izay mampiasa ny "shared dispatcher", ny "recon stage", ary ny C2 host. Toa mitovy amin'ny README enina rehetra ny fomba fiasa "fikarohana nahazoana alalana". Tsy afaka nanamarina izahay fa nisy programa "bug-buying bounty" nanome alalana ity hetsika ity, ary tsy mifanaraka amin'ny kaody nalefa ny filazan'ny "disclaimer".
- Fahaiza-manao voamarika. Ny mpampiasa entanaciskilasy fahaiza-manao efatra: fanatanterahana kaody install-hook amin'ny roa tonta preinstall sy aorian'ny fametrahana; fanaraha-maso ny tontolo iainana mpampiantrano sy CI miaraka amin'ny fivoahana mankany amin'ny mpanangona ivelany; fikarohana ny fahafahan'ny metadata-instance cloud avy amin'ny sehatry ny fametrahana; ary, amin'ny Windows, fampitomboana ny tombontsoa eo an-toerana, fanatanterahana araka ny RAFITRA, ary ny fihodinan'ny baiko "fetch-and-run" amin'ny alalan'ny fantsona ivelany. Ny fihodinan'ny baiko Windows dia fahaiza-manara-maso lavitra: mikaroka toromarika izy ary mamerina ny vokatra azo.
Fiantraikany, fironana & izay tokony hataon'ny mpiaro
Impact
Ny fampiasana azy no avo indrindra amin'ny tontolo fanamboarana mandeha ho azy. Ny fametrahana npm ao amin'ny CI no mitantana ny tsingerim-piainana. hooks miaraka amin'izay maha-izy azy ananan'ny mpihazakazaka; amin'ny mpihazakazaka rahona, io maha-izy azy io dia matetika ahitana teboka metadata azo tratrarina sy fahazoan-dàlana andraikitra. Ny adiresy izay tadiavin'ny Linux beacon, 169.254.170[.]2, no teboka farany amin'ny metadata-asa AWS ECS: ny asa iray izay afaka mahatratra azy dia mazàna afaka maka ny fahazoan-dàlana vonjimaika an'ny andraikiny amin'ny asa avy amin'ny serivisy rohy-local mitovy. Ny fanamarinana ny fahafaha-manatona avy ao anatin'ny script fametrahana no dingana mialoha ny fisintonana ireo fahazoan-dàlana ireo, ka ny mpihazakazaka rehetra izay nampiasa ny hook ary afaka mahatratra io teboka farany io dia tokony hoheverina ho efa niharihary ny andraikiny amin'ny asa. Amin'ny mpamorona Windows na mpampiantrano fananganana, ny payload dia mangataka ny elevation ary manokatra fantsona baiko, izay manitatra ny exposure avy amin'ny profil-and-exgress tokana mankany amin'ny fanaraha-maso lavitra interactive.
Tsy afaka nahazo isa azo antoka momba ny fisintonana ireo dikan-teny ratsy izahay talohan'ny nanesorana azy, ka tsy tombananay ny isan'ny niharam-boina. Ny famoahana haingana ny roa tamin'ireo fonosana — dikan-teny iraika ambin'ny folo sy sivy tao anatin'ny ora vitsivitsy — dia nitazona ireo rakitra vaovao teo anoloan'ireo installer sy resolver raha mbola nesorina ireo dikan-teny taloha.
Modely mipoitra
Ity vondrona ity dia ohatra iray amin'ny marika ampiasaina ho toy ny fonony. Ny "fikarohana nahazoana alalana", "bug bounty", ary "sandbox testing" dia mihamaro hatrany mifamatotra amin'ny fonosana izay tsy vitan'ny hoe manao profil fotsiny ny mpampiantrano ny script fametrahana. Ny frame dia mifanakalo amin'ny fisalasalan'ny mpandinika hanao zavatra manohitra zavatra izay manambara ny tenany ho nahazo alalana. Miaraka amin'ny tetika faharoa mahazatra izany: ny anaran'ny fonosana namboarina mba hitovy amin'ny fitaovana CI anatiny mba tsy hojerena haingana ny hazo fiankinan-doha. Ny fitambarana no mahatonga ny lamina ho mendrika hojerena - anarana izay vakiana ho toy ny fantson-drano fotodrafitrasa, nofonosina lahatsoratra izay vakiana ho toy ny fitsapana nahazo alalana, manoloana ny hook fametrahana izay miakatra amin'ny rafitra fiasana iray ary mikaroka ny fahazoan-dàlana rahona amin'ny iray hafa. Na ny fanambarana na ny anarana tsotra dia tsy manova izay ataon'ny kaody amin'ny fametrahana, ary ny dingana triage izay mandanja ny iray amin'izy ireo ho porofo manalefaka dia tsy hahatratra ny didim-pitsarana diso.
Izay tokony hataon'ny mpiaro
- Tadiavo ao amin'ny lockfiles ary apetraho ny logs mba hahitana ireo anaran'ny fonosana enina; raiso ho toy ny tranga ny lalao rehetra, fa tsy ho toy ny fampitandremana.
- Manakana sy mampitandrina momba ny fifamoivoizana mivoaka mankany 173.255.233[.]239 and to *.trycloudflare[.]com mpampiantrano avy amin'ny fananganana fotodrafitrasa.
- Mikaroka fangatahana HTTP amin'ny fotoana fametrahana mankany amin'ny adiresy metadata-instance (169.254.170.2, 169.254.169.254) avy amin'ireo mpitantana fonosana ao amin'ny CI.
- Ahodino izay fahazoan-dàlana sy token anjara asan'ny rahona izay azo avy amin'ny mpihazakazaka nametraka dikan-teny voakasik'izany.
- Hanaraha-maso preinstall/aorian'ny fametrahana script ao amin'ny anao fametrahana fiankinan-doha; mendrika hovakiana ny hook amin'ny tsingerim-piainana izay mampandeha rakitra script faharoa.
- Ao amin'ny Windows endpoints, tadiavo ny vaovao DelegateManatanteraka soatoavina voasoratra eo ambanin'ny ms-setting shell-handler key — ny elevation primitive ampiasain'ity payload ity sy ny signal azo itokisana tsy miankina amin'ny anaran'ny fonosana.
- Tsindrio ary avereno jerena ireo rakitra mihidy, ary esory ny script fametrahana (npm fametrahana --tsy miraharaha-scripts) ao amin'ny CI izay tsy ilain'ny fanangananao azy ireo.
- Hevero ho lahatsoratra tsy azo itokisana ny fanambarana "fikarohana nahazoana alalana" na "tsy mampidi-doza" ao anatin'ny script fametrahana, fa tsy ho antony hamelana ny script.
Fonosana iray manambara fikasana tsara amin'ny alalan'ny lahatsoratra sy fangatahana RAFITRA ao amin'ny kaody dia tokony hotsaraina amin'ny kaody.







