Malicious code in log-sink-testmetest (npm)
log-sink-testmetest 1.0.1 ships the credential stealer of data-pipeline-testmetest 2.0.1 and runs it on `npm install` without an install script: its `binding.gyp` source `/dev/null 2>&1; echo stub.c)` makes node-gyp run `index.js`, which decrypts `data.bin` and pipes it into Bun. The payload is identical to the one in event-emitter-testmetest 5.0.0. Published by npm account `testnewtestme2` on 2026-10-21; 1.0.0 is empty. --- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (b429dffb99ce1de5d5c43b4d59da752748d6400d53f36485ce9e78faaa6e6881) log-sink-testmetest@1.0.1 ships a binding.gyp that uses GYP command expansion `
- Products
- log-sink-testmetest
- Affected versions
- 1.0.1
- Fixed versions
- Not specified
- CVEs
- Not specified
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 17:45 UTC · Revision 1
Source evidence
Malicious code in log-sink-testmetest (npm)
core-osv · Original sourcePublished 21 Oct 2026, 17:30 UTC
log-sink-testmetest 1.0.1 ships the credential stealer of data-pipeline-testmetest 2.0.1 and runs it on `npm install` without an install script: its `binding.gyp` source `/dev/null 2>&1; echo stub.c)` makes node-gyp run `index.js`, which decrypts `data.bin` and pipes it into Bun. The payload is identical to the one in event-emitter-testmetest 5.0.0. Published by npm account `testnewtestme2` on 2026-10-21; 1.0.0 is empty. --- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (b429dffb99ce1de5d5c43b4d59da752748d6400d53f36485ce9e78faaa6e6881) log-sink-testmetest@1.0.1 ships a binding.gyp that uses GYP command expansion `
osv:MAL-2026-18179
log-sink-testmetest
Fixed versions: Not specified
Complete source record
{
"id": "c4077b78e13e358d21cdf3de0c830434ec41be4b01c1194b2a176901a956b074",
"url": "https://osv.dev/vulnerability/MAL-2026-18179",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Malicious code in log-sink-testmetest (npm)",
"summary": "log-sink-testmetest 1.0.1 ships the credential stealer of data-pipeline-testmetest 2.0.1 and runs it on `npm install` without an install script: its `binding.gyp` source `/dev/null 2>&1; echo stub.c)` makes node-gyp run `index.js`, which decrypts `data.bin` and pipes it into Bun. The payload is identical to the one in event-emitter-testmetest 5.0.0. Published by npm account `testnewtestme2` on 2026-10-21; 1.0.0 is empty. --- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (b429dffb99ce1de5d5c43b4d59da752748d6400d53f36485ce9e78faaa6e6881) log-sink-testmetest@1.0.1 ships a binding.gyp that uses GYP command expansion `",
"evidence": "osv:MAL-2026-18179",
"products": [
{
"name": {
"value": "log-sink-testmetest",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1.0.1",
"evidence": "/affected/0/versions"
}
]
}
],
"severity": "unknown",
"structured": {
"id": "MAL-2026-18179",
"aliases": [
"MAL-2026-18179"
],
"affected": [
{
"package": {
"name": "log-sink-testmetest",
"purl": "pkg:npm/log-sink-testmetest",
"ecosystem": "npm"
},
"versions": [
"1.0.1"
],
"database_specific": {
"cwes": [
{
"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",
"description": "The product contains code that appears to be malicious in nature."
}
],
"source": "https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/log-sink-testmetest/MAL-2026-18179.json",
"indicators": {
"evidence_files": [
{
"path": "binding.gyp",
"tlsh": "5db09b5d75185e995cd448e0e1d4d94594e61577445a0540c5d6581166643045848b55",
"sha256": "98caee01817cc52eb5a2ca2307ec039a47ed771d2c34cd7a4b0d174f3423a6fa"
},
{
"path": "index.js",
"tlsh": "3c6262626b891ba561880cf6739d2503a690ec5f39b07b68ffd25557bd3d522bc20370",
"sha256": "f0f5586f86e4a432949e595c5c9f15c6588bf8a0f12f924dc3d6ce37e0419165"
}
],
"package_integrity": [
{
"hashes": {
"sha1": "0f2e21873d92a8b0dbd8e8486ce5e4c0d6c26567",
"sha512_sri": "sha512-XL2pHc22N+kdrpLtKXnaeGMiLeAzHA9AZ490hu91RYqTcugTw//XCxjULzMtUBSVu2RtmVkQRdDglFNoyfuqAQ=="
},
"filename": "log-sink-testmetest-1.0.1.tgz"
}
]
}
}
}
],
"modified": "2026-10-22T06:45:04.772939537Z",
"provider": "osv",
"references": [
"https://www.npmjs.com/package/log-sink-testmetest/v/1.0.1"
],
"provider_metadata": {
"iocs": {
"files": [
{
"note": "hidden install hook: node-gyp runs `env node index.js`",
"paths": [
"binding.gyp"
],
"source": "PACKAGE_ARCHIVE",
"digests": {
"sha256": "98caee01817cc52eb5a2ca2307ec039a47ed771d2c34cd7a4b0d174f3423a6fa"
}
},
{
"note": "obfuscated loader that decrypts `data.bin` and pipes it into `bun run -`",
"paths": [
"index.js"
],
"source": "PACKAGE_ARCHIVE",
"digests": {
"sha256": "f0f5586f86e4a432949e595c5c9f15c6588bf8a0f12f924dc3d6ce37e0419165"
}
},
{
"note": "AES-GCM-encrypted, gzipped stealer payload",
"paths": [
"data.bin"
],
"source": "PACKAGE_ARCHIVE",
"digests": {
"sha256": "94f412c3f3e5b6a62be17dd70be471e5df6f2a86ed39cd53587e7c126b454cd8"
}
},
{
"note": "decrypted 948 KB Bun payload, identical to event-emitter-testmetest 5.0.0",
"source": "IN_MEMORY",
"digests": {
"sha256": "ca312e76344ef3fd61f6b2c70004f18b2550e8685032a202d895760c87ccbb72"
}
}
]
},
"malicious-packages-origins": [
{
"id": "IN-MAL-2026-021573",
"sha256": "b429dffb99ce1de5d5c43b4d59da752748d6400d53f36485ce9e78faaa6e6881",
"source": "amazon-inspector",
"versions": [
"1.0.1"
],
"import_time": "2026-10-22T06:30:24.356478221Z",
"modified_time": "2026-10-22T06:11:12Z"
}
]
}
},
"related_cves": [],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 404568,
"published_at": "2026-10-21T17:30:00+00:00"
}