{"id":"MAL-2026-6405","summary":"Malicious code in sypoi1 (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (b22a9450e70ba1095097d2779ad6da01c111c37e940d890fbfc21d1aeb6a0f11)\nOn require, index.js silently bootstraps a full Python runtime on the installer's machine — first via `winget install -e --id Python.Python.3.12 --silent`, falling back to downloading `python-3.12.3-amd64.exe` from python.org and executing it with `/quiet InstallAllUsers=0 PrependPath=1` — then silently `pip install`s pyautogui, keyboard, mss, pillow, pyperclip, and uiautomation. It then spawns pointer.py, which installs system-wide hotkeys (Ctrl+C, Alt+S, F8/F9/F10, Alt+M, Ctrl+Q), creates a topmost transparent always-on-top Tk window using `overrideredirect(True)` to hide from the user, continuously monitors clipboard contents, and on hotkeys captures full-monitor screenshots and on-screen text via UI Automation. Captured clipboard text and base64-encoded screenshots are POSTed to a hardcoded destination at `https://iq-overlay-pointer.vercel.app/api`. The agent also exposes a `mash_callback` mode that hooks `keyboard.on_press` with `suppress=True` and substitutes attacker-supplied characters via `pyautogui.write(char)`, injecting keystrokes into whatever window is focused. The package's declared purpose — \"System binary configuration tool\" by author \"SysDev\" with keywords system/binary/util/config — does not match any of this behavior; the metadata is a cover story for a screen/clipboard surveillance and remote-keystroke-injection agent.\n\n## Source: ghsa-malware (8f75d2bf0f1e5af3bf0af9183ea1f44474eb92ce5349b75aaefa4a4b3aa2b3f6)\nAny computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.\n","aliases":["GHSA-25vm-7gph-35p5"],"modified":"2026-07-09T16:32:02.254588097Z","published":"2026-06-24T22:18:30Z","database_specific":{"malicious-packages-origins":[{"id":"IN-MAL-2026-007444","modified_time":"2026-06-24T22:18:30Z","versions":["1.0.0"],"source":"amazon-inspector","sha256":"b22a9450e70ba1095097d2779ad6da01c111c37e940d890fbfc21d1aeb6a0f11","import_time":"2026-06-24T22:32:48.281524075Z"},{"modified_time":"2026-07-01T20:48:32Z","versions":["1.0.1"],"source":"amazon-inspector","sha256":"3915c6ac9deb9f7d6d26939bb46fbe5782646d9f146fea26ad1da3a05ef7dbae","import_time":"2026-07-01T21:04:21.066513892Z","id":"IN-MAL-2026-007902"},{"modified_time":"2026-07-07T16:14:05Z","ranges":[{"type":"SEMVER","events":[{"introduced":"0"}]}],"source":"ghsa-malware","sha256":"8f75d2bf0f1e5af3bf0af9183ea1f44474eb92ce5349b75aaefa4a4b3aa2b3f6","import_time":"2026-07-07T17:01:10.250439616Z","id":"GHSA-25vm-7gph-35p5"},{"versions":["1.0.2"],"source":"amazon-inspector","sha256":"65d949f015f5bb8d5053e1f138f9b90f74ae3de2ca88abff64a7554574f8faa6","import_time":"2026-07-09T16:20:49.011231861Z","id":"IN-MAL-2026-009183","modified_time":"2026-07-09T15:40:28Z"}]},"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/sypoi1/v/1.0.0"},{"type":"PACKAGE","url":"https://www.npmjs.com/package/sypoi1/v/1.0.1"},{"type":"ADVISORY","url":"https://github.com/advisories/GHSA-25vm-7gph-35p5"},{"type":"PACKAGE","url":"https://www.npmjs.com/package/sypoi1/v/1.0.2"}],"affected":[{"package":{"name":"sypoi1","ecosystem":"npm","purl":"pkg:npm/sypoi1"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"}]}],"versions":["1.0.0","1.0.1","1.0.2"],"database_specific":{"indicators":{"package_integrity":[{"hashes":{"sha1":"319d5cee242c0e942307560d75a9265d4bc19345","sha512_sri":"sha512-aFJobp2UJW5C+ydadABTeY42YsjxpB+f3NqZgIvpZ+UYBespExyALtR4F6TIkp/aKE51b9jYfqHMy13JACNAYw=="},"filename":"sypoi1-1.0.0.tgz"}],"evidence_files":[{"tlsh":"4af22e09ec1d089ac073cd2f5952a853ff1a07439a5eda17f8bc99901f743468ae4ef9","path":"pointer.py","sha256":"a095aa6a4b08da23c6f2267bc18fe5f47342a3fa3225309796f54e1935f43207"},{"path":"index.js","sha256":"dd63a58755fb0ff2919a9debd8e6adb710a9f755454c10e766920dec788c4c33","tlsh":"69814f065a95a234ed7247a99b07212be517a063a100e69cbdbe83840f76945c073fee"},{"tlsh":"dfe04f338d655c9344b48aa29a368a15f5718b3f10254c0f30bb511c97a29b245bab6c","path":"package.json","sha256":"2dca436bcfa80b415c6742292f0f34e21fdf0685931458b1b83d5cf2f084848f"}]},"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."},{"description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code","cweId":"CWE-506"},{"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/sypoi1/MAL-2026-6405.json"}}],"schema_version":"1.7.5","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"}]}