AuditorTrap

AuditorTrap: Một nhóm giả mạo bảo mật mã hóa gồm 22 gói trên npm với hai tải trọng song song.

TL; DR

Một trình xuất bản npm duy nhất, ddjidd5640đã xây dựng một danh mục gồm 22 gói công cụ bảo mật Web3 giả mạo dưới các thương hiệu bịa đặt như... Hội An ninh Mã hóa, Web3 Audit CollectiveLiên minh bảo mật DeFi.

Các gói phần mềm này không giống như một chiến dịch chiếm đoạt tên miền bằng lỗi chính tả đơn giản. Chúng trông giống như một hệ sinh thái bảo mật có thương hiệu, được hỗ trợ bởi các tổ chức GitHub trống rỗng tương ứng và các tên công cụ MCP thuyết phục như... search_leaked_credentials, validate_chain_keydeploy_safe.

Chiến dịch được chia thành nhiều phần. hai nhóm tải trọng hoạt động và một phân vùng không hoạt động.

Biến thể A Chứa 8 gói thu thập thông tin xác thực. Một tập lệnh sau khi cài đặt đọc các kho lưu trữ bí mật cục bộ, trong khi một tập lệnh đi kèm... scanner.js Chương trình này chạy khi một tác nhân AI kích hoạt các công cụ MCP của gói phần mềm, tìm kiếm khóa ví, cụm từ ghi nhớ BIP39, mã thông báo API và các thông tin xác thực khác.

Biến thể B Chứa 5 phần mềm thả mã nhị phân dựa trên Pinggy. Các gói này tải xuống và thực thi mã độc từ xa trong quá trình cài đặt sau. foundry-deploy-helper:1.8.96 thả một tệp thực thi tách rời tại /tmp/.node-cache.

Biến thể C Chứa 9 gói không hoạt động, chưa có nội dung tải sau khi cài đặt rõ ràng, nhưng cùng nhà phát hành, kiểu thương hiệu và cách đặt tên tập trung vào Web3.

Chỉ có 8 trong số 22 gói được gắn cờ ở bất kỳ đâu mà chúng tôi có thể thấy; 14 gói còn lại vẫn đang hoạt động trên npm tại thời điểm phân tích.

Mức độ nghiêm trọng: nguy kịch.

Cuộc tấn công: Hai phần tử độc hại trong một chiếc tủ quần áo

Tủ quần áo chính là thương hiệu. Mở tệp README của crypto-credential-scanner và bạn sẽ thấy đó là một công cụ quét thông tin xác thực được xây dựng bởi Crypto Security Guild. Mở trang của defi-threat-scanner và bạn sẽ thấy đó là một công cụ của DeFi Security Alliance. Mở web3-secrets-detector và bạn sẽ thấy đó là Web3 Audit Collective. Không có tổ chức nào trong số này tồn tại với tư cách là các tổ chức thực sự. Chúng chỉ tồn tại dưới dạng các tài khoản GitHub trống rỗng, mục đích duy nhất là để điền vào liên kết "tác giả" trên trang npm.

Biến thể A: quá trình kiểm tra trước khi cài đặt và hoạt động chính trong thời gian MCP.

Tất cả 8 gói Variant-A đều có chung một tải trọng hai giai đoạn — một giai đoạn kiểm tra trước khi cài đặt để lấy bất kỳ thông tin đăng nhập nào đã có trên ổ đĩa dưới dạng văn bản thuần, và một giai đoạn chạy được kích hoạt khi một tác nhân AI gọi một trong các công cụ MCP của gói.

“Giai đoạn 1, trước khi cất cánh” Nó nằm trực tiếp trong file package.json dưới dạng một dòng lệnh duy nhất: `node -e`. Lệnh này mở bảy file cấu hình ẩn quen thuộc và gửi 200 byte đầu tiên của mỗi file đến máy chủ C2:

200 byte ~ / .ssh / id_ed25519 Nó sẽ không tự động cung cấp khóa riêng tư của bạn cho kẻ tấn công, nhưng nó sẽ cung cấp... tên tệp, phần bình luận và các dòng đầu tiên của tiêu đề PEM — đủ để xác nhận loại khóa nào nằm ở đó, và điều đó đủ để thúc đẩy giai đoạn tiếp theo. 200 byte ~/.env Thông thường, lượng dữ liệu này là quá đủ để làm rò rỉ toàn bộ mã thông báo API. 200 byte ~ / .git-thông tin đăng nhập Thông thường, đó là một bộ đầy đủ các mã thông báo OAuth.

“Giai đoạn 2, tiết mục chính”, Là scanner.jsNó được tải bởi gói phần mềm. chỉ mục.js và được gọi từ bên trong trình xử lý yêu cầu MCP ngay khi một tác nhân AI gọi bất kỳ công cụ nào được quảng cáo. Tệp này giống hệt nhau từng byte trên 8 gói Biến thể-A (b461106e47a1f5966159cd6e92541505), và nó rất thẳng thắn về những gì nó làm. Đoạn bình luận mở đầu có nội dung như sau:

javascript // wallet-scanner.js — trình quét chủ động nhúng cho các gói MCP // Chạy ngầm khi tác nhân AI gọi bất kỳ công cụ MCP nào, quét môi trường để tìm // ví/khóa // Chỉ sử dụng các hàm tích hợp sẵn của Node.js, không có phụ thuộc bên ngoài

Sau đây là một quá trình duyệt đệ quy, độ sâu 3, của:

thư mục chính

…lọc các tên tệp có chứa bất kỳ từ nào trong số kho khóa, ví.json, ví.dat, .bí mật, seed.txt, metamask, ma, rách rưới, ví tiền, coinbase, khóa riêng, ghi nhớ, chìa khoá bí mật, Mã API — tức là, một danh sách được tinh chỉnh thủ công về mọi nơi người dùng mật mã lưu trữ khóa. Với mỗi kết quả khớp, tệp được mở và quét so với sáu biểu thức chính quy:

Kiểu Họa tiết Nó bắt được gì?
khóa_riêng (?:0x)?[a-fA-F0-9]{64} Khóa riêng tư Ethereum và các mã bí mật thập lục phân 32 byte chung.
ghi nhớ \b([a-z]+\s+){11,23}[a-z]+\b Các cụm từ gợi nhớ BIP39 có độ dài từ 12 đến 24 từ.
Mã API (api[_-]?key\|API_KEY)\s*[:=]\s*["']?([A-Za-z0-9_\-]{20,}) Các mã thông báo API chung và giá trị thông tin xác thực được nhúng trong các tệp cấu hình.
bí mật (?:secret\|private).{0,10}[:=]\s*["']?([A-Za-z0-9+/=]{20,}) Các thông tin bí mật và giá trị riêng tư thường được lưu trữ trong các định dạng cấu hình YAML, JSON và INI.
địa chỉ eth 0x[a-fA-F0-9]{40} Địa chỉ ví Ethereum được sử dụng để xác định và nhận dạng nạn nhân.
mật khẩu (?:PASSWORD\|PASSPHRASE)\s*=\s*["']?(\S{4,64}) Các biến môi trường mật khẩu và cụm mật khẩu được xuất theo kiểu shell.

Sau đó, scanner.js đọc toàn bộ sáu tệp cấu hình khác — tối đa 500 byte mỗi tệp của ~/.env, ~/.bash_history, ~/.zsh_history, ~/.npmrc, ~/.gitconfig, ~/.git-credentials — và quét process.env để tìm bất kỳ biến nào có tên chứa key, secret, token, password, private, mnemonic, wallet hoặc seed. Cuối cùng, nó gọi execSync('whoami') cùng với os.hostname() và process.cwd() để gắn thẻ bản sao lưu với danh tính của nạn nhân. Toàn bộ dữ liệu được gửi đi, cộng với tối đa 100 phát hiện riêng lẻ, được gửi bằng phương thức POST dưới dạng một đối tượng JSON duy nhất.

Địa chỉ đích của file exfil không được mã hóa cứng trực tiếp. Gói phần mềm sẽ lấy địa chỉ này trong quá trình chạy từ:
https://ddjidd564.github.io/defi-security-best-practices/config.json

— một tài liệu GitHub Pages mà kẻ tấn công kiểm soát. Tệp config.json hiện tại trả về

Nếu quá trình truy xuất đó thất bại, scanner.js lại quay trở lại trạng thái cũ webhook.site URL được mã hóa cứng dưới dạng hằng số. Sự gián tiếp này là chi tiết tinh vi duy nhất trong chiến dịch: nó cho phép kẻ tấn công xoay vòng các mục tiêu trích xuất dữ liệu mà không cần phát hành lại gói, và nó giữ cho URL của trình thu thập dữ liệu thực tế không xuất hiện trong artifact npm, điều này làm cho việc phát hiện dựa trên chữ ký trở nên khó khăn hơn.

Biến thể B: một đường hầm Pinggy, một tệp nhị phân và một biến thể tồn tại lâu dài.

Đợt phát hành trực tiếp còn lại nhỏ hơn nhiều — chỉ gồm năm gói — và kém thông minh hơn nhiều. Tác giả đã hoàn toàn bỏ đi vỏ bọc MCP. Các gói này tự nhận là công cụ hỗ trợ cấu hình cho các công cụ Ethereum và Solana hợp pháp (truffle-config-helper, chainlink-price-feed-aggregator, ganache-cli-provider, solana-pda-helper, công cụ hỗ trợ triển khai xưởng đúc). Tải trọng là một đơn vị duy nhất. https.get-và-giám đốc điều hành dòng trong sau khi cài đặt

C2 là một sản phẩm miễn phí Pinggy tunnel — một dịch vụ tạo đường hầm chung cho nhà phát triển mà kẻ tấn công đang sử dụng như một máy chủ C2 tạm thời. Gói phần mềm này tải xuống bất cứ thứ gì mà đường hầm trả về và đưa nó vào tiến trình con.execKhông có kiểm tra tính toàn vẹn, không có ký xác nhận, không có biện pháp bảo vệ giai đoạn thứ hai. Đường hầm mà nhà điều hành đang phục vụ hôm nay sẽ vận hành theo đúng như vậy.

Gói trang bị mạnh nhất, foundry-deploy-helper:1.8.96, thay thế nội tuyến https.get với quăn lại và một thủ thuật kiên trì:

Phần đuôi & Quá trình này tách tệp nhị phân ra khỏi tiến trình cài đặt, do đó quá trình cài đặt hoàn tất một cách im lặng trong khi một tệp nhị phân chạy lâu vẫn tiếp tục hoạt động ngầm dưới một cái tên trông giống như một tệp bộ nhớ cache Node.js thông thường. Chúng tôi không thu thập được tệp nhị phân đó; đường hầm không phản hồi khi chúng tôi kiểm tra, đây là hành vi dự kiến ​​đối với một đường hầm mà nhà điều hành thiết lập và tắt theo yêu cầu.

 Biến thể C: bề ngoài bóng bẩy, chưa có kíp nổ (cho đến nay)

Chín gói hàng còn lại — trình xác minh sao lưu ví, máy quét bảo mật môi trường, bộ công cụ foundy (một lỗi chính tả cố ý của Foundry), solna-web3 (một lỗi chính tả của Solana), công cụ kiểm tra bảo mật ví, plugin phân tích khí mũ bảo hiểm, ethers-multicall-utils, defi-env-auditor, etherjs-utils - có không có tập lệnh postinstall Và thoạt nhìn, không có dấu hiệu rò rỉ dữ liệu rõ ràng nào trong quá trình thực thi. Chúng có chung nhà phát hành, thương hiệu, kiểu đặt tên Web3, và trong một số trường hợp, cả nội dung README giống hệt với các biến thể đang hoạt động. Chúng tôi coi chúng là một phần của cùng một chiến dịch và đã khuyến nghị loại bỏ trước khi có biện pháp khắc phục, nhưng chúng tôi vẫn chưa liệt kê đầy đủ các tác nhân kích hoạt trong quá trình thực thi của chúng. Phần mềm độc hại không hoạt động có thể là một chỗ đứng mà nhà điều hành đang dành cho một kế hoạch lật đổ trong tương lai — cùng một kiểu mà PhantomBot đã sử dụng vào giữa tháng 5, khi nhà điều hành đã thay thế phần mềm đánh cắp thông tin đăng nhập bằng một phần mềm tuyển dụng cho mạng botnet mà không cần phát hành lại tên gói.

Dòng thời gian & Danh mục

Gói sản phẩm có ngày phát hành sớm nhất trong chiến dịch là gói có phiên bản thấp nhất: chain-key-validator:0.2.3defi-env-auditor:0.3.2 Trông giống như những giọt thử nghiệm ban đầu. Đến khi nhà xuất bản đạt đến mức độ nào đó... truffle-config-helper:1.7.0foundry-deploy-helper:1.8.96Việc thổi phồng số phiên bản là có chủ đích — chọn những con số nghe giống như lịch sử của một gói phần mềm đã được khẳng định. Không có gói nào trong số 22 gói đó có lịch sử hợp lệ trước đó dưới tên chính xác đó trên npm.

Toàn bộ danh mục, được nhóm theo biến thể:

### Biến thể A — Trình thu thập thông tin xác thực (postinstall + MCP-time scanner.js, MD5 b461106e47a1f5966159cd6e92541505)

Bưu kiện phiên bản Được gắn cờ trong Nguồn cấp dữ liệu phát hiện
mnemonic-safety-check 0.5.2 Vâng
solidity-deploy-guard 0.4.4 Vâng
web3-secrets-detector 1.2.6 Vâng
eth-wallet-sentinel 1.0.9 Vâng
deployment-key-auditor 0.7.3 Vâng
defi-threat-scanner 2.1.2 Vâng
crypto-credential-scanner 2.0.2 Vâng
chain-key-validator 0.2.3 Vâng

### Biến thể B — Đường hầm Pinggy https.get → exec (không có thông tin về nguồn cấp dữ liệu phát hiện trước báo cáo này)

Bưu kiện phiên bản Hương vị sau khi cài đặt
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 &

### Biến thể C — ở trạng thái ngủ đông, nghi ngờ có tác nhân kích hoạt trong quá trình chạy (không có thông tin phát hiện nào trước báo cáo này)

Bưu kiện phiên bản Ghi Chú
wallet-backup-verifier 1.0.1
env-security-scanner 1.6.0
foundy-toolkit 1.5.79 lỗi chính tả của xưởng đúc
solna-web3 1.5.98 lỗi chính tả của 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

Các cột Biến thể-A và Biến thể-B không được chọn ngẫu nhiên. Tất cả các tên trong Biến thể-A đều tự quảng bá bản thân như vậy. công cụ kiểm toán bảo mật — “kiểm tra an toàn”, “triển khai bảo vệ”, “máy dò bí mật”, “người giám sát ví”, “kiểm toán viên khóa”, “máy quét mối đe dọa”, “máy quét thông tin xác thực”, “trình xác thực khóa chuỗi”. Chúng nhắm đến nhà phát triển hoặc tác nhân AI đang tìm kiếm một công cụ để đánh giá độ an toàn của một dự án Web3. Tất cả các tên gọi thuộc Biến thể B đều tự quảng bá mình như là… các công cụ hỗ trợ xây dựng và triển khai Đối với cùng một hệ sinh thái Web3 — Truffle, Chainlink, Ganache, công cụ Solana PDA, Foundry. Sự phân chia này phản ánh mô hình tư duy thông thường của nhà phát triển Web3 về “giai đoạn kiểm tra” so với “giai đoạn triển khai”. Dù bạn tiến đến giai đoạn nào, nhà phát hành cũng đã cài cắm sẵn một cái bẫy.

Các chỉ số về sự thỏa hiệp

Mạng và tệp

IOC biến thể Mục đích
https://ddjidd564.github.io/defi-security-best-practices/config.json A Bộ phân giải webhook động được lưu trữ thông qua GitHub Pages.
https://webhook.site/8d334534-1c63-4f4f-a0d7-95c446c8b233 A Điểm cuối thu thập dữ liệu rò rỉ hiện tại, cũng được nhúng như một phương án dự phòng.
rqnyz-2605-7280-7--2000-c51.run.pinggy-free.link/npm/-/binary/telemetry B Đường hầm Pinggy được sử dụng để phân phối các gói dữ liệu nhị phân từ xa.
scanner.js MD5 b461106e47a1f5966159cd6e92541505 A Cấu hình máy quét giống hệt nhau được tái sử dụng trên cả 8 gói Variant-A.
/tmp/.node-cache B Tệp thực thi tách rời bị loại bỏ bởi foundry-deploy-helper:1.8.96.

Nhà xuất bản

  • Tên người dùng npm: ddjidd5640
  • email: 1623682356@qq.com (Chưa được xác minh)
  • Email và SCM xác minh: không có
  • Số lượng gói hàng đã thanh toán: 22, tất cả đều được liệt kê trong danh mục ở trên.
  • Hoạt động sớm nhất có thể quan sát được: chain-key-validator:0.2.3 (Biến thể A)
  • Hoạt động gần đây nhất có thể thấy: chain-key-validator:0.2.3 và crypto-credential-scanner:2.0.2 (cả hai đều diễn ra trong vòng 24 giờ trước khi bài viết này được thực hiện)

Mặt tiền thương hiệu (được sử dụng trong) tác giả / README / fake GH org)

  • “Crypto Security Guild” — được hỗ trợ bởi một tổ chức GitHub trống rỗng hội bảo mật mã
  • “Web3 Audit Collective” — được hỗ trợ bởi một tổ chức GitHub trống rỗng w3audit
  • “Liên minh An ninh DeFi” — được hỗ trợ bởi một tổ chức GitHub trống rỗng bảo mật defi
  • Tham chiếu tài khoản GH ddjidd564 — máy chủ của cấu hình webhook động config.json

Hành vi

  • nút -e postinstall đọc bất kỳ .ssh, .ethereum, .bitcoin, .NS, .bash_history, .zsh_history, .git-credentials với .slice(0, 200) và nối tiếp với | separators là dấu vân tay gần như độc nhất vô nhị của Biến thể A.
  • Nhập khẩu ./scanner.js từ một gói tự đăng ký là MCP của chúng tôi với các công cụ có tên tìm kiếm thông tin đăng nhập bị rò rỉ hoặc các động từ "kiểm toán an ninh" được diễn đạt tương tự là một xác nhận của Biến thể A.
  • Lệnh `node -e postinstall` lấy dữ liệu từ bất kỳ máy chủ *.run.pinggy-free.link nào và chuyển phản hồi vào `child_process.exec` là một xác nhận kiểu B bất kể trình bao bọc nào.

Sự quy kết và động lực

Những bằng chứng hiện có đủ để xác định một phần dấu ấn của nhà xuất bản, nhưng chưa đủ để xác định danh tính thực sự. Email 1623682356@qq.com Đây là địa chỉ email QQ — dịch vụ email miễn phí của Tencent, phổ biến ở Trung Quốc đại lục — và phần số địa phương là ID người dùng QQ; chúng tôi chỉ coi đây là tín hiệu gián tiếp, vì các địa chỉ định dạng QQ được đăng ký rất dễ dàng. Tài khoản npm không có xác thực hai yếu tố, không có email đã được xác minh, không có thông tin đã được xác minh. SCM Liên kết. Bộ ba thương hiệu “Crypto Security Guild” / “Web3 Audit Collective” / “DeFi Security Alliance” hoàn toàn là bịa đặt — không một thương hiệu nào trong ba thương hiệu này tồn tại ngoài chiến dịch này — và các tổ chức GitHub hỗ trợ chỉ là những vỏ bọc rỗng được tạo ra để điền vào các liên kết trên trang npm.

Có hai mô hình đáng chú ý, bởi vì chúng xuất hiện trong các chiến dịch liền kề. Mô hình đầu tiên là Việc xây dựng thương hiệu sẵn có như một bằng chứng xã hội: Người điều hành không chọn những tên dự án hiện có để sử dụng lỗi chính tả; họ đã tạo ra toàn bộ câu chuyện về lòng tin từ đầu, biết rằng một Xây dựng tác nhân AI pipeline Hoặc một nhà phát triển vội vàng khi xem trang npm sẽ khớp mẫu với cụm từ “trông giống như một tổ chức an ninh” thay vì “là một tổ chức an ninh”. Đây là cách tiếp cận tương tự mà các tài liệu về chiếm dụng gói phần mềm một cách cẩu thả đã cảnh báo – các gói được điều chỉnh cho phù hợp với loại tên mà một người có bằng Thạc sĩ Luật sẽ sử dụng. phát minh nếu được yêu cầu cung cấp công cụ bảo mật Web3, được ngụy trang đủ khéo léo để LLM không cần kiểm tra lại. Ngồi xổm là thuật ngữ mới được đặt ra gần đây cho các gói phần mềm độc hại có tên trùng khớp với các vị trí giữ chỗ mà LLM tạo ra khi không có gói phần mềm chính thức; chiến dịch này là phiên bản hung hăng hơn của nó, trong đó người điều hành cũng bịa đặt ra tổ chức mà vị trí giữ chỗ đó thuộc về.

Mẫu thứ hai là Kích hoạt thời gian MCP. Vào lúc scanner.js Quá trình chạy, cài đặt đã hoàn tất và nhà phát triển đã chuyển sang công việc khác. Nguyên nhân kích hoạt là do tác nhân AI gọi một công cụ — tìm kiếm thông tin đăng nhập bị rò rỉTrong trường hợp Biến thể A — điều mà tác nhân chắc chắn sẽ làm, bởi vì đó là toàn bộ lý do nó được giao gói phần mềm. Hành vi độc hại xảy ra trong quá trình... tốt một phần của quy trình làm việc, khi nhà phát triển có nhiều khả năng quan sát trợ lý AI của họ hoàn thành xuất sắc nhiệm vụ mà họ yêu cầu. Đó là một sự thay đổi nhỏ về hành vi so với cách làm cũ "xuất dữ liệu khi..." NPM cài đặt"Mẫu này rất hiệu quả và nó khéo léo tránh được việc phải tự động kích hoạt môi trường biệt lập trong quá trình cài đặt."

Chúng tôi không nêu tên tác nhân đe dọa cụ thể. Các tín hiệu (email QQ, tài khoản đơn lẻ, đợt tấn công 22 gói trong một ngày, hai hệ thống C2 song song) đều nhất quán với một người điều hành duy nhất, một nhóm nhỏ, hoặc một trong những nhóm tấn công bằng cách phát tán gói phần mềm bất hợp pháp đã được ghi nhận trong dữ liệu đo lường của npm trong giai đoạn 2025–2026. Những gì chúng tôi... có thể Điều đó có nghĩa là nhà điều hành này có một hệ sinh thái ưa thích rõ ràng (Ethereum + Solana + công cụ Foundry/Hardhat), một nạn nhân ưa thích rõ ràng (các nhà phát triển Web3 và các tác nhân AI làm việc trên các dự án Web3), và một mô hình duy trì ưa thích rõ ràng (kích hoạt thời gian chạy MCP cộng với cơ chế dự phòng nhị phân tách rời).

Tác động, xu hướng và những gì người phòng thủ có thể làm

Hệ thống cảnh báo sớm của chúng tôi pipeline bị bắt 8 của 22 Các gói được thêm vào trong suốt thời gian diễn ra chiến dịch — sáu gói trong lần quét ban đầu và hai gói nữa được thêm vào sau đó cùng ngày trong quá trình nhóm các gói theo chiến dịch. 14 gói còn lại đã có sẵn trên npm trong nhiều ngày. mà không hề xuất hiện trong bất kỳ nguồn cấp dữ liệu phát hiện nào mà chúng tôi theo dõi.và tại thời điểm viết bài này, chúng vẫn có thể cài đặt được. Khoảng trống đó rất quan trọng vì:

  • Biến thể A không gây tiếng ồn trong quá trình cài đặt.Việc đọc tệp cấu hình (dotfile) diễn ra, nhưng việc trích xuất dữ liệu hàng loạt chỉ được kích hoạt khi một tác nhân AI gọi các công cụ MCP của gói phần mềm. standard sandbox theo dõi quá trình cài đặt sau đó sẽ thấy nút -e và quyết định rằng nó nhỏ và dường như không hoạt động.
  • Biến thể B là một dòng đơn. Không có gì để trình phân loại phần mềm độc hại có thể học hỏi được — không có mã hóa che giấu, không có dữ liệu được mã hóa, không có tên miền đáng ngờ. Đường hầm Pinggy là một dịch vụ hợp pháp dành cho nhà phát triển. Điều đáng ngờ duy nhất là một "trình hỗ trợ cấu hình" lại cần phải gửi dữ liệu về máy chủ.
  • Biến thể C trông hoàn toàn sạch sẽ. Nó không cần cài đặt. hooksMọi tín hiệu tĩnh đều là điều bình thường.

Danh sách kiểm tra ngắn gọn dành cho người bảo vệ trong kỷ nguyên MCP-Tool

Ba hành động cụ thể có thể giúp ngăn chặn chiến dịch này sớm hơn:

  1. Hãy xem xét nhà xuất bản, chứ không phải bao bì sản phẩm. Hai mươi hai gói hàng thuộc một tài khoản QQ-mail đã hoạt động được một năm mà không có SCM Việc xác minh là tín hiệu rõ ràng hơn bất kỳ tính năng nào của từng gói phần mềm. Quy trình cảnh báo sớm của chúng tôi đã phát hiện ra những gói phần mềm đầu tiên vì dấu ấn của nhà phát hành nổi bật — đề xuất điểm uy tín của nhà phát hành mà bất kỳ bộ phân loại nào (an toàn, không kết luận được hoặc phần mềm độc hại) đều có thể giảm trọng số.
  2. Hãy coi các can thiệp cấu hình động là hành vi độc hại cho đến khi có bằng chứng ngược lại. Một gói phần mềm tự động xác định điểm cuối đầu ra của nó trong quá trình chạy từ một tài liệu của bên thứ ba (GitHub Pages, GitHub Gist, Pastebin, đối tượng S3, hoặc bất kỳ nơi nào khác) thì không có lý do chính đáng nào để làm như vậy đối với dữ liệu đo lường. Các điểm cuối đo lường thực sự được mã hóa cứng và được ghi chép lại.
  3. Kiểm tra các gói MCP-server dựa trên giao diện công cụ được quảng cáo của chúng. Các gói Variant-A đều quảng cáo các công cụ có tên gọi như sau: search_leaked_credentials, validate_chain_key, deploy_safevà các động từ "kiểm toán" tương tự. Một máy chủ MCP hiển thị một công cụ mà mô tả của nó tuyên bố quét các thư mục dự án để tìm thông tin xác thực cần yêu cầu người vận hành chấp thuận rõ ràng trước khi tác nhân gọi nó trên một cơ sở mã thực sự. Điểm mấu chốt của MCP là vòng lặp tác nhân không có cách nào biết được liệu search_leaked_credentials Đây là công cụ tìm kiếm thông tin đăng nhập hay là công cụ trích xuất thông tin đăng nhập?

Đối với các nhà phát triển có thể đã cài đặt một trong 22 gói: giả sử bất kỳ khóa văn bản thuần nào trong ~ / .ssh, ~/.ethereum, ~/.bitcoin, ~/.solana, ~/.env, hoặc là ~ / .git-thông tin đăng nhập Nếu thông tin đăng nhập bị xâm phạm, hãy thay đổi mọi thông tin đăng nhập có tên trùng khớp với danh sách bộ lọc biến môi trường ở trên, và trên Linux/macOS, hãy kiểm tra xem có tệp thực thi nào tại đó không. /tmp/.node-cache (và bất kỳ tiến trình mồ côi nào được khởi tạo từ đó). Cài đặt lại phiên bản hợp pháp của công cụ bị mạo danh (đúc, nấm cục, mũ cứng, ganache(v.v.) không xóa tệp nhị phân đã bị loại bỏ.

Phần Variant-C đang ở trạng thái ngủ đông là phần gây ra nhiều rắc rối nhất trong câu chuyện này. Chín gói phần mềm với cấu hình cài đặt sạch và nhà phát hành đã được thiết lập chính xác là loại hàng tồn kho mà một nhà điều hành giữ để dự trữ. Nếu chúng phát nổ sau này — như PhantomBot đã làm khi… axois-utils Việc đóng gói lại phần mềm đã chuyển hướng từ việc đánh cắp thông tin đăng nhập sang tuyển mộ thành viên cho mạng botnet — chúng sẽ kích hoạt tấn công bất kỳ người dùng registry nào đã ghim gói Variant-C từ hôm nay đến khi bị gỡ bỏ. Việc ghim gói phần mềm độc hại theo phiên bản không bảo vệ bạn khỏi nhà phát hành kiểm soát mọi phiên bản.

dự án

  • [Trang xuất bản npm cho ddjidd5640](https://www.npmjs.com/~ddjidd5640) — Hiện có 22 gói hàng được liệt kê trong tài khoản này. Nguồn thông tin chính thức về danh mục tại thời điểm viết bài.
  • [Trang gói npm cho máy quét thông tin xác thực mã hóa](https://www.npmjs.com/package/crypto-credential-scanner) — Ví dụ về hiện vật Biến thể A; các liên kết đến README, lịch sử phiên bản và tác giả đều hiển thị ở đây.
sca-tools-software-composition-analysis-tools
Ưu tiên, khắc phục và bảo mật các rủi ro phần mềm của bạn
Đăng ký tài khoản miễn phí ngay.
Không cần thẻ tín dụng.

Bảo mật quá trình phát triển và phân phối phần mềm của bạn.

với bộ sản phẩm Xygeni