MAL-2026-14486Malicious code in spf-analytics (npm)
| Ecosystem | Package | Version |
|---|---|---|
| npm | spf-analytics | 1.0.0 |
{"modified":"2026-08-25T08:30:04Z","published":"2026-08-25T08:30:04Z","schema_version":"1.7.4","id":"MAL-2026-14486","summary":"Malicious code in spf-analytics (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (8dece44c5ce884af66714dbff1f022e0345e860d0090cb7bcb30fd7b352cdd77)\nindex.js is a heavily obfuscated browser script (obfuscator.io-style string-array + rotation) advertised for inclusion via unpkg on Shopify-style storefronts. At runtime it listens for the 'gokwik_events' window event and harvests customer name, phone, email, full address, city, state, country, pincode, cart line items, order total, and payment method. The captured PII is encrypted with a hardcoded RSA-OAEP public key wrapping an AES-GCM session key and POSTed to https://connector.internalwebhooks.com/spf-analytics, a destination the storefront operator did not configure. A localStorage key ('shopify_analytics_cache_7f4c91d8b2e64a0f9c37d5ab81e26f43') holds up to 500 fingerprints to suppress duplicate uploads, and a __spfAddressForwarderLoaded flag guards against double-loading. The endpoint URL, PEM key, event name, and field names are all indirected through the obfuscator string table, concealing the destination and captured fields from casual inspection of the CDN-served bundle. The package presents itself as 'analytics' but the relay is to a non-first-party endpoint hardcoded by the author, encrypted to prevent network inspection, and never disclosed to the operator embedding the script.\n","affected":[{"package":{"ecosystem":"npm","name":"spf-analytics"},"versions":["1.0.0"],"database_specific":{"cwes":[{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"}],"indicators":{"evidence_files":[{"path":"index.js","sha256":"dcaf41c676f03579a68b2526efd7df76f4576611784e6ad0ad80404191631595","tlsh":"aa923f41aec56ea113c34f2b7b57f1f0d21b499d368048cbc628bda52464737fba5a31"}],"package_integrity":[{"filename":"spf-analytics-1.0.0.tgz","hashes":{"sha1":"7026376523615fdb7bb2de3660f3b9419501c293","sha512_sri":"sha512-tC1oks+Kfscs6nr1xSa6ltmQLbGLbBodiERyepU0lYaFJdm3W6jnC+rxrfdHgkuvD5v+n2fFRpNKmLNrRGVU+A=="}}]}}}],"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/spf-analytics/v/1.0.0"}],"credits":[{"name":"Amazon Inspector","type":"FINDER","contact":["inspector-research@amazon.com"]}],"database_specific":{"malicious-packages-origins":[{"id":"IN-MAL-2026-018732","import_time":"2026-08-25T08:49:17.968010753Z","modified_time":"2026-08-25T08:30:04Z","sha256":"8dece44c5ce884af66714dbff1f022e0345e860d0090cb7bcb30fd7b352cdd77","source":"amazon-inspector","versions":["1.0.0"]}]}}数据来源:OpenSSF Malicious Packages · Apache-2.0