Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
Malicious package

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)

MAL-2026-11418
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
pip uninstall catalogai

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

1 flagged
0.1.2

Indicators of compromise (SHA-256)

ebd7348ccf6d30158d05df90e15ebba938c30119c83b2ce6679cd69068dc667b
ccb9ff2c71a85c2bac770a874ed3c811e963ba9b3da37417fb600678d8119991

Detection & response playbook

Credential / info stealer
  1. Find 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.

  2. 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.

  3. 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.

  4. 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

No. catalogai on PyPI has been identified as a malicious package (version 0.1.2 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

2026-07-cognikitIN-MAL-2026-011010

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.

Explore

catalogai (PyPI) malicious package — MAL-2026-11418 | O3 Security