{"id":"MAL-2026-14296","summary":"Malicious code in gfff5 (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (2f12f82dc8c54282b428617c03537a54f3361841b02233b6626eae6f1e8ec4ee)\ngfff5 advertises itself as a 'System binary configuration tool' but its actual behavior is covert surveillance. When the CLI is invoked, index.js silently installs Python 3.12 on Windows (via winget, or by downloading the python.org installer to %TEMP% and running it with `/quiet InstallAllUsers=0 PrependPath=1`), then pip-installs the libraries required by a bundled pointer.py. pointer.py registers global low-level keyboard hooks via the `keyboard` module (including a raw `mash_hook`), captures screenshots with mss / ImageGrab, reads clipboard contents via pyperclip, walks other application windows' UI trees with uiautomation.WalkControl, and POSTs the collected text and images to the hardcoded author endpoint https://iq-sec.vercel.app/api. Stealth features (blank window titles, transparent overlay, a `panic_exit` hotkey, and source comments labeling the installer 'GHOST INSTALLER — No UI, No Admin Popup') confirm the behavior is intentionally hidden from the user and unrelated to the package's declared purpose.\n","modified":"2026-08-19T09:30:15.205128168Z","published":"2026-08-19T09:13:15Z","database_specific":{"malicious-packages-origins":[{"sha256":"2f12f82dc8c54282b428617c03537a54f3361841b02233b6626eae6f1e8ec4ee","source":"amazon-inspector","versions":["1.0.0"],"id":"IN-MAL-2026-018416","import_time":"2026-08-19T09:15:25.243697423Z","modified_time":"2026-08-19T09:13:15Z"}]},"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/gfff5/v/1.0.0"}],"affected":[{"package":{"name":"gfff5","ecosystem":"npm","purl":"pkg:npm/gfff5"},"versions":["1.0.0"],"database_specific":{"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/gfff5/MAL-2026-14296.json","cwes":[{"name":"Embedded Malicious Code","cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature."}],"indicators":{"package_integrity":[{"filename":"gfff5-1.0.0.tgz","hashes":{"sha1":"03cdf6e471b3740ac9085872ad9471afec4521f5","sha512_sri":"sha512-IH3lYH8iJ2cQxo56bC6X2jkuGTrD+HHOtE+9zo3cLQ1IZ6iJFAsVCzHL1m/Yq9/bZWhrgX8hEMso+ALKXK75YA=="}}],"evidence_files":[{"path":"pointer.py","sha256":"01ae88f6fcd21d909396e7189f67fc5f5d4accc4891de45644659dcf5b5b79e0","tlsh":"cde2fa09ec0d0896c473de2e5852b857fb1e0b435a1e9e17f8bc99901f743428ae0ef9"},{"sha256":"f9918a3925f7dfc03976523f6cd3a7f1f2e1d85846f44ef3510d0a23bfe5e978","tlsh":"fb814f065a95a234ed7247a99b07212be517a0a3a100e69cbdbe83850f76945c073fee","path":"index.js"}]}}}],"schema_version":"1.9.0","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"}]}