TanStack Query npm pakotne, kas mērķēta, izmantojot kompromitētu OpenAPI koda ģenerēšanas rīku

Pēdējā atjaunošana: 08/29/2026
  • Vairāki apdraudēti laidieni @7nohe/openapi-react-query-codegen injicēja ļaunprogrammatūru projektos, izmantojot uz TanStack vaicājumiem balstītus āķus.
  • Uzbrucējs ļaunprātīgi izmantoja binding.gyp smilšu kastes aizbēgšana un iepriekšinstalēt skriptus, lai npm instalēšanas laikā izpildītu apmulsinātu JavaScript lietderīgo slodzi.
  • Kravnesība apkopo plašus mākoņdatošanas un izstrādātāju akreditācijas datus, nogādājot tos uzbrucēju kontrolētās GitHub krātuvēs.
  • Nozagtie žetoni pēc tam tiek izmantoti, lai izplatīt ļaunprogrammatūru vairākās npm pakotnēs un GitHub repozitorijos, saindējot plašāku JavaScript piegādes ķēdi.

TanStack Query npm pakotnes ilustrācija

Komandām, kas paļaujas uz TanStack Query kā savu galveno npm pakotni servera stāvokļa pārvaldībai React un citos front-end ietvaros, nesen notikušais piegādes ķēdes incidents parāda, cik ātri šī uzticēšanās var tikt apdraudēta. Populārs pavadošais rīks, kas īpaši izstrādāts, lai ģenerētu tipam drošus TanStack Query āķus no OpenAPI shēmām, tika nemanāmi pārvērsts par ieroci un ievietots npm reģistrā ar iebūvētu sarežģītu ļaunprogrammatūras lietderību.

Drošības pētnieki uzbrukumu raksturo kā TeamPCP stila kampaņu , kas atkārtoti izmanto daudzas teatrālās un tehniskās shēmas, kas novērotas iepriekšējos incidentos. Tomēr šoreiz uzmanības centrā ir izstrādātāji, kuri veido savu datu slāni, izmantojot pakotni @7nohe/openapi-react-query-codegen — utilītu, kas sola ietaupīt laiku, automātiski ģenerējot TanStack vaicājumu āķus, nevis rakstot standarta tekstu manuāli.

estado estable de javascript 2025
Saistītais raksts:
Mūsdienu JavaScript stabilais stāvoklis

Kā TanStack Query koda ģenerators kļuva par ļaunprogrammatūras piegādes līdzekli

Incidenta centrā esošā pakotne @7nohe/openapi-react-query-codegen ir izstrādāta, lai pielāgotos OpenAPI specifikācijai un ģenerētu pilnībā tipizētus āķus, kas ir saderīgi ar TanStack Query. Ar vairāk nekā 150 000 lejupielādēm nedēļā tā ir kritiski svarīga daudzām komandām, kuras standartizē TanStack Query, lai organizētu datu iegūšanu, kešatmiņu un sinhronizāciju savās React balstītajās front-end sistēmās.

Saskaņā ar pēcizmeklēšanas datiem uzbrucējam izdevās apdraudēt gan npm pakotni, gan tās GitHub repozitoriju . Pārkāpums tika panākts, izmantojot ievainojamību vienā no projekta GitHub Actions darbplūsmām, kas nozīmēja, ka ļaunprātīgās versijas joprojām šķita nākušas no likumīga CI cauruļvada un piegādātas ar derīgiem izcelsmes apliecinājumiem. Šie kriptogrāfiskie apliecinājumi, kas parasti ir spēcīgs uzticības signāls npm lietotājiem, kļuva maldinoši, kad pati darbplūsma nonāca naidīgā kontrolē.

Aptuveni divdesmit minūšu laikā uzbrucējs publicēja desmit inficētas pakotnes versijas pakalpojumā npm, katra no tām saturēja kodu, kas paredzēts izpildei instalēšanas laikā un daudzpakāpju ļaunprogrammatūras palaišanai. Skartās versijas aptver vairākas nelielas un ielāpu versijas, kuras visas tagad būtu jāuzskata par neuzticamām.

  • @7nohe/openapi-react-query-codegen@0.5.4
  • @7nohe/openapi-react-query-codegen@0.5.5
  • @7nohe/openapi-react-query-codegen@1.6.3
  • @7nohe/openapi-react-query-codegen@1.6.4
  • @7nohe/openapi-react-query-codegen@2.2.1
  • @7nohe/openapi-react-query-codegen@2.2.2
  • @7nohe/openapi-react-query-codegen@3.0.3
  • @7nohe/openapi-react-query-codegen@3.0.4
  • @7nohe/openapi-react-query-codegen@0.0.0-365d4eb738d3146583431948d3ba6e27a32556be
  • @7nohe/openapi-react-query-codegen@0.0.0-ec7876d6c917dad516ba69bbfafc948b834bf0ab

Visiem šiem variantiem ir viens un tas pats pamatmērķis: izmantot pakotnes popularitāti TanStack Query lietotāju vidū, lai panāktu koda izpildi npm instalēšanas laikā un pēc tam izplatītos plašākā JavaScript piegādes ķēdē.

“Trinitite” lietderīgā slodze un tās instalēšanas laika izpildes triki

Ļaunprogrammatūra sevi identificē ar ironisku apzīmējumu “Trinitite: sponsorē Preview 2 Effects”, atsauce uz stiklveida materiālu, kas izveidojies kodolizmēģinājumu rezultātā. Agrāki iekšējie rakstības nosaukumi, piemēram, is_it_this_simple.js norāda uz uzbrucēja vieglprātīgo attieksmi, taču pamatā esošā tehnika nebūt nav vienkāršota.

Primārais izpildes āķis ir balstīts uz binding.gyp smilšu kastes aizbēgšanaParastos Node.js projektos binding.gyp tiek izmantots, lai konfigurētu node-gyp kompilētos papildinājumus, bet šeit tas ir ierocis. Kad npm sastopas ar binding.gyp failu, node-gyp novērtē tā conditions laukā, izmantojot Python. Uzbrucējs šajā laukā ievieto rūpīgi izveidotu Python izteiksmi, izmantojot Python klases hierarhiju, lai izlauztos no paredzētās smilškastes un palaistu patvaļīgas čaulas komandas.

Apdraudētajā pakotnē nosacījumu izteiksme ir stipri sajaukta ar Unikoda un heksadecimāldaļas atsoļiKad tas ir dekodēts, tas apstrādā Python iekšējos __subclasses__ koks, lai atrastu catch_warnings klase, izmanto to kā pagrieziena punktu, lai sasniegtu __builtins__, importē os moduli un visbeidzot izsauc os.system() lai palaistu galveno lietderīgo slodzi ar Node. The type lauks failā binding.gyp ir heksadecimālkodā kā none, tāpēc netiek mēģināts veikt īstu vietējo būvējumu; konfigurācija pastāv tikai vienas čaulas komandas ievietošanai.

Šī pieeja nozīmē, ka pakotne var instalēšanas laikā izpildīt ļaunprātīgu kodu pat ja nav skaidra preinstall skripts, kas definēts failā package.json. Tomēr ne visas saindētās versijas paļaujas uz tieši šo triku. Divas pirmsizlaides versijas izmanto vienkāršākus pirmsinstalēšanas āķus: viena izpilda Node skriptu ar nosaukumu nu.js tieši, bet cits ielādē Bun izpildlaiku, izmantojot wget pa caurulīti uz bash un pēc tam palaiž atbilstoši nosaukto is_it_this_simple.jsVēlākās versijas apvieno abas metodes, nosūtot ļaunprātīgu saistījumu.gyp. un a preinstall ieraksts norāda uz to pašu galveno JavaScript lietderīgo slodzi redundances nolūkos.

Aptumšošanas slāņi un smilškastes apiešana galvenajā JavaScript lietderīgajā slodzē

Kad sākotnējais āķis tiek aktivizēts, uzbrukums pārvēršas lielā JavaScript failā ar nosaukumu 3FWCvzduYZg.js , kas tiek ievietots npm pakotnes saknē. Aptuveni 5.4 MB lielais un līdz vienai rindai samazinātais skripts ir izstrādāts tā, lai tas būtu pēc iespējas necaurredzamāks, un turpmākā analīze liecina, ka to aizsargā vairāki atšķirīgi šifrēšanas un maskēšanas slāņi.

Ārējais slānis sastāv no 1.6 miljonu elementu veselu skaitļu masīvs, atšifrēts ar vienkāršu XOR pret konstanti 29. Šī atšifrēšana dod sekundāru skriptu, kura uzdevums ir klusi izgūt Bun izpildlaiku, saglabājot to ar pagaidu faila nosaukumu ar trinnyyyy-XXXXX modeli sistēmas pagaidu direktorijā un pēc tam izmanto Bun, lai izpildītu reālo kodola vērtumu. Pats kodols tiek ietīts ar AES-128-GCM šifrēšanu un pēc tam nodots caur pielāgotiem šifriem papildus standarta JavaScript slēpšanas metodēm, tostarp tām, kas redzamas populāros rīkos, piemēram, obfuscator.io.

Pilnībā izpakotā veidā šī dziļi slāņotā lietderīgā slodze atklāj virkni iespēju: akreditācijas datu apkopotāju, kas mērķēts uz plašu mākoņdatošanas un izstrādātāju platformu klāstu, tārpa komponentu, kas spēj izplatīt infekciju jauniem mērķiem, un destruktīvu komandu kanālu. Pirms jebkura no šīm darbībām aktivizēšanas skripts veic virkni vides pārbaužu, lai izvairītos no "smilškastēm" un drošības rīkiem, un klusi aizveras, ja tiek izpildīti noteikti brīdinoši nosacījumi.

Starp pārbaudēm ir lokalizācijas, vides un failu sistēmas indikatori parasti saistīts ar pētniecības vidēm. Ļaunprogrammatūra izglābjas, ja sistēmas lokalizācija ir krievu, ja ir direktoriji, kas pieder galapunktu drošības produktiem, piemēram, CrowdStrike, SentinelOne vai Carbon Black, ja pašreizējais darba direktorijs atbilst ceļiem, ko izmanto zināmi piegādes ķēdes skenēšanas rīki, vai ja vides mainīgie satur viltotus akreditācijas datus, ko izmanto drošības skeneri. Tā arī aplūko GITHUB_REPOSITORY_OWNER un tādu drošības rīku kā StepSecurity klātbūtne harden-runner, izvairoties no GitHub kontiem, par kuriem zināms, ka tie pieder drošības pētniekiem.

Ko ļaunprogrammatūra nozog no TanStack vaicājumu izstrādes vidēm

Kad vides pārbaudes ir izturējušas, ļaunprogrammatūra sāk vākt akreditācijas datus, izmantojot plašu tīklu. Lai gan sākotnējā pakotne ir veidota kā palīgs TanStack Query lietotājiem, faktiskā mērķa virsma sniedzas tālu aiz vienas bibliotēkas robežām, skarot gandrīz katru mūsdienu JavaScript izstrādātāja rīku ķēdes un mākoņpakalpojumu steka slāni.

Izstrādātāja pusē lietderīgā slodze skenē GitHub personiskās piekļuves žetoni vairākos formātos, tostarp klasiskajos žetonos, kas sākas ar gho or ghp un jaunāki smalkgraudaini žetoni, kas sākas ar github_pat_GitHub darbību izpildītājos tas arī pieprasa OpenID Connect žetonus, izmantojot dokumentēto ACTIONS_ID_TOKEN_REQUEST_TOKEN un ACTIONS_ID_TOKEN_REQUEST_URL vides mainīgie, dodot uzbrucējam ceļu pieņemt darba slodzes identitātes, nevis tikai statiskus noslēpumus.

Pēc tam skripts pāriet uz vispārpieņemtām valodu reģistriem. Tas skan npm, PyPI un RubyGems žetoni no konfigurācijas failiem, piemēram, ~/.npmrc, meklē papildu lokālos projektus .npmrc failus un mēģina validēt atklātos npm nesēja žetonus, izsaucot /-/whoami galapunkts publiskajā reģistrā. Līdzīgi modeļi tiek izmantoti PyPI un RubyGems, iegūstot autentifikācijas datus un apstiprinot, ka katrs marķieris var veiksmīgi sazināties ar attiecīgo reģistru pirms tā izvilkšanas.

Mākoņa ietekme ir vēl lielāka. Amazon Web Services ļaunprogrammatūra uzskaita vides mainīgos, piemēram, AWS_ACCESS_KEY_ID un AWS_SECRET_ACCESS_KEY, parsē ~/.aws/credentials un ~/.aws/configun veic vaicājumu EC2 instances metadatu pakalpojumam vietnē 169.254.169.254, dodot priekšroku IMDSv2, bet nepieciešamības gadījumā atgriežoties pie iepriekšējās versijas. Konteineru darba slodzēm tas sazinās ar ECS metadatu galapunktu vietnē 169.254.170.2Visas atgūtās akreditācijas vai pagaidu pilnvaras tiek pārbaudītas atbilstoši sts:GetCallerIdentity lai apstiprinātu derīgumu pirms ievietošanas rindā eksfiltrācijai.

Līdzīga loģika pastāv arī citiem mākoņpakalpojumu sniedzējiem. Skripts var apkopot Azure klienta akreditācijas dati un pārvaldītās identitātes, Ieskaitot AZURE_CLIENT_ID, AZURE_CLIENT_SECRET un AZURE_TENANT_IDun pēc autentifikācijas piekļūstiet Azure Key Vault, Azure Resource Manager un Microsoft Graph. Google Cloud gadījumā tas meklē GOOGLE_APPLICATION_CREDENTIALS failus, veic vaicājumu GCP metadatu serverī vietnē metadata.google.internal un, ja iespējams, izmanto iegūtos tokenus, lai izsauktu Google Secret Manager. Sarakstā ir arī HashiCorp Vault izvietojumi: lietderīgā slodze meklē Vault adreses un tokenus, izmantojot vides mainīgos un tokenu failus, un pēc tam pārbauda Vault HTTP API, lai uzskaitītu pieejamos noslēpumus.

Papildus mākoņa IAM ļaunprogrammatūra veic plašu darbību failu sistēmas slaucīšana, izmantojot vairāk nekā 150 globālus modeļusTas meklē SSH privātās atslēgas, Docker konfigurācijas, .env faili, Git akreditācijas datu krātuves, .npmrc un .pypirc failus, Terraform un kravas akreditācijas datus, čaulas vēstures failus, kriptovalūtas maka datus un konfigurācijas direktorijus plaši izmantotām ziņojumapmaiņas lietotnēm, piemēram, Signal, Telegram Desktop, Discord, Slack un Element. Tas arī pārbauda VPN konfigurācijas failus no tādiem pakalpojumiem kā NordVPN, ProtonVPN, CyberGhost, PIA un citiem, kā arī žetonus un domēnus bināro krātuvju pārvaldniekiem, piemēram, JFrog Artifactory.

Izfiltrācija, izmantojot GitHub repozitorijus un “ņau ņau ņau” izmaiņu ierakstus

Pēc visu šo noslēpumu savākšanas ļaunprogrammatūrai ir nepieciešama vieta, kur tos nosūtīt. Tā vietā, lai izmantotu fiksētu komandu un vadības domēnu, ko varētu viegli bloķēt, uzbrucēji paļaujas uz publiskajām GitHub krātuvēm kā eksfiltrācijas kanālu , sapludinot nozagtos datus ar parasto izstrādātāju datplūsmu.

Vispirms lietderīgā slodze pārmeklē GitHub publiskajā izmaiņu vēsturē ziņojumus, kas atbilst noteiktam modelim, kurā redzamā vietā ir iestrādāts šifrēts marķieris, izmantojot frāzi, kas lietotājus norāj par tā atsaukšanu. Kad šāds izmaiņu fails ir atrasts, ļaunprogrammatūra atšifrē iestrādāto marķieri un izmanto saistīto kontu, lai izveidotu jaunu krātuvi, kurā tiks glabāti nozagtie dati. Šī netiešā ietekme nozīmē, ka no viena upura ņemtie akreditācijas dati tiek saglabāti krātuvēs, kas tehniski pieder citam GitHub lietotājam, apgrūtinot kompromitēto krātuvju tīkla izsekošanu līdz vienai uzbrucēja identitātei.

Jaunizveidotajām krātuvēm ir dīvaini, automātiski ģenerēti nosaukumi sastāv no diviem Touhou Project sērijas varoņiem un nejauša skaitļa, kā rezultātā rodas šādas kombinācijas: cirno-marisa-74291 or reimu-kogasa-12048To aprakstos ir izmantota tā pati frāze “Trinitite: Sponsored by Preview 2 Effects”, kas redzama vērtumā, nodrošinot vienu no retajām skaidrajām atzīmēm aizstāvjiem, kuri mēģina identificēt šīs krātuves plašā mērogā.

Nozagtās akreditācijas dati tiek saglabāti kā šifrēti JSON faili results/ direktorijā, izmantojot failu nosaukumus, kas sākas ar doubletrinnys- kam seko skaitītājs un laika zīmogs. Katrā failā ir envelope lauks, kurā atrodas šifrēta datu pakete, un key lauks, kurā atrodas pati šifrēšanas atslēga, kas tālāk ietīta, izmantojot uzbrucēja RSA publisko atslēgu. No nejauša skatiena tie izskatās kā patvaļīgi šifrēti objekti. Tikai kāds ar atbilstošu privāto atslēgu var mainīt procesu, tāpēc pat ja krātuves tiek atrastas, faktiskie noslēpumi paliek neskaidri trešajām personāmSaistītie ziņojumi parasti ir īsi un vieglprātīgi, un tajos atkārtoti tiek izmantotas tādas virknes kā “ņau ņau ņau”.

Tārpu līdzīga izplatīšanās citās npm pakotnēs un GitHub projektos

Viens no satraucošākajiem Trinitite kampaņas aspektiem ir tās spēja atkārtoti izmantot nozagtus tokenus, lai apdraudētu papildu pakotnes un repozitorijus . Tā vietā, lai ierobežotu sevi ar sākotnējo TanStack Query koda ģeneratora pakotni, ļaunprogrammatūra uzvedas kā tārps, sistemātiski meklējot veidus, kā izplatīties.

Ar derīgu npm marķieri rokās lietderīgā slodze veic vaicājumu npm API, lai uzskaitītu visus ar kontu saistītos marķierus, atlasot visprivileģētāko publicēšanas marķieri. Pēc tam tā veic meklēšanu katrā uzturētāja īpašumā esošajā pakotnē, lejādē katrai esošajai tarball un ievieto pakotnes saturā to pašu binding.gyp sandbox escape un galveno lietderīgās slodzes failu. Pēc modifikāciju veikšanas tā publicē jaunu versiju npm ar likumīgā uzturētāja vārdu, faktiski pārvēršot uzticamas pakotnes par jauniem infekcijas vektoriem . Līdzīga darbība tiek ieviesta PyPI un RubyGems, izmantojot to attiecīgos augšupielādes galapunktus, un izejošajos pieprasījumos ir atspējotas TLS sertifikātu pārbaudes, lai izvairītos no klienta puses piespraušanas problēmām.

GitHub repozitoriji tiek apstrādāti līdzīgā veidā. Kad ļaunprogrammatūra iegūst GitHub marķieri ar pietiekamu darbības jomu, tā uzskaita visus pieejamos repozitorijus un atzarus, izlaižot dažus zināmus automatizācijas atzarus, piemēram, tos, kuru prefikss ir release/, dependabot/, renovate/ or copilot/Atlikušajām filiālēm tā ievieš rūpīgi atlasītu failu kopu, kas kalpo gan kā aizmugurējās durvis, gan kā āķi mūsdienu izstrādes rīkos.

Starp tiem ir VS Code un Claude konfigurācijas faili ar aizmugures durvīm, Ieskaitot .vscode/tasks.json, .claude/settings.json un tādi skripti kā setup.mjs kas tiek izpildīti, kad izstrādātājs atver projektu noteiktos mākslīgā intelekta atbalstītos redaktoros. Ļaunprogrammatūra arī izmet viltotu .github/workflows/codeql.yml darbplūsma, kas maskējas kā drošības skenēšana, vienlaikus nodrošinot vēl vienu kanālu koda izpildei CI iekšienē. Papildu faili ir paredzēti citiem redaktoriem un rīkiem, piemēram, Gemini, Cursor un dažādiem koda palīgiem, palīdzot uzbrucējam saglabāt neatlaidību neatkarīgi no tā, kur izstrādātāji faktiski strādā.

Katrs no šiem grozījumiem ir autorizēts saskaņā ar github-actions identitāte ar ziņojumiem, kas izskatās pēc ikdienas apkopes, piemēram, “darbs: atjaunināt atkarības” un piekabes karodziņš skip-checks:true lai paslīdētu garām nepieciešamajām pārbaudēm. Aizņemtai komandai, kas acumirklī pārskata izmaiņu žurnālus, šīs izmaiņas var viegli sajaukt ar nekaitīgi automatizācijas atjauninājumi.

Kompromitācijas indikatori komandām, kas izmanto TanStack vaicājumu rīkus

Organizācijām, kas izmanto TanStack Query un ir integrējušas @7nohe/openapi-react-query-codegen savā darbplūsmā, iespējamās iedarbības identificēšana sākas ar versiju un failu līmeņa indikatoriem, ko tagad ir izcēluši vairāki avoti. Šīs norādes var palīdzēt noteikt, kuri projekti, iespējams, instalēšanas laikā ir palaiduši kompromitēto kodu.

Jebkura iepriekš uzskaitīto skarto @7nohe/openapi-react-query-codegen versiju lietošana jāuzskata par aizdomīgu, īpaši, ja būvējumi tika veikti koplietojamā CI infrastruktūrā vai izstrādātāju klēpjdatoros ar piekļuvi sensitīviem akreditācijas datiem. Drošības komandām ieteicams pārbaudīt bloķēšanas failus, package.json vēsturi un būvējumu žurnālus, lai apstiprinātu, vai šie laidieni jebkad ir tikuši ievilkti ražošanas vai izstrādes vidē.

Diskā galvenā kompromitācijas pazīme ir 3FWCvzduYZg.js faila klātbūtne pakotnes saknē . Izmeklētāji ir katalogizējuši vairākus SHA-256 hešus, kas saistīti ar dažādiem šī skripta apslēptiem būvējumiem, un tie visi ir saistīti ar vienu un to pašu pamatā esošo funkcionalitāti:

  • 8e5d1af68ca340ae0c6e8132cb00c686ec2d60502c1994d94ce353d1472ad5a3
  • b49afb7dba04cd99b357ce7c652c823a3707f28e130bd5c6645851a7adc030d6
  • 59370c67b54a0ccaedd265e2356f04540b2fba1e1845300ef6de4d5437d99380
  • 778d6f0058045d6a2ab9a7e1d3e3be8e7e6b4d9cc217d13949bf1dfbab759a7c
  • b24d121667f21f492cb9db34fbfd515d5922a8dd30b9c45215c7220abbb10ca8
  • e1f1162ece9a6e6ea21a20399cbf31c563a8149d433a68711f4223870c203d5a
  • b6012b2ff87f08f93ee53921c48db907ddbcf5461b03bb988083b01a36886237
  • 709af2fdeb50324229e94c44c679a0fab18bd8e17d3864405989c526cbb63ad8

Turklāt daudzi inficētie resursdatori izveido pagaidu direktorijus ar nosaukumiem, kas sākas ar trinnyyyy- kam seko īsa nejaušu burtciparu rakstzīmju virkne sistēmas pagaidu mapē. Lai gan šis modelis pats par sevi nepierāda kompromitēšanu, apvienojumā ar aizdomīgu binding.gyp failu un vienu no zināmajām lietderīgās slodzes jaucējkodiem tas ievērojami palielina iespējamību, ka šajā sistēmā ir izpildīta Trinitite ļaunprogrammatūra.

Daži drošības pakalpojumu sniedzēji jau ir iekļāvuši šos indikatorus savās noteikšanas plūsmās. Piemēram, platformas, kas koncentrējas uz izstrādātāju rīkiem un piegādes ķēdes drošību, tagad atzīmē jebkuru repozitoriju vai projektu, kas importē skartās versijas, kā kritisku ļaunprogrammatūras problēmu , bieži vien novērtējot to ar maksimālo nopietnības līmeni, lai nekavējoties sāktu izmeklēšanu. Komandas tiek mudinātas veikt atkārtotu skenēšanu visās savās organizācijās, īpaši vidēs, kur TanStack Query ir lietojumprogrammu arhitektūras centrālais elements un tiek plaši izmantoti koda ģenerēšanas rīki.

Parādās specializēti rīki un atvērtā pirmkoda utilītas, kas darbojas npm, yarn, pnpm un saistīto pakotņu pārvaldnieku priekšā, pirms instalēšanas pārbaudot pakotņu versijas, salīdzinot tās ar atlasītām informācijas plūsmām. Ideja ir pārtvert ļaunprātīgas vai aizdomīgas pakotnes, īpaši tās, kas saistītas ar šādiem incidentiem, pirms tās nonāk sistēmā. node_modules, samazinot risku, ka kompromitēta palīgbibliotēka var netieši atklāt TanStack vaicājumu darbināmas lietojumprogrammas un ar tiem saistīto infrastruktūru.

Izstrādātāju komandām šis incidents uzsver, kā šķietami nekaitīga ērtību pakotne — tāda, kas vienkārši ģenerē tipizētus āķus TanStack Query no OpenAPI specifikācijas — var kļūt par spēcīgu uzbrukuma vektoru, ja tiek traucēta tās CI cauruļvada un izplatīšanas kanāla darbība. Aizsardzības pasākumiem tagad ir jāietver ne tikai galveno lietojumprogrammu atkarību pārbaude, bet arī ģeneratori, komandrindas saskarnes un automatizācijas skripti, kas nemanāmi ietekmē to, kā šīs atkarības tiek izmantotas katru dienu.

Related posts: