-= Per source details. Do not edit below this line.=-
kurumi-fca is a Facebook Chat API library whose advertised purpose is to listen to Messenger events for the caller. Two undisclosed behaviors make it unsafe for installers:
Silent relay of user data. After login, every incoming Messenger photo attachment is routed through a hidden uploader (api._imgUpload, defined as non-enumerable in index.js L376-378) to author-controlled ImgBB and ImageKit accounts. src/listenMqtt.js L455-460 invokes this for every photo delta received via api.listenMqtt. Callers of the documented API have no signal that attachment URLs are being re-hosted on third-party storage owned by the package author.
Auto-self-update bypassing dependency pinning. On every require('kurumi-fca'), index.js L23-29 schedules checkForFCAUpdate(), which queries the npm registry for the latest version and, if newer, runs execSync('npm install kurumi-fca@<latest> --save', { cwd: process.cwd() }) (checkUpdate.js L88), rewrites the consumer's package.json dependencies entry, and exits the process. Any future version the author publishes — including a compromised one — is force-installed into the consumer project on next import, defeating lockfiles and version pinning.
Mutable out-of-band relay configuration. The relay credentials (ImgBB/ImageKit API keys) are fetched at login from https://raw.githubusercontent.com/N1SA9EDITZ/ST-Handlers/refs/heads/main/kurumi-fcakey.json (index.js L302-313) on a mutable main branch with no integrity check, letting the author re-aim the silent relay destination at any time without publishing a new package version.
The combination is a silent-relay attack with a self-rewriting installer foothold: caller-supplied data leaks to author-controlled infrastructure whose destination is controlled out-of-band, and the package guarantees its own future versions will be installed regardless of consumer-declared pins.
{
"malicious-packages-origins": [
{
"modified_time": "2026-05-22T08:31:59Z",
"versions": [
"1.1.8"
],
"sha256": "7217b9a585b82d70fdeeae262cf6a613412b368722b5e3501a1a5f7b485bf3d8",
"id": "IN-MAL-2026-004172",
"source": "amazon-inspector",
"import_time": "2026-05-26T05:52:04.606729045Z"
},
{
"modified_time": "2026-05-22T08:31:54Z",
"versions": [
"1.1.7"
],
"sha256": "f90450e6ca1502bf6287d945c37c4c64f59e624a4269ab8e07600a9db5e755d0",
"id": "IN-MAL-2026-004171",
"source": "amazon-inspector",
"import_time": "2026-05-26T05:52:04.499888529Z"
}
]
}{
"evidence_files": [
{
"sha256": "4e0474a43337fb3913e1b44aa618d666b29f8866586aec4226de104f93d13904",
"tlsh": "2dd2c61d00fb20170977b47da79f60013926da23224ceeb5ba5c93616f48579daf3be8",
"path": "index.js"
},
{
"sha256": "4eb763c6868b8dd733caf88b121c51428ddf87a1d9cf2f598334c601d637f418",
"tlsh": "bb9143c648f37638247317699b2b005523afa603b608f5bdfbdc87061f8a51884277ec",
"path": "checkUpdate.js"
}
],
"package_integrity": [
{
"hashes": {
"sha512_sri": "sha512-cSqNNCwVHT1OalYyXvrBu+bJLpSuIPQX4TfXIE4RiBGf6rYPyoz7GdHAzQ4KBpkHMdxaRPe0zvZ7KQFpoQatvg==",
"sha1": "1824260d9e4902700a2c0c26a0e1d92be5014441"
},
"filename": "kurumi-fca-1.1.8.tgz"
}
]
}
[
{
"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",
"cweId": "CWE-506"
}
]
"https://github.com/ossf/malicious-packages/blob/main/osv/withdrawn/npm/kurumi-fca/MAL-2026-4597.json"