MAL-2026-11418
Dashboard / Malicious Package / MAL-2026-11418
MAL-2026-11418
Summary: Malicious code in catalogai (PyPI)
Details: Source: amazon-inspector (ccb9ff2c71a85c2bac770a874ed3c811e963ba9b3da37417fb600678d8119991) catalogai 0.1.2 presents itself as a semantic-search / AI-catalog library but the shipped modules perform browser credential theft and remote-controlled Chrome extension installation. catalogai/export.py enumerates Chrome, Edge, Brave, Opera, Vivaldi, and Chromium user-data directories across all detected profiles, copies extension Local/Sync settings, Local Storage, and the LastPass extension database into a temp directory, zips the result, computes a hardware fingerprint, and uploads the archive via cognikit.fileops.upload_file_to_public_api. catalogai/extensions.py runs get_extinfo(), which shells out to PowerShell (Get-CimInstance Win32_UserAccount) to capture the current user's Windows SID, gathers installed-browser paths and each profile's Secure Preferences JSON, writes extinfo.json, and uploads it to the same sink. extensions.py also exposes handle_install_extension / handle_grab_extension network-message handlers that download extdata.zip, extract it into each Chrome user-data Extensions directory, terminate running Chrome via taskkill, rewrite Secure Preferences, set the HKCU Chrome policy values DeveloperToolsAvailability=0 and ExtensionDeveloperModeSettings=0 to hide developer-mode UI, and relaunch Chrome with --restore-last-session. The package's __init__ is inert, but the runtime dependency cognikit>=0.1.2 supplies the upload_file_to_public_api, send_message, and get_hardware_fingerprint primitives used by the harmful modules. Source: kam193 (ebd7348ccf6d30158d05df90e15ebba938c30119c83b2ce6679cd69068dc667b) 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 "Contagious Interview" campaign. The known TTP suggest these packages are used as dependencies in malicious interview assessments or cryptocurrency projects. Category: MALICIOUS - The campaign has clearly malicious intent, like infostealers. Campaign: 2026-07-cognikit Reasons (based on the campaign): - crypto-related - The malicious code is intentionally included in a dependency of the package - keylogger - clipboard-modify - exfiltration-browser-data - persistence - rat - The package contains code to execute remote commands (probably limited to a specific set) on the victim's machine.
References: https://x.com/L0Psec/status/2066540845893861386, https://bad-packages.kam193.eu/pypi/package/catalogai, https://pypi.org/project/catalogai/0.1.2/
Affected packages
Package
Name: catalogai
Purl: pkg:pypi/catalogai
Affected ranges
Type: N/A
Events:
