-= Per source details. Do not edit below this line.=-
The package presents itself as 'AI assistant utilities' but its workspace.py implements two active attacks against the installer's Windows session. A background Helper thread uses Win32 GetAsyncKeyState over key codes 1..255 to capture every keystroke, buffers modifier state, and flushes the log to a file whose path is imported as KEYLOGGER_DIR / KEYLOGGER_LOG_FILE from cognikit.config — the code's own identifiers name the artifact as a keylogger. A second _monitor_clipboard thread polls the Windows clipboard and matches its contents against a base64-obfuscated regex table for ~18 cryptocurrency address formats (BTC, ETH, TRX, XRP, SOL, DOT, XMR, LTC, DOGE, ADA, ATOM, ALGO, NEAR, APT, SUI, TON, BCH); on a match, the clipboard is emptied and rewritten with an attacker-supplied replacement address from self.wallet_replacements, so funds the user attempts to send are redirected to attacker-controlled wallets. The address-regex table and chain tickers are hidden behind a _d() base64 decoder invoked at import time, aligned with the clipper behavior and inconsistent with the advertised purpose.
In this campaign, some packages (e.g. cognikit, aiassistcore) are pulled as dependencies and contain the C2 configuration and the malicious functionality, while others (like aichannel) provide fake functionality and silently execute malicious actions from dependencies. The malicious functionality is oriented to replace the copied cryptocurrency wallet addresses with these controlled by the attacker and downloaded from the C2 server, exfiltrating browser data, establishing a remote control over the device, placing malicious extensions in browsers.
IoCs are consistent with those previously attributed to North Korea's...
0.1.2Exploitability
AV:NAC:LPR:NUI:NScope
S:CImpact
C:HI:HA:H10.0/CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H