目标达成 感谢每一位支持者 — 我们达成了 100% 目标!

目标: 1000 元 · 已筹: 1359 元

100%
← 返回恶意软件包
npm active

react-native-bright-sdk

MAL-2026-18290
2026-10-26 03:20:45
OpenSSF Malicious Packages
该软件包被识别为恶意包。建议隔离受影响环境,并排查凭据泄露和异常网络连接。

Summary

Malicious code in react-native-bright-sdk (npm)

安装阶段执行文件/数据外传
AI 分析整理qwen3.6
基于上游报告生成,请以下方原始证据为准。
公开使用量数据
统计周期
last-week
下载量
349
数据源
npmjs.org
下载量只代表仓库活动度,不等于已被入侵的安装数量。
受影响版本
EcosystemPackageVersion
npmreact-native-bright-sdk9000.0.0
恶意行为说明OpenSSF OSV
上游来源证据
展开原始 OSV JSON
{"schema_version":"1.7.4","id":"MAL-2026-18290","published":"2026-10-22T23:01:30Z","modified":"2026-10-26T03:20:45.329801764Z","summary":"Malicious code in react-native-bright-sdk (npm)","details":"react-native-bright-sdk 9000.0.0 is a dependency-confusion package that squats the name of a React Native SDK that is distributed privately as a tarball outside the npm registry. Its `preinstall` script runs `node canary.js`, which collects the machine's hostname and a timestamp, base64-encodes them and sends them in an HTTPS GET request to `https://estimator-nemeses-unwatched.ngrok-free.dev/canary` on install. The package describes itself as a \"namespace reservation / canary\" and contains no other functionality. The version number 9000.0.0 makes it outrank any private release of the same name in a project whose dependency resolution falls back to the public registry. The request does not read the response or set a timeout, so the install can hang. It was published on 2026-10-22, after an inert `0.0.0-stage` placeholder (not affected). Any machine that installed this version has disclosed its hostname to a third party; remove the package, and check that private package names are pinned to or scoped to the internal registry.\n\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (4208eebeabe05114e68e0b4abf11c9ff176594200c28400fe5c82deb3a5c8f55)\nThe package declares a preinstall lifecycle hook that executes canary.js on `npm install`. The script collects os.hostname() and an install timestamp, base64-encodes the JSON payload, and transmits it via HTTPS GET to the hardcoded endpoint https://estimator-nemeses-unwatched.ngrok-free.dev/canary. The destination is an anonymous, ephemeral ngrok tunnel unrelated to any legitimate publisher infrastructure, and the beacon fires automatically without user opt-in. The package ships no functional code justifying this network activity; it exists only to send the install signal. The version number (9000.0.0) and name resemble a dependency-confusion / namespace-reservation shape targeting internal package resolution.\n","affected":[{"package":{"name":"react-native-bright-sdk","ecosystem":"npm"},"versions":["9000.0.0"],"database_specific":{"cwes":[{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"}],"indicators":{"evidence_files":[{"path":"canary.js","sha256":"6074ad37a144690f73db03af51dcb13de9a191488b877e3f619e1ae07db055b4","tlsh":"1f01f4b0a2e891741210b4c3d915fc0da17bd0fd3ede23a557851969f9d1438c67774d"}],"package_integrity":[{"filename":"react-native-bright-sdk-9000.0.0.tgz","hashes":{"sha1":"3d00a777a24e53bee371f569197615c09f74be68","sha512_sri":"sha512-qm54YMFEioEUV/7nfIWpSAF2yTbzb5Vyzvkugu2SPQIiDFqY9jYN12hXRkcnIKBMRoO2z/P02VuehM/BzHF9IA=="}}]}}}],"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/react-native-bright-sdk/v/9000.0.0"}],"database_specific":{"iocs":{"domains":["estimator-nemeses-unwatched.ngrok-free.dev"],"files":[{"digests":{"sha256":"6074ad37a144690f73db03af51dcb13de9a191488b877e3f619e1ae07db055b4"},"note":"install hook: sends base64 hostname and timestamp to the ngrok host over HTTPS","paths":["canary.js"],"source":"PACKAGE_ARCHIVE"},{"digests":{"sha256":"7710019ca6be234369704c34ddba90be86eb3b15255b84f1d13f79f2fe5f5935"},"note":"scripts.preinstall runs `node canary.js`","paths":["package.json"],"source":"PACKAGE_ARCHIVE"}],"urls":["https://estimator-nemeses-unwatched.ngrok-free.dev/canary"]},"malicious-packages-origins":[{"id":"IN-MAL-2026-021709","import_time":"2026-10-25T15:15:15.819951759Z","modified_time":"2026-10-25T15:11:43Z","sha256":"4208eebeabe05114e68e0b4abf11c9ff176594200c28400fe5c82deb3a5c8f55","source":"amazon-inspector","versions":["9000.0.0"]}]},"credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"},{"name":"Robin Frehner, Protet","contact":["https://protet.io","mailto:hello@protet.io"],"type":"FINDER"}]}

数据来源:OpenSSF Malicious Packages · Apache-2.0