MAL-2026-10195

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/eth-agent/MAL-2026-10195.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-10195
Published
2026-07-12T11:25:25Z
Modified
2026-07-12T21:31:53.313483332Z
Summary
Malicious code in eth-agent (PyPI)
Details

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

Source: amazon-inspector (3131490d64c4ae90de2926ca90f6fce23e6a113d1e6538db5ce98ffcf06983d1)

The top-level eth_agent/init.py performs an outbound HTTP fetch to a hardcoded IPFS gateway URL (https://gateway.pinata.cloud/ipfs/QmP2RrfNCNabLzPYncMGgFwAmttDafczpJLS8oxvQRBVqg) using urllib.request.urlopen, passes the returned bytes to exec() in a new namespace, and then invokes a main() function from that namespace. The entire fetch-and-execute block is wrapped in a bare try/except: pass annotated with a Spanish comment marking the load as silent, so any error is suppressed and the payload load is hidden from the user during import. This fires on every import eth_agent, so simply importing the package after pip install eth-agent runs opaque, attacker-controlled Python code on the installer's machine. The IPFS content is not pinned by hash-verification in code, is served from a third-party gateway, and is unrelated to the package's stated Ethereum RPC helper purpose.

Source: kam193 (0268950ea20e5566a61026409820d6a1d4ac4d462f475ae4589c72390042fec6)

During import, the code downloads and executes a remote script. The script collects sensitive files, including cryptocurrency wallet private keys and seeds, SSH keys, dotenv files and uploads them to IPFS. After that, it communicates with C2 and awaits further commands to execute.


Category: MALICIOUS - The campaign has clearly malicious intent, like infostealers.

Campaign: 2026-07-metemask-sdk

Reasons (based on the campaign):

  • files-exfiltration

  • typosquatting

  • exfiltration-ssh-keys

  • crypto-related

  • Downloads and executes a remote malicious script.

  • exfiltration-crypto

  • The package contains code to execute remote commands (probably limited to a specific set) on the victim's machine.

  • uses:ipfs

Database specific
{
    "malicious-packages-origins": [
        {
            "versions": [
                "1.0.0",
                "1.0.1"
            ],
            "sha256": "0268950ea20e5566a61026409820d6a1d4ac4d462f475ae4589c72390042fec6",
            "import_time": "2026-07-12T11:55:16.817452685Z",
            "id": "pypi/2026-07-metemask-sdk/eth-agent",
            "modified_time": "2026-07-12T11:25:25.947937Z",
            "source": "kam193"
        },
        {
            "source": "amazon-inspector",
            "sha256": "3131490d64c4ae90de2926ca90f6fce23e6a113d1e6538db5ce98ffcf06983d1",
            "import_time": "2026-07-12T21:20:01.82653582Z",
            "id": "IN-MAL-2026-009773",
            "modified_time": "2026-07-12T21:11:35Z",
            "versions": [
                "1.0.0"
            ]
        },
        {
            "source": "amazon-inspector",
            "sha256": "5532859d08aba03da72feab807f0cb30a535147ca2900f4e2a7a2a6b6014d557",
            "import_time": "2026-07-12T21:20:01.896656955Z",
            "id": "IN-MAL-2026-009774",
            "modified_time": "2026-07-12T21:11:44Z",
            "versions": [
                "1.0.1"
            ]
        }
    ],
    "iocs": {
        "ips": [
            "107.161.90.180"
        ],
        "urls": [
            "http://107.161.90.180:7778",
            "https://gateway.pinata.cloud/ipfs/QmP2RrfNCNabLzPYncMGgFwAmttDafczpJLS8oxvQRBVqg"
        ]
    }
}
References
Credits

Affected packages

PyPI / eth-agent

Package

Affected ranges

Affected versions

1.*
1.0.0
1.0.1

Database specific

indicators
{
    "package_integrity": [
        {
            "filename": "eth_agent-1.0.0-py3-none-any.whl",
            "hashes": {
                "sha256": "2a6ad5b346e24e529978c1c4692ec881df5233ac670251f707bd8ef4a33b114a",
                "md5": "bdffd8258c505b374e8cf523ea17b3a6",
                "blake2b_256": "1a2e875ced7d758121317ab877d2efc0805a99d1a5ebfda23fb7820d5bf9d834"
            }
        },
        {
            "filename": "eth_agent-1.0.0.tar.gz",
            "hashes": {
                "sha256": "688359463e5b16a566bc43082f8a0df067426d43de20b7a1eb42eff0a5fc1e97",
                "md5": "b52d5a98754d2c0aa10e3b388b8d0dd2",
                "blake2b_256": "a53ebcad04366ea2a5064382deb86d2c5e28ddf2e920faf649eeab273c6c0a8c"
            }
        }
    ],
    "evidence_files": [
        {
            "tlsh": "f71123d73842710993573047355af730d73eb6ab80559a747bcd8341af64074e0b7369",
            "sha256": "4e986ffc8bdbdf4f3dd04403d139e584ca50076e172ac0a71106df2ba43677e5",
            "path": "eth_agent/__init__.py"
        }
    ]
}
cwes
[
    {
        "description": "The product contains code that appears to be malicious in nature.",
        "cweId": "CWE-506",
        "name": "Embedded Malicious Code"
    },
    {
        "description": "The product contains code that appears to be malicious in nature.",
        "name": "Embedded Malicious Code",
        "cweId": "CWE-506"
    }
]
source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/eth-agent/MAL-2026-10195.json"