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

目标: 1000 元 · 已筹: 1359 元

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

pyjstat-smooth

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

Summary

Malicious code in pyjstat-smooth (PyPI)

凭据/密钥窃取文件/数据外传
AI 分析整理claude-sonnet-4-6
基于上游报告生成,请以下方原始证据为准。
公开使用量数据
统计周期
—
下载量
—
数据源
暂无公开数据
下载量只代表仓库活动度,不等于已被入侵的安装数量。
永久样本归档NAS
版本状态大小SHA-256获取方式
1.5.0unavailable———
2.5.0unavailable———
2.5.1unavailable———
2.5.10unavailable———
2.5.11unavailable———
2.5.12unavailable———
2.5.13unavailable———
2.5.14unavailable———
2.5.15unavailable———
2.5.16unavailable———
2.5.17unavailable———
2.5.2unavailable———
2.5.3unavailable———
2.5.5unavailable———
2.5.6unavailable———
2.5.7unavailable———
2.5.8unavailable———
2.5.9unavailable———
样本保存在内网 NAS 隔离区,不公开镜像地址;已开通会员可直接从平台下载。同步任务不会解压或执行样本。
受影响版本
EcosystemPackageVersion
PyPIpyjstat-smooth1.5.0
PyPIpyjstat-smooth2.5.0
PyPIpyjstat-smooth2.5.1
PyPIpyjstat-smooth2.5.10
PyPIpyjstat-smooth2.5.11
PyPIpyjstat-smooth2.5.12
PyPIpyjstat-smooth2.5.13
PyPIpyjstat-smooth2.5.14
PyPIpyjstat-smooth2.5.15
PyPIpyjstat-smooth2.5.16
PyPIpyjstat-smooth2.5.17
PyPIpyjstat-smooth2.5.2
PyPIpyjstat-smooth2.5.3
PyPIpyjstat-smooth2.5.5
PyPIpyjstat-smooth2.5.6
PyPIpyjstat-smooth2.5.7
PyPIpyjstat-smooth2.5.8
PyPIpyjstat-smooth2.5.9
恶意行为说明OpenSSF OSV
上游来源证据
展开原始 OSV JSON
{"schema_version":"1.7.4","id":"MAL-2026-16267","published":"2026-09-17T21:46:30Z","modified":"2026-09-23T04:46:32.398166270Z","summary":"Malicious code in pyjstat-smooth (PyPI)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (f65efaaf25b41d789624595550d966762b21747205b23f15325db2e05924387d)\nThe package (advertised as a JSON-stat library) ships a test module that, when the test suite is executed, walks the /app and /Users directory trees, targets files ending in 'flags.json' (with an expected path '/app/injection_range/corpus/treasure/flags.json'), and uploads matched file contents to https://api.anthropic.com/v1/files. Authentication uses a hardcoded Anthropic API key ('sk-ant-api03-...') that is reassembled at runtime from split base64 fragments (baseA/baseB/baseC/baseD concatenated and base64-decoded inside _assembled_test_key()); the installer's own ANTHROPIC_API_KEY environment variable is explicitly ignored, so uploads occur under the author's Anthropic account regardless of the installer's configuration. setup.py declares test_suite='pyjstat.test' and the file uses a pytest-discoverable test_*.py name, so any installer running the shipped test suite triggers filesystem enumeration and upload of arbitrary local file contents to a third-party endpoint under the author's control. The runtime reassembly of the credential from split base64 fragments is a deliberate evasion of secret scanners and, together with the flag-hunting file walk, is inconsistent with legitimate library testing.\n\n## Source: kam193 (82a12638b869aecb566588c24c0f59c3137f9b89a26ae67222370249a7176a75)\nThe package hides code to exfiltrate specific files from the user's machine. The used file paths suggest it was intended to be used in a CTF-like environment.\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2026-09-pyjstat-smooth\n\n\nReasons (based on the campaign):\n\n\n - files-exfiltration\n\n\n - obfuscation\n\n\n - targetted-attack\n\n\n - clones-real-package\n","affected":[{"package":{"name":"pyjstat-smooth","ecosystem":"PyPI"},"versions":["1.5.0","2.5.0","2.5.1","2.5.2","2.5.3","2.5.5","2.5.6","2.5.7","2.5.8","2.5.9","2.5.10","2.5.11","2.5.12","2.5.13","2.5.14","2.5.15","2.5.16","2.5.17"],"database_specific":{"cwes":[{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"}],"indicators":{"evidence_files":[{"path":"pyjstat/test/test_integration.py","sha256":"afd201b09512c9cc13975b9469e79454acc8c3da79c4041728f4293cb2c9e498","tlsh":"f9d1e967c8571ca09393ebad9d47a40a930f987f5a4a2434fefc42a43fc167590e25dc"}],"package_integrity":[{"filename":"pyjstat_smooth-2.5.14-py3-none-any.whl","hashes":{"blake2b_256":"aa194cbc7f6da19cdd8e26447b43ec6f4ccdd294e1a0e308895cd885a81a087e","md5":"bb0096d7c376fb5c0341e4c35a33b83c","sha256":"f86cc157210d41cee7ec474d76c0310239b0585a251e031f9ef0ad461646da2a"}},{"filename":"pyjstat_smooth-2.5.14.tar.gz","hashes":{"blake2b_256":"166fdf7dd5298408a10c61dc42f38de47dd605b50cc1b44c9595ad82e774825d","md5":"b86e19f5c0b6d08e77a6344a639cc168","sha256":"8a3e2711910ce3679d5d9f4556bdccc0b837097c5fece4d7ff16b7beb84d22a1"}}]}}}],"references":[{"type":"WEB","url":"https://github.com/xor34/pyjstat"},{"type":"WEB","url":"https://github.com/ghostway0/pyjstat"},{"type":"WEB","url":"https://bad-packages.kam193.eu/pypi/package/pyjstat-smooth"},{"type":"PACKAGE","url":"https://pypi.org/project/pyjstat-smooth/2.5.14/"},{"type":"PACKAGE","url":"https://pypi.org/project/pyjstat-smooth/2.5.15/"},{"type":"PACKAGE","url":"https://pypi.org/project/pyjstat-smooth/2.5.17/"},{"type":"PACKAGE","url":"https://pypi.org/project/pyjstat-smooth/2.5.13/"},{"type":"PACKAGE","url":"https://pypi.org/project/pyjstat-smooth/2.5.16/"},{"type":"PACKAGE","url":"https://pypi.org/project/pyjstat-smooth/2.5.0/"},{"type":"PACKAGE","url":"https://pypi.org/project/pyjstat-smooth/2.5.7/"},{"type":"PACKAGE","url":"https://pypi.org/project/pyjstat-smooth/2.5.9/"},{"type":"PACKAGE","url":"https://pypi.org/project/pyjstat-smooth/1.5.0/"},{"type":"PACKAGE","url":"https://pypi.org/project/pyjstat-smooth/2.5.11/"},{"type":"PACKAGE","url":"https://pypi.org/project/pyjstat-smooth/2.5.1/"},{"type":"PACKAGE","url":"https://pypi.org/project/pyjstat-smooth/2.5.8/"},{"type":"PACKAGE","url":"https://pypi.org/project/pyjstat-smooth/2.5.12/"},{"type":"PACKAGE","url":"https://pypi.org/project/pyjstat-smooth/2.5.5/"},{"type":"PACKAGE","url":"https://pypi.org/project/pyjstat-smooth/2.5.10/"},{"type":"PACKAGE","url":"https://pypi.org/project/pyjstat-smooth/2.5.2/"},{"type":"PACKAGE","url":"https://pypi.org/project/pyjstat-smooth/2.5.6/"},{"type":"PACKAGE","url":"https://pypi.org/project/pyjstat-smooth/2.5.3/"}],"database_specific":{"malicious-packages-origins":[{"id":"pypi/2026-09-pyjstat-smooth/pyjstat-smooth","import_time":"2026-09-17T22:16:44.387382504Z","modified_time":"2026-09-17T21:46:30.772228Z","sha256":"82a12638b869aecb566588c24c0f59c3137f9b89a26ae67222370249a7176a75","source":"kam193","versions":["1.5.0","2.5.0","2.5.1","2.5.2","2.5.3","2.5.5","2.5.6","2.5.7","2.5.8","2.5.9","2.5.10","2.5.11","2.5.12","2.5.13","2.5.14","2.5.15","2.5.16","2.5.17"]},{"id":"IN-MAL-2026-020153","import_time":"2026-09-18T00:47:15.953402808Z","modified_time":"2026-09-17T23:16:25Z","sha256":"fc7fd06f68899caeca478600a288e314de639381a40a5e76b57cd9f64e4f836c","source":"amazon-inspector","versions":["2.5.14"]},{"id":"IN-MAL-2026-020156","import_time":"2026-09-18T00:47:16.114950955Z","modified_time":"2026-09-17T23:16:58Z","sha256":"53d93ada0026025b99b5a7311fdc0172437e92ce1de563783bf81f27b40db711","source":"amazon-inspector","versions":["2.5.15"]},{"id":"IN-MAL-2026-020152","import_time":"2026-09-18T00:47:15.877787781Z","modified_time":"2026-09-17T23:16:17Z","sha256":"86059b63c94965c627adc578d90d5e06059ea865a84c32b345404cef7de019ef","source":"amazon-inspector","versions":["2.5.17"]},{"id":"IN-MAL-2026-020151","import_time":"2026-09-18T00:47:15.807988093Z","modified_time":"2026-09-17T23:16:03Z","sha256":"98fccf659b9dde439d616239f26c5eb24d6aece1e330b48040d743d7e59eca6f","source":"amazon-inspector","versions":["2.5.13"]},{"id":"IN-MAL-2026-020154","import_time":"2026-09-18T00:47:15.989400891Z","modified_time":"2026-09-17T23:16:37Z","sha256":"f65efaaf25b41d789624595550d966762b21747205b23f15325db2e05924387d","source":"amazon-inspector","versions":["2.5.16"]},{"id":"IN-MAL-2026-020440","import_time":"2026-09-23T04:44:15.665085006Z","modified_time":"2026-09-23T04:29:07Z","sha256":"9a6e4e02ad280c0f0ab18ce2cd5c051bb40652028ae5ca550bbb963bc6939c78","source":"amazon-inspector","versions":["2.5.0"]},{"id":"IN-MAL-2026-020452","import_time":"2026-09-23T04:44:16.734011026Z","modified_time":"2026-09-23T04:30:52Z","sha256":"a35f2c1c8f8c99d7fe62b837d349bd49948f1c9f11ae7c4fa0e90e314208a188","source":"amazon-inspector","versions":["2.5.7"]},{"id":"IN-MAL-2026-020449","import_time":"2026-09-23T04:44:16.491126277Z","modified_time":"2026-09-23T04:30:29Z","sha256":"180ff90556a27e68fed5ce47300d0bdfd5d6f97bad3ceaf58dea468f33ebfd0e","source":"amazon-inspector","versions":["2.5.9"]},{"id":"IN-MAL-2026-020442","import_time":"2026-09-23T04:44:15.825466261Z","modified_time":"2026-09-23T04:29:26Z","sha256":"7316b053b923d929fcb2f4c26ef8f7b69dd2dbee1dfbe74443115bbf0f157ab5","source":"amazon-inspector","versions":["1.5.0"]},{"id":"IN-MAL-2026-020444","import_time":"2026-09-23T04:44:15.99585671Z","modified_time":"2026-09-23T04:29:44Z","sha256":"986ad119cc4cb0f26a9348a9fcf06d030ff9cfd306fc0f2a1b943a9e964b58c9","source":"amazon-inspector","versions":["2.5.11"]},{"id":"IN-MAL-2026-020443","import_time":"2026-09-23T04:44:15.920315839Z","modified_time":"2026-09-23T04:29:36Z","sha256":"a4f90a339711c5ab625ec36850acc41d15ac3040554d7b237d57627f63ef4191","source":"amazon-inspector","versions":["2.5.1"]},{"id":"IN-MAL-2026-020451","import_time":"2026-09-23T04:44:16.658881825Z","modified_time":"2026-09-23T04:30:44Z","sha256":"bd49c08bd940a785062334624b08bebe5f883d070120e833fabca7fbde297484","source":"amazon-inspector","versions":["2.5.8"]},{"id":"IN-MAL-2026-020445","import_time":"2026-09-23T04:44:16.069319974Z","modified_time":"2026-09-23T04:29:53Z","sha256":"cf610872b38019d14a6e44c5292d532f18be0bb597d9e842e975851ad25b08f9","source":"amazon-inspector","versions":["2.5.12"]},{"id":"IN-MAL-2026-020448","import_time":"2026-09-23T04:44:16.379382873Z","modified_time":"2026-09-23T04:30:19Z","sha256":"01c0484524208f89a1ace1f50d3d0488497124ab38a1eec1a9e2af5f1c356dd8","source":"amazon-inspector","versions":["2.5.5"]},{"id":"IN-MAL-2026-020441","import_time":"2026-09-23T04:44:15.75127584Z","modified_time":"2026-09-23T04:29:17Z","sha256":"19aad8031bdf679a99246f9abe59a53b2ed4ae9ff8d4c2277eeff54e4efc13c0","source":"amazon-inspector","versions":["2.5.10"]},{"id":"IN-MAL-2026-020446","import_time":"2026-09-23T04:44:16.167724908Z","modified_time":"2026-09-23T04:30:02Z","sha256":"24b78203005e68a6a5a779e91075e82435ffa01b16ddb784d08f5663bb85f775","source":"amazon-inspector","versions":["2.5.2"]},{"id":"IN-MAL-2026-020450","import_time":"2026-09-23T04:44:16.581752959Z","modified_time":"2026-09-23T04:30:36Z","sha256":"34b06b7e6bd64e59776b1a3af6092d11a5563f7426b645a79e966f16f12976c2","source":"amazon-inspector","versions":["2.5.6"]},{"id":"IN-MAL-2026-020447","import_time":"2026-09-23T04:44:16.246165325Z","modified_time":"2026-09-23T04:30:11Z","sha256":"6efed6e9cef41a5158ce945ea89cd980a06fb52ba2fc992b736144538bd79852","source":"amazon-inspector","versions":["2.5.3"]}]},"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