# MAL-2026-11419: Malicious code in cognikit (PyPI)


- **Type:** Malicious package
- **Package:** `cognikit` (PyPI)
- **Published:** 31 Jul 2026

## What is MAL-2026-11419?

MAL-2026-11419 is a malicious package in cognikit, published on 31 Jul 2026. 

### Official description

The package is published under an 'AI toolkit' cover story (README advertises 'CognitKit: Cognitive building blocks for intelligent AI systems' and a 'from cognitkit import CognitiveEngine' quick start) but ships no AI code. The actual payload is a credential and wallet stealer. Modules enumerate Chrome/Edge/Brave/Chromium/Opera/Vivaldi User Data directories and Local/Sync 'Extension Settings' and Local Storage/leveldb paths, targeting a large hardcoded list of extension IDs for password managers (LastPass, Bitwarden, Dashlane, 1Password, Keeper, RoboForm), 2FA authenticators, and crypto wallets (MetaMask, Phantom, Coin98, Ronin, TronLink, Trust, Solflare, Ledger, Trezor, Exodus, Rabby, and others). All of these identifiers are split-string-obfuscated (e.g., APPDATA = 'Ap' + 'pData'; CHR = 'Chro' + 'me'; LDB = 'level' + 'db'; UDATA = 'Use' + 'r Data'; extension IDs concatenated from fragments) to evade string-matching detection. hardware.py builds a cross-OS hardware fingerprint (wmic csproduct/diskdrive uuid on Windows, ioreg IOPlatformUUID on macOS, /sys/class/dmi/id/product_uuid and /etc/machine-id on Linux), SHA-256s it, and resolves the victim's public IP via api.ipify.org, tagging the enrollment record as 'type: halo'. config.py hardcodes a bare-IP C2 at 45.95.186.237 (HTTP API at http://45.95.186.237:8000 and a raw TCP socket channel on 45.95.186.237:8008). fileops.py POSTs arbitrary local files to /manu_upload/ with machine_id and data_type multipart fields, and download_file_from_server GETs opaque bytes from /manu_download/ with a bearer token, writes them to disk, and on POSIX chmod 0755's the file — a second-stage payload dropper.

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.

## What should I do about MAL-2026-11419?

Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.

## Fix prompt for AI coding agents

```text
MAL-2026-11419 is a malicious package: cognikit (PyPI). Every version was published to cause harm.

Task:
1. Search this repository's dependency manifests and lockfiles for the package, including transitive dependencies.
2. If it is present, remove it, regenerate the lockfile with the project's package manager, and replace whatever it was used for.
3. List any CI runners, developer machines or containers that installed it, so their secrets can be rotated.
4. If the package is not used anywhere, say so and change nothing.

Reference: https://insights.sbomify.com/MAL-2026-11419/ (Markdown: https://insights.sbomify.com/MAL-2026-11419/index.md)
```

## Sources

- OSV: https://osv.dev/vulnerability/MAL-2026-11419

---
From sbomify Insights: https://insights.sbomify.com/MAL-2026-11419/
Summaries are generated and may contain mistakes; the official description above is the record.
