目标达成 感谢每一位支持者 — 我们达成了 100% 目标!

目标: 1000 元 · 已筹: 1359 元

100%
← 返回恶意软件包
PyPI active

catalogai

MAL-2026-11418
2026-08-04 21:35:15
OpenSSF Malicious Packages
该软件包被识别为恶意包。建议隔离受影响环境,并排查凭据泄露和异常网络连接。

Summary

Malicious code in catalogai (PyPI)

凭据/密钥窃取文件/数据外传
AI 分析整理qwen3.6
基于上游报告生成,请以下方原始证据为准。
公开使用量数据
统计周期
—
下载量
—
数据源
暂无公开数据
下载量只代表仓库活动度,不等于已被入侵的安装数量。
永久样本归档NAS
版本状态大小SHA-256获取方式
0.1.2unavailable———
样本保存在内网 NAS 隔离区,不公开镜像地址;已开通会员可直接从平台下载。同步任务不会解压或执行样本。
受影响版本
EcosystemPackageVersion
PyPIcatalogai0.1.2
恶意行为说明OpenSSF OSV
上游来源证据
展开原始 OSV JSON
{"schema_version":"1.7.4","id":"MAL-2026-11418","published":"2026-07-31T14:23:31Z","modified":"2026-08-04T21:35:15.302384543Z","summary":"Malicious code in catalogai (PyPI)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (ccb9ff2c71a85c2bac770a874ed3c811e963ba9b3da37417fb600678d8119991)\ncatalogai 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.\n\n## Source: kam193 (ebd7348ccf6d30158d05df90e15ebba938c30119c83b2ce6679cd69068dc667b)\nIn 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. \n\nIoCs 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.\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2026-07-cognikit\n\n\nReasons (based on the campaign):\n\n\n - crypto-related\n\n\n - The malicious code is intentionally included in a dependency of the package\n\n\n - keylogger\n\n\n - clipboard-modify\n\n\n - exfiltration-browser-data\n\n\n - persistence\n\n\n - rat\n\n\n - The package contains code to execute remote commands (probably limited to a specific set) on the victim's machine.\n","affected":[{"package":{"name":"catalogai","ecosystem":"PyPI"},"versions":["0.1.2"],"database_specific":{"cwes":[{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"}],"indicators":{"evidence_files":[{"path":"catalogai/export.py","sha256":"c748f359d330330d175dd68c4ed0aaf16c17fc71183f085b3ec0c62609e71f43","tlsh":"1422bea2ac1d84228072fb9c7da2d8c0d11953d32b22152776fd5f859fb16b0c2b567f"},{"path":"catalogai/extensions.py","sha256":"7f3232b07419adec5af46dff0968dafe1bc96e933a477ab92ad468f9abad831e","tlsh":"6c62c74a9d0c3626d283eb989d4294817635f9abba00382476ec47444f85639e1fdbfd"},{"path":"catalogai-0.1.2.dist-info/METADATA","sha256":"41565ee166da00756bfe7e49aaad273218e7df4610896cf8b68142b2a89270b4","tlsh":"4c51321661dfdda81ab34083450e97a3993746666a0e246d30fd521dfce2fa6e33e21c"}],"package_integrity":[{"filename":"catalogai-0.1.2-py3-none-any.whl","hashes":{"blake2b_256":"69c3a99a959ab52160c28c889dbc718cd13ab5ae93ac0802165fbd4fcafdeaaa","md5":"22c1bd2e132e895be688941ab1c71d60","sha256":"fbedc12229d43a6c271ef9ffd533372841ff1a4a4aefe2a8f85fddb50646b514"}}]}}}],"references":[{"type":"WEB","url":"https://x.com/L0Psec/status/2066540845893861386"},{"type":"WEB","url":"https://bad-packages.kam193.eu/pypi/package/catalogai"},{"type":"PACKAGE","url":"https://pypi.org/project/catalogai/0.1.2/"}],"database_specific":{"iocs":{"ips":["45.95.186.237"],"urls":["http://45.95.186.237:8000/address"]},"malicious-packages-origins":[{"id":"pypi/2026-07-cognikit/catalogai","import_time":"2026-07-31T15:20:37.165131106Z","modified_time":"2026-07-31T14:23:31.631278Z","sha256":"ebd7348ccf6d30158d05df90e15ebba938c30119c83b2ce6679cd69068dc667b","source":"kam193","versions":["0.1.2"]},{"id":"IN-MAL-2026-011010","import_time":"2026-08-04T21:33:13.544280111Z","modified_time":"2026-08-04T21:19:20Z","sha256":"ccb9ff2c71a85c2bac770a874ed3c811e963ba9b3da37417fb600678d8119991","source":"amazon-inspector","versions":["0.1.2"]}]},"credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"},{"name":"Kamil Mańkowski (kam193)","contact":["https://github.com/kam193","https://bad-packages.kam193.eu/"],"type":"REPORTER"}]}

数据来源:OpenSSF Malicious Packages · Apache-2.0