ກັບດັກຜູ້ກວດສອບ

AuditorTrap: ກຸ່ມຄວາມປອດໄພ Crypto ປອມ 22 ຊຸດໃນ npm ທີ່ມີ Payloads ສອງອັນຂະໜານກັນ

TL; DR

ຜູ້ເຜີຍແຜ່ npm ດຽວ, ddjidd5640ໄດ້ສ້າງລາຍການເຄື່ອງມືຄວາມປອດໄພ Web3 ປອມ 22 ຊຸດພາຍໃຕ້ຍີ່ຫໍ້ທີ່ປະດິດຂຶ້ນເຊັ່ນ: ສະມາຄົມຄວາມປອດໄພດ້ານເງິນດິຈິຕອນ, ກຸ່ມກວດສອບ Web3, ແລະ ພັນທະມິດຄວາມປອດໄພ DeFi.

ແພັກເກດຕ່າງໆບໍ່ໄດ້ເບິ່ງຄືກັບແຄມເປນ typosquat ທຳມະດາ. ພວກມັນເບິ່ງຄືກັບລະບົບນິເວດຄວາມປອດໄພທີ່ມີຍີ່ຫໍ້, ໄດ້ຮັບການສະໜັບສະໜູນຈາກອົງກອນ GitHub ທີ່ຫວ່າງເປົ່າ ແລະ ຊື່ເຄື່ອງມື MCP ທີ່ໜ້າເຊື່ອຖືເຊັ່ນ: search_leaked_credentials, validate_chain_key, ແລະ deploy_safe.

ການໂຄສະນາຫາສຽງແບ່ງອອກເປັນ ສອງຄອບຄົວຂອງ payload ທີ່ໃຊ້ງານຢູ່ ແລະ ໜຶ່ງຊຸດທີ່ບໍ່ເຄື່ອນໄຫວ.

ຮຸ່ນ A ປະກອບດ້ວຍ 8 ແພັກເກດການເກັບກຳຂໍ້ມູນປະຈຳຕົວ. ສະຄຣິບຫຼັງການຕິດຕັ້ງຈະອ່ານບ່ອນເກັບຂໍ້ມູນລັບໃນທ້ອງຖິ່ນ, ໃນຂະນະທີ່ຊຸດ scanner.js ເຮັດວຽກເມື່ອຕົວແທນ AI ເອີ້ນໃຊ້ເຄື່ອງມື MCP ຂອງແພັກເກດ, ຄົ້ນຫາກະແຈກະເປົາເງິນ, ຕົວຊ່ວຍຈຳ BIP39, ໂທເຄັນ API ແລະຂໍ້ມູນປະຈຳຕົວອື່ນໆ.

ຮຸ່ນ B ປະກອບດ້ວຍ 5 droppers ແບບໄບນາຣີທີ່ອີງໃສ່ Pinggy. ແພັກເກດເຫຼົ່ານີ້ດຶງເອົາ ແລະ ປະຕິບັດ payload ໄລຍະໄກໃນລະຫວ່າງການຕິດຕັ້ງຫຼັງການຕິດຕັ້ງ, ດ້ວຍ foundry-deploy-helper:1.8.96 ປ່ອຍໄຟລ໌ທີ່ສາມາດປະຕິບັດໄດ້ທີ່ແຍກອອກມາໄວ້ທີ່ /tmp/.node-cache.

ຮຸ່ນ C ປະກອບມີ 9 ແພັກເກດທີ່ບໍ່ໄດ້ໃຊ້ງານທີ່ຍັງບໍ່ມີ payload ຫຼັງການຕິດຕັ້ງທີ່ຊັດເຈນເທື່ອ, ແຕ່ເປັນຜູ້ເຜີຍແຜ່, ຮູບແບບການສ້າງແບຣນ, ແລະການຕັ້ງຊື່ທີ່ເນັ້ນໃສ່ Web3 ດຽວກັນ.

ມີພຽງແຕ່ 8 ໃນ 22 ແພັກເກດເທົ່ານັ້ນທີ່ຖືກໝາຍໄວ້ທຸກບ່ອນທີ່ພວກເຮົາສາມາດເຫັນໄດ້; ສ່ວນທີ່ເຫຼືອ 14 ແພັກເກດຍັງຄົງໃຊ້ງານຢູ່ໃນ npm ໃນເວລາວິເຄາະ.

ຄວາມຮຸນແຮງ: ວິກິດ.

ການໂຈມຕີ: ສອງກະເປົ໋າໃນຕູ້ເສື້ອຜ້າດຽວ

ຕູ້ເສື້ອຜ້າແມ່ນຍີ່ຫໍ້. ເປີດ README ຂອງ crypto-credential-scanner ແລະທ່ານຈະໄດ້ຮັບການບອກວ່າມັນເປັນເຄື່ອງສະແກນໃບຢັ້ງຢືນທີ່ສ້າງຂຶ້ນໂດຍ Crypto Security Guild. ເປີດໜ້າ defi-threat-scanner ແລະທ່ານຈະໄດ້ຮັບການບອກວ່າມັນເປັນເຄື່ອງມືຂອງ DeFi Security Alliance. ເປີດ web3-secrets-detector ແລະມັນແມ່ນ Web3 Audit Collective. ບໍ່ມີກຸ່ມໃດເຫຼົ່ານີ້ຢູ່ເປັນອົງກອນ. ພວກມັນມີຢູ່ເປັນອົງກອນ GitHub ທີ່ຫວ່າງເປົ່າເຊິ່ງມີຈຸດປະສົງດຽວເພື່ອຕື່ມຂໍ້ມູນໃສ່ລິ້ງ "ຜູ້ຂຽນ" ຂອງໜ້າ npm.

ຕົວແປ A: ການເຄື່ອນໄຫວກ່ອນການບິນຫຼັງການຕິດຕັ້ງ ແລະ ການກະທຳຫຼັກໃນເວລາ MCP

ແພັກເກດ Variant-A 8 ແພັກເກັດທັງໝົດແບ່ງປັນ payload ສອງຂັ້ນຕອນຄື: ຂັ້ນຕອນກ່ອນການຕິດຕັ້ງຫຼັງການຕິດຕັ້ງທີ່ຮັບເອົາຂໍ້ມູນປະຈຳຕົວທີ່ມີຢູ່ແລ້ວໃນແຜ່ນດິດໃນຮູບແບບຂໍ້ຄວາມທຳມະດາ, ແລະຂັ້ນຕອນເວລາແລ່ນທີ່ເປີດໃຊ້ງານເມື່ອຕົວແທນ AI ໂທຫາເຄື່ອງມື MCP ໜຶ່ງໃນແພັກເກດ.

"ຂັ້ນຕອນທີ 1, ກ່ອນການບິນ" ຢູ່ໃນແຖວ package.json ເປັນ node -e one-liner. ມັນເປີດເຈັດ dotfiles ທີ່ຮູ້ຈັກກັນດີ ແລະ ສົ່ງ 200 ໄບຕ໌ທຳອິດຂອງແຕ່ລະໄຟລ໌ໄປຫາ C2:

200 ໄບຕ໌ ~/.ssh/id_ed25519 ຈະບໍ່ໃຫ້ລະຫັດສ່ວນຕົວຂອງເຈົ້າແກ່ຜູ້ໂຈມຕີດ້ວຍຕົວມັນເອງ, ແຕ່ມັນຈະໃຫ້ ຊື່ໄຟລ໌, ຄຳເຫັນ, ແລະບັນທັດທຳອິດຂອງຫົວຂໍ້ PEM — ພຽງພໍທີ່ຈະຢືນຢັນວ່າມີລະຫັດປະເພດໃດຢູ່ທີ່ນັ້ນ, ເຊິ່ງພຽງພໍທີ່ຈະຂັບເຄື່ອນຂັ້ນຕອນຕໍ່ໄປ. 200 ໄບຕ໌ຂອງ ~/.env ໂດຍປົກກະຕິແລ້ວແມ່ນພຽງພໍທີ່ຈະຮົ່ວໄຫຼໂທເຄັນ API ທີ່ສົມບູນ. 200 ໄບຕ໌ຂອງ ~/.git-credentials ໂດຍປົກກະຕິແລ້ວແມ່ນຊຸດໂທເຄັນ OAuth ເຕັມຮູບແບບ.

"ຂັ້ນຕອນທີ 2, ການສະແດງຫຼັກ", ເປັນ ເຄື່ອງສະແກນ.jsມັນຖືກໂຫຼດໂດຍແພັກເກດ index.js ແລະຖືກເອີ້ນຈາກພາຍໃນຕົວຈັດການຄຳຮ້ອງຂໍ MCP ໃນເວລາທີ່ຕົວແທນ AI ເອີ້ນໃຊ້ເຄື່ອງມືໃດໆທີ່ໂຄສະນາ. ໄຟລ໌ແມ່ນໄບຕ໌ຕໍ່ໄບຕ໌ດຽວກັນໃນທົ່ວ 8 ແພັກເກດ Variant-A (b461106e47a1f5966159cd6e92541505), ແລະມັນເປີດເຜີຍຄວາມຈິງກ່ຽວກັບສິ່ງທີ່ມັນເຮັດ. ບລັອກຄຳເຫັນເປີດອ່ານວ່າ:

javascript // wallet-scanner.js — ເຄື່ອງສະແກນທີ່ໃຊ້ງານຢູ່ໃນຕົວສຳລັບແພັກເກດ MCP // ເຮັດວຽກຢ່າງງຽບໆເມື່ອຕົວແທນ AI ເອີ້ນເຄື່ອງມື MCP ໃດໆ, ສະແກນສະພາບແວດລ້ອມສຳລັບ // wallets/keys // ໃຊ້ພຽງແຕ່ Node.js built-in ເທົ່ານັ້ນ, ບໍ່ມີການເພິ່ງພາອາໄສພາຍນອກ

ຕໍ່ໄປນີ້ແມ່ນການຍ່າງແບບຊ້ຳໆ, ຄວາມເລິກ 3, ຂອງ:

ໄດເລກະທໍລີບ້ານເອງ

...ການກັ່ນຕອງຊື່ໄຟລ໌ທີ່ມີຂໍ້ມູນໃດໆຂອງ ທີ່ເກັບກະແຈ, wallet.json, wallet.dat, .secret, seed.txt, metamask, phantom, rabby, ກະເປົາເງິນທີ່ໄວ້ວາງໃຈ, coinbase, ລະຫັດສ່ວນຕົວ, ລະລຶກ, secret_key, api_key — ຕົວຢ່າງ, ລາຍຊື່ທີ່ປັບແຕ່ງດ້ວຍມືຂອງທຸກໆບ່ອນທີ່ຜູ້ໃຊ້ crypto ເກັບຮັກສາລະຫັດ. ສຳລັບແຕ່ລະການຈັບຄູ່, ໄຟລ໌ຈະຖືກເປີດ ແລະ ສະແກນທຽບກັບຫົກ regexes:

ປະເພດ ຮູບແບບ ສິ່ງທີ່ມັນຈັບໄດ້
ລະຫັດສ່ວນຕົວ (?:0x)?[a-fA-F0-9]{64} ກະແຈສ່ວນຕົວຂອງ Ethereum ແລະ ລະຫັດລັບ hexadecimal ທົ່ວໄປ 32 ໄບຕ໌.
ລະລຶກ \b([a-z]+\s+){11,23}[a-z]+\b ປະໂຫຍກຫຼັກໃນການຮຽນຮູ້ BIP39 ທີ່ມີຄວາມຍາວຕັ້ງແຕ່ 12 ຫາ 24 ຄຳ.
api_key (api[_-]?key\|API_KEY)\s*[:=]\s*["']?([A-Za-z0-9_\-]{20,}) ໂທເຄັນ API ທົ່ວໄປ ແລະ ຄ່າຂໍ້ມູນປະຈຳຕົວທີ່ຝັງຢູ່ໃນໄຟລ໌ການຕັ້ງຄ່າ.
ຄວາມລັບ (?:secret\|private).{0,10}[:=]\s*["']?([A-Za-z0-9+/=]{20,}) ຄວາມລັບ ແລະ ຄ່າສ່ວນຕົວທີ່ມັກເກັບໄວ້ໃນຮູບແບບການຕັ້ງຄ່າ YAML, JSON, ແລະ INI.
ທີ່ຢູ່ eth_ 0x[a-fA-F0-9]{40} ທີ່ຢູ່ກະເປົາເງິນ Ethereum ໃຊ້ເພື່ອລະບຸຕົວຕົນ ແລະ ລາຍນິ້ວມືຂອງຜູ້ເຄາະຮ້າຍ.
ລະຫັດຜ່ານ (?:PASSWORD\|PASSPHRASE)\s*=\s*["']?(\S{4,64}) ລະຫັດຜ່ານແບບ Shell-export ແລະຕົວແປສະພາບແວດລ້ອມຂອງ passphrase.

ຫຼັງຈາກນັ້ນ, scanner.js ຈະອ່ານໄຟລ໌ dotfiles ອີກຫົກໄຟລ໌ຢ່າງຄົບຖ້ວນ — ສູງເຖິງ 500 ໄບຕ໌ຂອງແຕ່ລະໄຟລ໌ຂອງ ~/.env, ~/.bash_history, ~/.zsh_history, ~/.npmrc, ~/.gitconfig, ~/.git-credentials — ແລະ ຄົ້ນຫາ process.env ສຳລັບຕົວແປໃດໆທີ່ມີຊື່ປະກອບດ້ວຍ key, secret, token, password, private, mnemonic, wallet, ຫຼື seed. ສຸດທ້າຍມັນເອີ້ນ execSync('whoami') ບວກກັບ os.hostname() ແລະ process.cwd() ເພື່ອແທັກ dump ດ້ວຍຕົວຕົນຂອງຜູ້ຖືກເຄາະຮ້າຍ. payload ທັງໝົດ, ບວກກັບການຄົ້ນພົບສ່ວນບຸກຄົນສູງສຸດ 100 ອັນ, ຖືກ POSTed ເປັນວັດຖຸ JSON ດຽວ.

ຈຸດໝາຍປາຍທາງ exfil ບໍ່ໄດ້ຖືກ hardcoded ໂດຍກົງ. ແພັກເກດດຶງມັນໃນເວລາແລ່ນຈາກ:
https://ddjidd564.github.io/defi-security-best-practices/config.json

— ໜ້າ GitHub ບັນທຶກການຄວບຄຸມຂອງຜູ້ໂຈມຕີ. config.json ປັດຈຸບັນສົ່ງຄືນ

ຖ້າການດຶງຂໍ້ມູນນັ້ນລົ້ມເຫຼວ, ເຄື່ອງສະແກນ.js ກັບຄືນສູ່ສະພາບເດີມ ເວັບໄຊທ໌ webhook URL ຖືກເຂົ້າລະຫັດແຂງເປັນຄ່າຄົງທີ່. ການປ່ຽນທິດທາງນີ້ແມ່ນສ່ວນໜຶ່ງຂອງຄວາມຊັບຊ້ອນດ້ານການດຳເນີນງານໃນແຄມເປນ: ມັນຊ່ວຍໃຫ້ຜູ້ໂຈມຕີໝຸນເປົ້າໝາຍ exfil ໂດຍບໍ່ຕ້ອງເຜີຍແຜ່ແພັກເກດຄືນໃໝ່, ແລະມັນຮັກສາ URL ຂອງຕົວເກັບກຳຕົວຈິງອອກຈາກສິ່ງປະດິດ npm, ເຊິ່ງເຮັດໃຫ້ການກວດຈັບທີ່ອີງໃສ່ລາຍເຊັນຍາກຂຶ້ນ.

ຕົວແປ B: ອຸໂມງ Pinggy, ຕົວແປຄູ່, ແລະ ຕົວແປທີ່ຄົງທີ່ໜຶ່ງຕົວ

ຊຸດທີ່ມີຊີວິດຢູ່ອີກອັນໜຶ່ງມີຂະໜາດນ້ອຍກວ່າຫຼາຍ - ຫ້າແພັກເກດ - ແລະ ສະຫຼາດໜ້ອຍກວ່າຫຼາຍ. ຜູ້ຂຽນໄດ້ຍົກເລີກຊຸດ MCP ທັງໝົດ. ແພັກເກດເຫຼົ່ານີ້ອ້າງວ່າເປັນຕົວຊ່ວຍໃນການຕັ້ງຄ່າສຳລັບເຄື່ອງມື Ethereum ແລະ Solana ທີ່ຖືກຕ້ອງຕາມກົດໝາຍ (ຕົວຊ່ວຍຕັ້ງຄ່າ truffle, ຕົວລວບລວມລາຄາ-feed-chainlink, ຜູ້ໃຫ້ບໍລິການ ganache-cli, ຕົວຊ່ວຍ Solana-PDA, ຜູ້ຊ່ວຍຕິດຕັ້ງໂຮງຫລໍ່). ນ້ຳໜັກบรรทุกແມ່ນອັນດຽວ https.get-and-exec ເສັ້ນໃນ ຕິດຕັ້ງຫຼັງ

C2 ແມ່ນບໍ່ເສຍຄ່າ ປິງກີ ອຸໂມງ — ການບໍລິການອຸໂມງສຳລັບນັກພັດທະນາທົ່ວໄປທີ່ຜູ້ໂຈມຕີກຳລັງໃຊ້ເປັນ C2 ຊົ່ວຄາວ. ແພັກເກດຈະດາວໂຫຼດສິ່ງໃດກໍ່ຕາມທີ່ອຸໂມງສົ່ງຄືນ ແລະ ຍູ້ມັນເຂົ້າໄປ ຂະບວນການລູກ.exeບໍ່ມີການກວດສອບຄວາມສົມບູນ, ບໍ່ມີການເຊັນ, ບໍ່ມີການປົກປ້ອງຂັ້ນຕອນທີສອງ. ສິ່ງໃດກໍ່ຕາມທີ່ອຸໂມງຂອງຜູ້ປະຕິບັດງານໃຫ້ບໍລິການໃນມື້ນີ້ແມ່ນສິ່ງທີ່ແລ່ນ.

ແພັກເກດທີ່ຮຸກຮານທີ່ສຸດ, ຜູ້ຊ່ວຍຕິດຕັ້ງໂຮງຫລໍ່: 1.8.96, ປ່ຽນແທນ inline https.get ກັບ curl ແລະເຄັດລັບຄວາມທົນທານ:

ການຕາມຫຼັງ & ແຍກໄຟລ໌ໄບນາຣີອອກຈາກຂະບວນການຕິດຕັ້ງ, ດັ່ງນັ້ນການຕິດຕັ້ງຈຶ່ງສຳເລັດຢ່າງງຽບໆ ໃນຂະນະທີ່ໄຟລ໌ໄບນາຣີທີ່ໃຊ້ມາດົນຖືກປະໄວ້ຢູ່ໃນພື້ນຫຼັງພາຍໃຕ້ຊື່ທີ່ເບິ່ງຄືກັບໄຟລ໌ແຄດ Node.js ທີ່ບໍ່ໜ້າສົນໃຈ. ພວກເຮົາບໍ່ໄດ້ດຶງຂໍ້ມູນໄຟລ໌ໄບນາຣີຄືນ; ອຸໂມງບໍ່ຕອບສະໜອງເມື່ອພວກເຮົາກວດສອບ, ເຊິ່ງເປັນພຶດຕິກຳທີ່ຄາດໄວ້ສຳລັບອຸໂມງທີ່ຜູ້ປະຕິບັດການນຳມາໃຊ້ຕາມຄວາມຕ້ອງການ.

 ຕົວແປ C: ໜ້າດິນທີ່ຂັດເງົາ, ບໍ່ມີລະເບີດ (ຍັງ)

ສ່ວນທີ່ເຫຼືອອີກເກົ້າຊຸດ — ຕົວຢືນຢັນການສຳຮອງຂໍ້ມູນກະເປົາເງິນ, ເຄື່ອງສະແກນຄວາມປອດໄພ env, ຊຸດເຄື່ອງມື foundy (ການພິມຜິດໂດຍເຈດຕະນາຂອງ Foundry), solna-web3 (typosquat ຂອງ Solana), ຕົວກວດສອບຄວາມປອດໄພຂອງກະເປົາເງິນ, ປລັກອິນຕົວສ້າງໂປຣໄຟລ໌ອາຍແກັສແບບ hardhat, ethers-multicall-utils, ຜູ້ກວດສອບ defi-env, etherjs-utils — ມີ ບໍ່ມີສະຄຣິບຫຼັງການຕິດຕັ້ງ ແລະບໍ່ມີ exfil runtime ທີ່ເຫັນໄດ້ຊັດເຈນໃນຕອນທຳອິດ. ພວກມັນແບ່ງປັນຜູ້ເຜີຍແຜ່, ໜ້າຕາຂອງຍີ່ຫໍ້, ຮູບແບບການຕັ້ງຊື່ Web3, ແລະໃນບາງກໍລະນີ, ແຜນການ README ທີ່ຄືກັນກັບຕົວແປທີ່ໃຊ້ງານຢູ່. ພວກເຮົາກຳລັງປະຕິບັດຕໍ່ພວກມັນເປັນສ່ວນໜຶ່ງຂອງແຄມເປນດຽວກັນ ແລະ ໄດ້ແນະນຳໃຫ້ມີການລຶບລ້າງກ່ອນ, ແຕ່ພວກເຮົາຍັງບໍ່ທັນໄດ້ລະບຸຕົວກະຕຸ້ນ runtime ຂອງພວກມັນຢ່າງເຕັມທີ່. tranche ທີ່ບໍ່ໄດ້ໃຊ້ງານອາດຈະເປັນພື້ນຖານທີ່ຜູ້ປະຕິບັດການກຳລັງສະຫງວນໄວ້ສຳລັບການປ່ຽນແປງໃນອະນາຄົດ - ຮູບແບບດຽວກັນກັບ PhantomBot ທີ່ໃຊ້ໃນກາງເດືອນພຶດສະພາ, ບ່ອນທີ່ຜູ້ປະຕິບັດການໄດ້ແລກປ່ຽນຕົວລັກຂໍ້ມູນປະຈຳຕົວສຳລັບ botnet recruit ໂດຍບໍ່ໄດ້ເຜີຍແຜ່ຊື່ແພັກເກດຄືນໃໝ່.

ໄລຍະເວລາ ແລະ ລາຍການສິນຄ້າ

ແພັກເກດທີ່ລົງວັນທີໄວທີ່ສຸດໃນແຄມເປນແມ່ນເວີຊັນຕໍ່າສຸດ: ຕົວກວດສອບລະຫັດລະບົບຕ່ອງໂສ້: 0.2.3 ແລະ defi-env-auditor:0.3.2 ເບິ່ງຄືວ່າເປັນຢອດທົດລອງໃນຕອນຕົ້ນ. ເມື່ອເຖິງເວລາທີ່ຜູ້ເຜີຍແຜ່ໄປຮອດ ຕົວຊ່ວຍຕັ້ງຄ່າ truffle:1.7.0 ແລະ ຜູ້ຊ່ວຍຕິດຕັ້ງໂຮງຫລໍ່: 1.8.96, ການເພີ່ມຂຶ້ນຂອງລຸ້ນແມ່ນໂດຍເຈດຕະນາ - ການເລືອກຕົວເລກທີ່ອ່ານຄືກັບເຊື້ອສາຍຂອງແພັກເກດທີ່ຖືກສ້າງຕັ້ງຂຶ້ນ. ບໍ່ມີ 22 ອັນດັບໃດມີປະຫວັດທີ່ຖືກຕ້ອງຕາມກົດໝາຍກ່ອນໜ້ານີ້ພາຍໃຕ້ຊື່ທີ່ແນ່ນອນນັ້ນໃນ npm.

ລາຍການເຕັມ, ຈັດກຸ່ມຕາມຮູບແບບ:

### ຮຸ່ນ A — ຕົວເກັບກ່ຽວຂໍ້ມູນປະຈຳຕົວ (ຫຼັງການຕິດຕັ້ງ + ເຄື່ອງສະແກນເວລາ MCP.js, MD5 b461106e47a1f5966159cd6e92541505)

Package Version ຖືກໝາຍໄວ້ໃນຟີດການກວດສອບ
mnemonic-safety-check 0.5.2 yes
solidity-deploy-guard 0.4.4 yes
web3-secrets-detector 1.2.6 yes
eth-wallet-sentinel 1.0.9 yes
deployment-key-auditor 0.7.3 yes
defi-threat-scanner 2.1.2 yes
crypto-credential-scanner 2.0.2 yes
chain-key-validator 0.2.3 yes

### ຮຸ່ນ B — ອຸໂມງ Pinggy https.get → exec (ບໍ່ມີການເບິ່ງເຫັນຟີດການກວດຈັບກ່ອນລາຍງານນີ້)

Package Version ລົດຊາດຫຼັງການຕິດຕັ້ງ
truffle-config-helper 1.7.0 https.get → exec(stdout)
chainlink-price-feed-aggregator 1.1.12 https.get telemetry call
ganache-cli-provider 1.7.51 https.get telemetry call
solana-pda-helper 1.0.46 https.get telemetry call
foundry-deploy-helper 1.8.96 curl + chmod +x /tmp/.node-cache &

### ຮຸ່ນ C — ບໍ່ມີການເປີດເຜີຍຕົວກະຕຸ້ນໃນເວລາເຮັດວຽກ, ສົງໃສວ່າມີຕົວກະຕຸ້ນໃນເວລາແລ່ນ (ບໍ່ມີການເບິ່ງເຫັນການປ້ອນຂໍ້ມູນການກວດຈັບກ່ອນລາຍງານນີ້)

Package Version ອ່ືນ
wallet-backup-verifier 1.0.1
env-security-scanner 1.6.0
foundy-toolkit 1.5.79 typosquat ຂອງໂຮງຫລໍ່
solna-web3 1.5.98 typosquat ຂອງ solana
wallet-security-checker 1.0.3
hardhat-gas-profiler-plugin 1.7.86
ethers-multicall-utils 1.3.15
defi-env-auditor 0.3.2
etherjs-utils 1.0.39

ຖັນ Variant-A ແລະ Variant-B ບໍ່ໄດ້ຖືກເລືອກແບບສຸ່ມ. ຊື່ Variant-A ທັງໝົດຂາຍຕົວເອງເປັນ ເຄື່ອງມືກວດສອບຄວາມປອດໄພ — “ການກວດສອບຄວາມປອດໄພ”, “ຜູ້ຄວບຄຸມການນຳໃຊ້”, “ເຄື່ອງກວດຈັບຄວາມລັບ”, “ຜູ້ເຝົ້າກະເປົາເງິນ”, “ຜູ້ກວດສອບລະຫັດ”, “ເຄື່ອງສະແກນໄພຂົ່ມຂູ່”, “ເຄື່ອງສະແກນຂໍ້ມູນປະຈຳຕົວ”, “ເຄື່ອງກວດສອບລະຫັດລະບົບຕ່ອງໂສ້”. ພວກມັນແມ່ນແນໃສ່ນັກພັດທະນາ ຫຼື ຕົວແທນ AI ທີ່ຊອກຫາເຄື່ອງມືເພື່ອປະເມີນຄວາມປອດໄພຂອງໂຄງການ Web3. ຊື່ Variant-B ທັງໝົດຂາຍຕົວເອງເປັນ ຕົວຊ່ວຍສ້າງ ແລະ ການນຳໃຊ້ ສຳລັບລະບົບນິເວດ Web3 ດຽວກັນ — Truffle, Chainlink, Ganache, Solana PDA tooling, Foundry. ການແບ່ງແຍກສະທ້ອນເຖິງຮູບແບບຈິດໃຈຂອງນັກພັດທະນາ Web3 ທົ່ວໄປຂອງ "ໄລຍະການກວດສອບ" ທຽບກັບ "ໄລຍະການນຳໃຊ້". ບໍ່ວ່າທ່ານຈະໄປເຖິງໄລຍະໃດກໍຕາມ, ຜູ້ເຜີຍແຜ່ໄດ້ຫຸ້ມຫໍ່ກັບດັກສຳລັບມັນແລ້ວ.

ຕົວຊີ້ວັດຂອງການປະນີປະນອມ

ເຄືອຂ່າຍ ແລະ ໄຟລ໌

ໄອໂອ variant ຈຸດປະສົງ
https://ddjidd564.github.io/defi-security-best-practices/config.json A ຕົວແກ້ໄຂ webhook ແບບໄດນາມິກທີ່ໂຮດຜ່ານ GitHub Pages.
https://webhook.site/8d334534-1c63-4f4f-a0d7-95c446c8b233 A ຈຸດສິ້ນສຸດຂອງຕົວເກັບກຳການກອງອາກາດໃນປະຈຸບັນ, ເຊິ່ງຍັງຖືກຝັງໄວ້ເປັນຕົວເລືອກສຳຮອງອີກດ້ວຍ.
rqnyz-2605-7280-7--2000-c51.run.pinggy-free.link/npm/-/binary/telemetry B ອຸໂມງ Pinggy ໃຊ້ເພື່ອແຈກຢາຍຂໍ້ມູນໄບນາຣີໄລຍະໄກ.
scanner.js MD5 b461106e47a1f5966159cd6e92541505 A payload ຂອງເຄື່ອງສະແກນທີ່ຄືກັນຖືກນຳໃຊ້ຄືນໃໝ່ໃນທົ່ວຊຸດ Variant-A ທັງ 8 ຊຸດ.
/tmp/.node-cache B ໄຟລ໌ທີ່ສາມາດປະຕິບັດໄດ້ທີ່ແຍກອອກມາຖືກຖິ້ມໂດຍ foundry-deploy-helper:1.8.96.

ສໍານັກພິມ

  • ຊື່ຜູ້ໃຊ້ npm: ddjidd5640
  • ອີເມວ: 1623682356 @ qqcom (ຍັງບໍ່ໄດ້ຢືນຢັນ)
  • ອີເມວ ແລະ SCM ການຢືນຢັນ: ບໍ່ມີ
  • ຊຸດສິນຄ້າພາຍໃຕ້ບັນຊີ: 22, ທັງໝົດລະບຸໄວ້ໃນລາຍການຂ້າງເທິງ
  • ກິດຈະກຳທີ່ເຫັນໄດ້ໄວທີ່ສຸດ: ຕົວກວດສອບລະຫັດລະບົບຕ່ອງໂສ້: 0.2.3 (ຕົວແປ A)
  • ກິດຈະກຳທີ່ເບິ່ງເຫັນໄດ້ລ່າສຸດ: chain-key-validator:0.2.3 ແລະ crypto-credential-scanner:2.0.2 (ທັງສອງພາຍໃນ 24 ຊົ່ວໂມງກ່ອນການຂຽນນີ້)

ໜ້າປົກຂອງຍີ່ຫໍ້ (ໃຊ້ໃນ ຜູ້​ປະ​ພັນ / ອ່ານຂ້ອຍ / GH ປອມ org)

  • “ກຸ່ມຄວາມປອດໄພ Crypto” — ໄດ້ຮັບການສະໜັບສະໜູນຈາກ GitHub org ທີ່ຫວ່າງເປົ່າ ກຸ່ມ cryptosec
  • “Web3 Audit Collective” — ໄດ້ຮັບການສະໜັບສະໜູນຈາກ GitHub org ທີ່ຫວ່າງເປົ່າ w3audit
  • “ພັນທະມິດຄວາມປອດໄພ DeFi” — ໄດ້ຮັບການສະໜັບສະໜູນຈາກ GitHub org ທີ່ຫວ່າງເປົ່າ ຄວາມປອດໄພແບບ defi
  • ບັນຊີ GH ອ້າງອີງ ddjidd564 — ໂຮດຂອງ dynamic-webhook config.json

ພຶດຕິ ກຳ

  • ໂນດ -e ຫຼັງຈາກຕິດຕັ້ງແລ້ວ ອ່ານອັນໃດກໍໄດ້ .ssh, .etherium, .ບິດຄອຍ, .env, .bash_ປະຫວັດສາດ, ປະຫວັດ_.zsh, .git-credentials ກັບ .slice(0, 200) ແລະ ເຊື່ອມຕໍ່ກັບ | ຕົວແຍກແມ່ນລາຍນິ້ວມືທີ່ເກືອບເປັນເອກະລັກສຳລັບຕົວແປ A.
  • ການ ນຳ ເຂົ້າ ./scanner.js ຈາກແພັກເກດທີ່ລົງທະບຽນຕົວເອງເປັນ MCP Server ດ້ວຍເຄື່ອງມືທີ່ມີຊື່ວ່າ ຂໍ້ມູນປະຈຳຕົວທີ່ຮົ່ວໄຫຼ_ການຄົ້ນຫາ ຫຼື ຄຳກິລິຍາ “ການກວດສອບຄວາມປອດໄພ” ທີ່ມີກອບຄ້າຍຄືກັນແມ່ນການຢືນຢັນແບບ Variant-A.
  • ການຕິດຕັ້ງຫຼັງການຕິດຕັ້ງ node -e ທີ່ດຶງຂໍ້ມູນຈາກໂຮດ *.run.pinggy-free.link ໃດໆ ແລະ ສົ່ງການຕອບສະໜອງໄປຫາ child_process.exec ແມ່ນການຢືນຢັນ Variant-B ໂດຍບໍ່ຄຳນຶງເຖິງ wrapper.

ການອ້າງອີງ ແລະ ແຮງຈູງໃຈ

ມີພຽງພໍສຳລັບລາຍນິ້ວມືຂອງຜູ້ເຜີຍແຜ່ບາງສ່ວນ ແລະ ເກືອບບໍ່ພຽງພໍສຳລັບການຢັ້ງຢືນຕົວຕົນຕົວຈິງ. ອີເມວ 1623682356 @ qqcom ເປັນທີ່ຢູ່ອີເມວ QQ — ເວັບເມລຟຣີຂອງ Tencent, ເປັນທີ່ນິຍົມໃນແຜ່ນດິນໃຫຍ່ຂອງຈີນ — ແລະສ່ວນທີ່ເປັນຕົວເລກທ້ອງຖິ່ນແມ່ນ ID ຜູ້ໃຊ້ QQ; ພວກເຮົາຖືວ່າສິ່ງນີ້ເປັນສັນຍານອ່ອນເທົ່ານັ້ນ, ເນື່ອງຈາກທີ່ຢູ່ຮູບແບບ QQ ແມ່ນລົງທະບຽນເລັກນ້ອຍ. ບັນຊີ npm ບໍ່ມີການເປີດເຜີຍສອງປັດໄຈ, ບໍ່ມີອີເມວທີ່ຢືນຢັນແລ້ວ, ບໍ່ມີ SCM ລິ້ງ. ກຸ່ມຍີ່ຫໍ້ “Crypto Security Guild” / “Web3 Audit Collective” / “DeFi Security Alliance” ແມ່ນຜະລິດຈາກການຂາຍສົ່ງ - ບໍ່ມີອັນໃດໃນສາມຢ່າງນີ້ຢູ່ນອກແຄມເປນນີ້ - ແລະ GitHub orgs ທີ່ສະໜັບສະໜູນແມ່ນ shell ເປົ່າທີ່ສ້າງຂຶ້ນເພື່ອເຕີມລິ້ງໜ້າ npm.

ສອງຮູບແບບທີ່ຄຸ້ມຄ່າທີ່ຈະຕັ້ງຊື່, ເພາະວ່າມັນປາກົດຢູ່ໃນແຄມເປນທີ່ຢູ່ຕິດກັນ. ອັນທຳອິດແມ່ນ ການຜະລິດຍີ່ຫໍ້ລ່ວງໜ້າເປັນຫຼັກຖານທາງສັງຄົມ: ຜູ້ປະຕິບັດການບໍ່ໄດ້ເລືອກຊື່ໂຄງການທີ່ມີຢູ່ແລ້ວເພື່ອ typosquat; ພວກເຂົາໄດ້ຜະລິດເລື່ອງລາວຄວາມໄວ້ວາງໃຈທັງໝົດຕັ້ງແຕ່ເລີ່ມຕົ້ນ, ໂດຍຮູ້ວ່າ ການສ້າງຕົວແທນ AI pipeline ຫຼືນັກພັດທະນາທີ່ຮີບຮ້ອນທີ່ສະແກນໜ້າ npm ຈະຈັບຄູ່ຮູບແບບໃນ "ເບິ່ງຄືວ່າເປັນອົງການຄວາມປອດໄພ" ແທນທີ່ຈະເປັນ "ເປັນອົງການຄວາມປອດໄພ". ນີ້ແມ່ນວິທີການດຽວກັນທີ່ວັນນະຄະດີ slopsquatting ໄດ້ເຕືອນກ່ຽວກັບ - ແພັກເກດທີ່ປັບໃຫ້ເປັນຊື່ປະເພດທີ່ LLM ຈະ ປະດິດ ຖ້າຖືກຮ້ອງຂໍເຄື່ອງມືຄວາມປອດໄພ Web3, ແຕ່ງຕົວດີພໍທີ່ LLM ຈະບໍ່ກວດສອບສອງເທື່ອ. ສະລັອບສະຄວດຕິງ ເປັນຄຳສັບທີ່ຫາກໍ່ສ້າງຂຶ້ນມາໃໝ່ສຳລັບແພັກເກດທີ່ເປັນອັນຕະລາຍທີ່ມີຊື່ກົງກັບຕົວຍຶດ LLMs ເຮັດໃຫ້ເກີດອາການຫຼອນເມື່ອແພັກເກດທີ່ມີສິດອຳນາດບໍ່ມີຢູ່; ແຄມເປນນີ້ແມ່ນພີ່ນ້ອງທີ່ຮຸກຮານຫຼາຍກວ່າ, ບ່ອນທີ່ຜູ້ປະຕິບັດການຍັງປະດິດອົງກອນທີ່ຕົວຍຶດຈະເປັນຂອງ.

ຮູບແບບທີສອງແມ່ນ ການເປີດໃຊ້ງານເວລາ MCP. ໂດຍເວລາ ເຄື່ອງສະແກນ.js ເຮັດວຽກ, ການຕິດຕັ້ງສຳເລັດແລ້ວ ແລະ ນັກພັດທະນາໄດ້ກ້າວຕໍ່ໄປ. ຕົວກະຕຸ້ນແມ່ນຕົວແທນ AI ທີ່ເອີ້ນເຄື່ອງມື — ຂໍ້ມູນປະຈຳຕົວທີ່ຮົ່ວໄຫຼ_ການຄົ້ນຫາ, ໃນກໍລະນີ Variant-A — ເຊິ່ງຕົວແທນຈະເຮັດຢ່າງແທ້ຈິງ, ເພາະວ່ານັ້ນແມ່ນເຫດຜົນທັງໝົດທີ່ມັນໄດ້ຮັບແພັກເກດ. ວຽກງານທີ່ເປັນອັນຕະລາຍເກີດຂຶ້ນໃນລະຫວ່າງ ດີ ສ່ວນໜຶ່ງຂອງຂະບວນການເຮັດວຽກ, ເມື່ອນັກພັດທະນາມີແນວໂນ້ມທີ່ຈະເບິ່ງຜູ້ຊ່ວຍ AI ຂອງເຂົາເຈົ້າປະສົບຜົນສຳເລັດໃນໜ້າວຽກທີ່ເຂົາເຈົ້າຂໍ. ມັນເປັນການປ່ຽນແປງພຶດຕິກຳເລັກນ້ອຍຈາກ "exfil on" ແບບເກົ່າ npm ຕິດຕັ້ງ” ຮູບແບບ, ແລະມັນຫຼີກລ່ຽງການ sandboxing ເວລາຕິດຕັ້ງໄດ້ຢ່າງເປັນລະບຽບ.

ພວກເຮົາບໍ່ໄດ້ລະບຸຊື່ຜູ້ກະທຳທີ່ເປັນໄພຂົ່ມຂູ່. ສັນຍານຕ່າງໆ (ອີເມວ QQ, ບັນຊີດຽວ, 22 ຊຸດຕໍ່ມື້, ສອງຊຸດ C2 ຂະໜານ) ແມ່ນສອດຄ່ອງກັນເທົ່າທຽມກັນກັບຜູ້ປະຕິບັດການທີ່ຍັງຄົງຢູ່ໜຶ່ງຄົນ, ທີມງານຂະໜາດນ້ອຍ, ຫຼື ໜຶ່ງໃນທີມງານທີ່ເຮັດວຽກແບບ package-flood ທີ່ສາມາດເບິ່ງເຫັນໄດ້ໃນ telemetry npm ຕະຫຼອດປີ 2025–2026. ສິ່ງທີ່ພວກເຮົາ ສາມາດເຮັດໄດ້ ໝາຍຄວາມວ່າຜູ້ປະຕິບັດການນີ້ມີລະບົບນິເວດທີ່ຕ້ອງການຢ່າງຈະແຈ້ງ (Ethereum + Solana + Foundry/Hardhat tooling), ຜູ້ຖືກເຄາະຮ້າຍທີ່ຕ້ອງການຢ່າງຈະແຈ້ງ (ນັກພັດທະນາ Web3 ແລະຕົວແທນ AI ທີ່ເຮັດວຽກໃນໂຄງການ Web3), ແລະຮູບແບບການຢູ່ລອດທີ່ຕ້ອງການຢ່າງຈະແຈ້ງ (ຕົວກະຕຸ້ນເວລາແລ່ນ MCP ບວກກັບທາງເລືອກຖານສອງທີ່ແຍກອອກມາ).

ຜົນກະທົບ, ແນວໂນ້ມ, ແລະສິ່ງທີ່ຜູ້ປົກປ້ອງສາມາດເຮັດໄດ້

ການເຕືອນໄພລ່ວງໜ້າຂອງພວກເຮົາ pipeline ຈັບໄດ້ 8 ຂອງ 22 ແພັກເກດຕະຫຼອດອາຍຸການຂອງແຄມເປນ - ຫົກອັນໃນການກວາດລ້າງຄັ້ງທຳອິດ ແລະ ອີກສອງອັນທີ່ມາຮອດໃນມື້ດຽວກັນໃນລະຫວ່າງການຜ່ານການຈັດກຸ່ມແຄມເປນ. ແພັກເກດອື່ນໆ 14 ອັນໄດ້ຖືກເຜີຍແຜ່ຢູ່ໃນ npm ເປັນເວລາຫຼາຍມື້ ໂດຍບໍ່ເຄີຍປາກົດຢູ່ໃນຟີດກວດຈັບໃດໆທີ່ພວກເຮົາຕິດຕາມກວດກາ, ແລະໃນເວລາຂຽນນີ້ຍັງຄົງສາມາດຕິດຕັ້ງໄດ້. ຊ່ອງຫວ່າງນັ້ນມີຄວາມສຳຄັນເພາະວ່າ:

  • ຮຸ່ນ A ບໍ່ມີສຽງໃນລະຫວ່າງການຕິດຕັ້ງການອ່ານ dotfile ເກີດຂຶ້ນ, ແຕ່ bulk exfil ຈະເຮັດວຽກເມື່ອຕົວແທນ AI ເອີ້ນໃຊ້ເຄື່ອງມື MCP ຂອງແພັກເກດເທົ່ານັ້ນ. standard ກ່ອງແຊນວິດການເບິ່ງຫຼັງການຕິດຕັ້ງຈະເຫັນ ໂນດ -e ສະກັດກັ້ນ ແລະ ຕັດສິນໃຈວ່າມັນມີຂະໜາດນ້ອຍ ແລະ ເບິ່ງຄືວ່າບໍ່ມີປະຕິກິລິຍາ.
  • ຕົວແປ B ແມ່ນເສັ້ນດຽວ. ບໍ່ມີຫຍັງທີ່ຕົວຈັດປະເພດມັລແວຣ໌ຕ້ອງຮຽນຮູ້ຈາກ - ບໍ່ມີການປິດບັງ, ບໍ່ມີ payload ທີ່ຖືກເຂົ້າລະຫັດ, ບໍ່ມີໂດເມນທີ່ເບິ່ງຄືວ່າໜ້າສົງໄສ. ອຸໂມງ Piggy ແມ່ນການບໍລິການນັກພັດທະນາທີ່ຖືກຕ້ອງຕາມກົດໝາຍ. ສິ່ງທີ່ໜ້າສົງໄສພຽງຢ່າງດຽວແມ່ນວ່າ "ຜູ້ຊ່ວຍຕັ້ງຄ່າ" ຕ້ອງໂທຫາບ້ານເລີຍ.
  • ຮຸ່ນ C ເບິ່ງຄືວ່າສະອາດໝົດ. ມັນບໍ່ມີການຕິດຕັ້ງ hooks. ໂດຍທຸກໆສັນຍານຄົງທີ່, ມັນເປັນເລື່ອງປົກກະຕິ.

ບັນຊີກວດສອບຜູ້ຖືກກ່າວຟ້ອງສັ້ນໆສຳລັບຍຸກເຄື່ອງມື MCP

ສາມການກະທຳທີ່ເປັນຮູບປະທຳທີ່ອາດຈະເຮັດໃຫ້ການໂຄສະນາຫາສຽງນີ້ປະສົບຜົນສຳເລັດກ່ອນໜ້ານີ້:

  1. ຊັ່ງນໍ້າໜັກໃຫ້ຜູ້ເຜີຍແຜ່, ບໍ່ແມ່ນຊຸດສິນຄ້າ. ຊາວສອງແພັກເກດພາຍໃຕ້ບັນຊີອີເມວ QQ ອາຍຸໜຶ່ງປີໂດຍບໍ່ມີ SCM ການຢັ້ງຢືນແມ່ນສັນຍານທີ່ສະຫວ່າງກວ່າຄຸນສົມບັດຕໍ່ແພັກເກດໃດໆ. ຂະບວນການເຮັດວຽກເຕືອນໄພລ່ວງໜ້າຂອງພວກເຮົາໄດ້ຈັບແພັກເກດທຳອິດເພາະວ່າລາຍນິ້ວມືຂອງຜູ້ເຜີຍແຜ່ໂດດເດັ່ນ - ແນະນຳຄະແນນຊື່ສຽງຂອງຜູ້ເຜີຍແຜ່ທີ່ຕົວຈັດປະເພດທີ່ປອດໄພ, ບໍ່ມີຂໍ້ສະຫຼຸບ, ຫຼື ມັລແວຕໍ່ແພັກເກດສາມາດຫຼຸດນ້ຳໜັກໄດ້.
  2. ປະຕິບັດຕໍ່ທາງອ້ອມ dynamic-config ເປັນອັນຕະລາຍຈົນກວ່າຈະພິສູດໄດ້ວ່າເປັນຢ່າງອື່ນ. ແພັກເກດທີ່ແກ້ໄຂຈຸດສິ້ນສຸດທີ່ສົ່ງອອກໃນເວລາແລ່ນຈາກເອກະສານພາກສ່ວນທີສາມ (GitHub Pages, GitHub Gist, Pastebin, ວັດຖຸ S3, ບ່ອນອື່ນ) ບໍ່ມີເຫດຜົນທີ່ຖືກຕ້ອງທີ່ຈະເຮັດແນວນັ້ນສຳລັບ telemetry. ຈຸດສິ້ນສຸດ telemetry ທີ່ແທ້ຈິງແມ່ນຖືກເຂົ້າລະຫັດ ແລະ ບັນທຶກໄວ້.
  3. ກວດສອບແພັກເກດເຊີບເວີ MCP ໂດຍໜ້າເວັບເຄື່ອງມືທີ່ໂຄສະນາຂອງເຂົາເຈົ້າ. ຊຸດ Variant-A ທັງໝົດໂຄສະນາເຄື່ອງມືທີ່ມີຊື່ວ່າ search_leaked_credentials, validate_chain_key, deploy_safe, ແລະ ຄຳກິລິຍາ “ການກວດສອບ” ທີ່ຄ້າຍຄືກັນ. ໂຮດ MCP ທີ່ສະແດງເຄື່ອງມືທີ່ຄຳອະທິບາຍອ້າງວ່າສະແກນໄດເລກະທໍລີໂຄງການສຳລັບຂໍ້ມູນປະຈຳຕົວຄວນຮຽກຮ້ອງໃຫ້ມີການເລືອກເຂົ້າຮ່ວມຂອງຜູ້ປະຕິບັດງານຢ່າງຊັດເຈນກ່ອນທີ່ຕົວແທນຈະເອີ້ນມັນໃນຖານຂໍ້ມູນລະຫັດທີ່ແທ້ຈິງ. ຈຸດປະສົງຂອງ MCP ແມ່ນວ່າວົງວຽນຕົວແທນບໍ່ມີທາງທີ່ຈະຮູ້ວ່າ search_leaked_credentials ແມ່ນການຄົ້ນຫາຂໍ້ມູນປະຈຳຕົວ ຫຼື ເປັນຕົວກັ່ນຕອງຂໍ້ມູນປະຈຳຕົວ.

ສຳລັບນັກພັດທະນາທີ່ອາດຈະໄດ້ຕິດຕັ້ງໜຶ່ງໃນ 22 ແພັກເກດແລ້ວ: ສົມມຸດວ່າລະຫັດຂໍ້ຄວາມທຳມະດາໃດໆໃນ ~ / .ssh, ~/.ethereum, ~/.bitcoin, ~/.solana, ~/.env, ຫຼື ~/.git-credentials ຖືກໂຈມຕີ, ໃຫ້ໝຸນທຸກໆຂໍ້ມູນປະຈຳຕົວທີ່ມີຊື່ກົງກັບລາຍຊື່ຕົວກອງ env-variable ຂ້າງເທິງ, ແລະ ໃນ Linux/macOS ກວດສອບໄຟລ໌ທີ່ສາມາດປະຕິບັດໄດ້ທີ່ /tmp/.node-cache (ແລະຂະບວນການທີ່ບໍ່ມີຕົວຕົນໃດໆກໍ່ເລີ່ມຕົ້ນຈາກມັນ). ການຕິດຕັ້ງເວີຊັນທີ່ຖືກຕ້ອງຂອງເຄື່ອງມືທີ່ຖືກປອມແປງຄືນໃໝ່ (ຮາກຖານ, ຕົບ, ຍາກ, Ganache, ແລະອື່ນໆ) ບໍ່ໄດ້ລຶບໄບນາຣີທີ່ຖືກລົບອອກ.

ຊຸດ Variant-C ທີ່ບໍ່ມີການເຄື່ອນໄຫວແມ່ນສ່ວນໜຶ່ງຂອງເລື່ອງນີ້ທີ່ມີອາຍຸຍືນທີ່ສຸດ. ເກົ້າແພັກເກດທີ່ມີໂປຣໄຟລ໌ການຕິດຕັ້ງທີ່ສະອາດ ແລະ ຜູ້ເຜີຍແຜ່ທີ່ມີຊື່ສຽງແມ່ນປະເພດຂອງສິນຄ້າຄົງຄັງທີ່ຜູ້ປະຕິບັດການເກັບຮັກສາໄວ້. ຖ້າພວກມັນລະເບີດໃນພາຍຫຼັງ - ດັ່ງທີ່ PhantomBot ເຮັດເມື່ອມັນ axois-utils ການຫຸ້ມຫໍ່ຄືນໃໝ່ທີ່ຖືກປ່ຽນຈາກການລັກຂໍ້ມູນປະຈຳຕົວໄປສູ່ການຮັບສະໝັກ botnet - ພວກມັນຈະລະເບີດຕໍ່ຕ້ານຜູ້ບໍລິໂພກ registry ໃດໆທີ່ pinned ຊຸດ Variant-C ລະຫວ່າງມື້ນີ້ແລະການລຶບອອກ. ການ pinned ຊຸດທີ່ເປັນອັນຕະລາຍຕາມລຸ້ນບໍ່ໄດ້ປົກປ້ອງທ່ານຈາກຜູ້ເຜີຍແຜ່ທີ່ຄວບຄຸມທຸກລຸ້ນ.

ເອກະສານ

  • [ໜ້າຜູ້ເຜີຍແຜ່ npm ສຳລັບ ddjidd5640](https://www.npmjs.com/~ddjidd5640) — ປະຈຸບັນມີ 22 ຊຸດທີ່ລະບຸໄວ້ພາຍໃຕ້ບັນຊີນີ້. ແຫຼ່ງຂໍ້ມູນທີ່ມີສິດອຳນາດສຳລັບລາຍການໃນເວລາຂຽນນີ້.
  • [ໜ້າແພັກເກດ npm ສຳລັບ ເຄື່ອງສະແກນຂໍ້ມູນປະຈຳຕົວແບບ crypto](https://www.npmjs.com/package/crypto-credential-scanner) — ຕົວຢ່າງສິ່ງປະດິດ Variant-A; README, ປະຫວັດເວີຊັນ, ແລະລິ້ງຜູ້ຂຽນແມ່ນເຫັນໄດ້ຢູ່ທີ່ນີ້.
ເຄື່ອງມືວິເຄາະອົງປະກອບຊອບແວ SCA
ຈັດລຳດັບຄວາມສຳຄັນ, ແກ້ໄຂ ແລະ ຮັກສາຄວາມສ່ຽງດ້ານຊອບແວຂອງທ່ານໃຫ້ປອດໄພ
ຮັບບັນຊີຟຣີຂອງທ່ານ.
ບໍ່ຕ້ອງມີບັດເຄດິດ.

ຮັບປະກັນການພັດທະນາຊອບແວ ແລະ ການຈັດສົ່ງຂອງທ່ານ

ດ້ວຍຊຸດຜະລິດຕະພັນ Xygeni