MAL-2024-11674

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/pyprettifier/MAL-2024-11674.json
JSON Data
https://api.test.osv.dev/v1/vulns/MAL-2024-11674
Published
2024-09-29T18:01:44Z
Modified
2025-12-12T20:46:36.283068Z
Summary
Malicious code in pyprettifier (PyPI)
Details

-= Per source details. Do not edit below this line.=-

Source: kam193 (52228ec641ddc958a8048619d93a51b762697ab133afc13ec13c01d24b120467)

The pyprettifier library has a feature to send out the user home path throuh the logger. It's attached to the init of EmojiConverter class. Other related packages utilize a typosquatting to imitate real packages, and attempts to call the EmojiConverter from pyprettifier, triggering notifying the author about the user's home path.


Category: PROBABLY_PENTEST - Packages looking like typical pentest packages, but also anything that looks like testing, exploring pre-prepared kits, research & co, with clearly low-harm possibilities.

Campaign: 2024-09-pyprettifier

Reasons (based on the campaign):

  • typosquatting

  • The malicious code is intentionally included in a dependency of the package

  • action-hidden-in-lib-usage

  • The package contains code to exfiltrate basic data from the system, like IP or username. It has a limited risk.

Database specific
{
    "malicious-packages-origins": [
        {
            "source": "reversing-labs",
            "modified_time": "2024-12-09T06:50:54Z",
            "sha256": "5c174dc35a6eb20ea8baf16c04b2d84a2c43d75f5fece0a3de510fe00bf0d6c2",
            "import_time": "2024-12-09T14:38:47.645113508Z",
            "id": "RLMA-2024-11131",
            "versions": [
                "0.1.0",
                "0.1.1",
                "0.1.2",
                "0.1.3",
                "0.1.4",
                "0.1.5"
            ]
        },
        {
            "id": "pypi/2024-09-pyprettifier/pyprettifier",
            "modified_time": "2024-09-29T18:01:44Z",
            "sha256": "d16875f95907e63c0f307b7230d32fb3579b874ab4c9154e8a3457ed410e0938",
            "import_time": "2025-12-02T22:30:56.326596309Z",
            "ranges": [
                {
                    "events": [
                        {
                            "introduced": "0"
                        }
                    ],
                    "type": "ECOSYSTEM"
                }
            ],
            "source": "kam193"
        },
        {
            "id": "pypi/2024-09-pyprettifier/pyprettifier",
            "modified_time": "2024-09-29T18:01:44Z",
            "sha256": "52228ec641ddc958a8048619d93a51b762697ab133afc13ec13c01d24b120467",
            "import_time": "2025-12-02T23:07:19.516706954Z",
            "ranges": [
                {
                    "events": [
                        {
                            "introduced": "0"
                        }
                    ],
                    "type": "ECOSYSTEM"
                }
            ],
            "source": "kam193"
        },
        {
            "source": "kam193",
            "modified_time": "2024-09-29T18:01:44Z",
            "sha256": "990bc01877ca76b4e9c2f8a350d42e9bd46dbdaeb3b5ab8f20d993fe75ad5222",
            "import_time": "2025-12-10T21:38:58.627188229Z",
            "id": "pypi/2024-09-pyprettifier/pyprettifier",
            "versions": [
                "0.1.0",
                "0.1.1",
                "0.1.2",
                "0.1.3",
                "0.1.4"
            ]
        }
    ]
}
References
Credits

Affected packages

PyPI / pyprettifier

Package

Affected ranges

Affected versions

0.*

0.1.0
0.1.1
0.1.2
0.1.3
0.1.4
0.1.5