{"id":"MAL-2025-41675","summary":"Malicious code in flask-tdg-cyber (PyPI)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: kam193 (ec9e25f8f416bf20ca51977e1d4e001cf398d79dee777ff3b12b04cab6345292)\nPackage is prepared for exfiltration of detailed data about the running system. The exact behaviour depends on the version: some does nothing, some exfiltrate information, some have embeded malware. The package does not run malicious functions automatically.\n\nObfuscated URL suggest it may be part of some targetted activity\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2025-08-flask-tdg-cyber\n\n\nReasons (based on the campaign):\n\n\n - exfiltration-generic\n\n\n - exfiltration-env-variables\n\n\n - obfuscation\n\n\n - malware\n","modified":"2026-04-22T23:04:33.583047Z","published":"2025-08-11T15:54:48Z","database_specific":{"iocs":{"urls":["https://api-tdgbanking.vercel.app/api/coolenv?a="],"domains":["api-tdgbanking.vercel.app"]},"malicious-packages-origins":[{"sha256":"b72221d4ccbf7f773683476b86d4e07df96fd8fd4d09dcfcf4203978ce783cb3","id":"RLMA-2025-04167","versions":["0.0.7","0.0.8","1.0.1","3.100.2"],"modified_time":"2025-08-28T07:11:05Z","source":"reversing-labs","import_time":"2025-08-29T06:41:44.375167905Z"},{"sha256":"8e74ec85bdcc9276120f3d8ed3d60b4b96efff4c3f4b0d0d0d4d3230ac100eb3","id":"pypi/2025-08-flask-tdg-cyber/flask-tdg-cyber","versions":["3.300.39","3.100.2","1.0.1","0.0.8","0.0.7","0.0.6","0.0.5","0.0.4","0.0.3","0.0.2","0.0.1"],"modified_time":"2025-08-11T15:54:48.16694Z","source":"kam193","import_time":"2025-12-02T22:30:55.200283185Z"},{"sha256":"ea76f6ed0fc9b4a3bf5f7bc2d3e2627d46dec2e2e7168787f482f5f44f77ebbd","id":"pypi/2025-08-flask-tdg-cyber/flask-tdg-cyber","versions":["3.300.39","3.100.2","1.0.1","0.0.8","0.0.7","0.0.6","0.0.5","0.0.4","0.0.3","0.0.2","0.0.1"],"modified_time":"2025-08-11T15:54:48.16694Z","source":"kam193","import_time":"2025-12-02T23:07:18.209344374Z"},{"sha256":"89d3bd269d5a23542059b1eb13b773a88e17254fdbfb0a734e210337f56b9841","id":"pypi/2025-08-flask-tdg-cyber/flask-tdg-cyber","versions":["0.0.1","0.0.2","0.0.3","0.0.4","0.0.5","0.0.6","0.0.7","0.0.8","1.0.1","3.100.2","3.300.39"],"modified_time":"2025-08-11T15:54:48.16694Z","source":"kam193","import_time":"2025-12-30T22:39:04.083681587Z"},{"sha256":"c2d222977dbcef6bbf0a59ff9913591848fbec4e1a2d3e96dbe1eba13af983fe","id":"RLUA-2026-00328","versions":["0.0.6","0.0.1","0.0.2","0.0.3","3.300.39","0.0.5","0.0.4"],"modified_time":"2026-03-18T12:13:54Z","source":"reversing-labs","import_time":"2026-03-19T12:19:46.028517826Z"},{"sha256":"ec9e25f8f416bf20ca51977e1d4e001cf398d79dee777ff3b12b04cab6345292","id":"pypi/2025-08-flask-tdg-cyber/flask-tdg-cyber","versions":["0.0.1","0.0.2","0.0.3","0.0.4","0.0.5","0.0.6","0.0.7","0.0.8","1.0.1","3.100.2","3.300.39"],"modified_time":"2025-08-11T15:54:48.16694Z","source":"kam193","import_time":"2026-04-22T22:48:21.844831336Z"}]},"references":[{"type":"WEB","url":"https://bad-packages.kam193.eu/pypi/package/flask-tdg-cyber"}],"affected":[{"package":{"name":"flask-tdg-cyber","ecosystem":"PyPI","purl":"pkg:pypi/flask-tdg-cyber"},"versions":["0.0.7","0.0.8","1.0.1","3.100.2","3.300.39","0.0.6","0.0.5","0.0.4","0.0.3","0.0.2","0.0.1"],"database_specific":{"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/flask-tdg-cyber/MAL-2025-41675.json"}}],"schema_version":"1.7.5","credits":[{"name":"Kamil Mańkowski (kam193)","contact":["https://github.com/kam193","https://bad-packages.kam193.eu/"]},{"name":"Kamil Mańkowski (kam193)","contact":["https://github.com/kam193","https://bad-packages.kam193.eu/"],"type":"REPORTER"},{"name":"ReversingLabs","contact":["https://www.reversinglabs.com"],"type":"FINDER"}]}