catalogaiPyPI
catalogai is a confirmed malicious PyPI package (MAL-2026-11418) that steals credentials and exfiltrates sensitive data (malicious version 0.1.2). Do not install it — remove it immediately and rotate any exposed credentials.
Malicious code in catalogai (PyPI)
What this malware does
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.
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.
Malicious versions
Indicators of compromise (SHA-256)
Detection & response playbook
Credential / info stealerFind it
Scan your lockfiles (package-lock.json, pnpm-lock.yaml, yarn.lock, requirements.txt, poetry.lock, etc.) and build artifacts for catalogai (version 0.1.2). O3 Security's supply-chain scanner checks every dependency against known-malicious package intelligence at install time and in CI, flagging catalogai across your stack and pipelines.
If you installed it — respond
catalogai is built to steal secrets, so assume every credential the build or runtime could read is compromised. Remove it from your project and lockfile, then rotate ALL exposed secrets — npm/registry tokens, cloud keys, CI/CD secrets, SSH keys, and any .env values — from a known-clean machine. Audit logs for unauthorized use of those credentials.
Did it already run?
If catalogai was ever installed, its post-install/runtime payload may have already executed. O3's L7 egress monitoring and runtime eBPF sensors detect the credential exfiltration or command-and-control callback after install and block the malicious outbound channel, so you catch and contain the actual compromise — not just the presence of the package.
How O3 protects you
O3 blocks catalogai before install through its supply-chain scanner, and if it has already run, detects and severs the exfiltration or C2 callback at runtime through L7 egress monitoring and eBPF.
Frequently asked questions
Campaign
References
Credits
- Amazon Inspector · finder
- Kamil Mańkowski (kam193) · reporter
Detect & block this
O3 blocks catalogai-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the credential exfiltration and severs the channel.