MAL-2026-14474

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/ecobee-api/MAL-2026-14474.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-14474
Published
2026-08-25T06:44:49Z
Modified
2026-08-25T23:49:44.732419949Z
Summary
Malicious code in ecobee-api (npm)
Details

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

Source: amazon-inspector (bebaf39f3f17cfdfbddac8bb4f92aaa1fd600b7f0a69def35d879ebe5d90f14f)

On npm install, ecobee-api runs node beacon.js via its postinstall lifecycle script. The beacon issues an HTTP GET to the hardcoded bare-IP endpoint http://169.58.96.170:9001/cb, passing the installer's hostname (os.hostname()) and the package name as query parameters. The package ships no functional library code — package.json declares an UNLICENSED 'Utility package' with a name resembling the Ecobee vendor, and the only substantive shipped file is the beacon. This is the shape of a dependency-confusion / typosquat recon beacon: it confirms install-time code execution on the victim host and identifies the host to the operator of 169.58.96.170 over plain HTTP.

Database specific
{
    "malicious-packages-origins": [
        {
            "versions": [
                "0.0.2"
            ],
            "import_time": "2026-08-25T06:50:12.665874582Z",
            "modified_time": "2026-08-25T06:44:49Z",
            "id": "IN-MAL-2026-018688",
            "sha256": "bebaf39f3f17cfdfbddac8bb4f92aaa1fd600b7f0a69def35d879ebe5d90f14f",
            "source": "amazon-inspector"
        }
    ]
}
References
Credits

Affected packages

npm / ecobee-api

Package

Affected ranges

Affected versions

0.*
0.0.2

Database specific

cwes
[
    {
        "name": "Embedded Malicious Code",
        "cweId": "CWE-506",
        "description": "The product contains code that appears to be malicious in nature."
    }
]
indicators
{
    "evidence_files": [
        {
            "path": "beacon.js",
            "sha256": "c42cdebde43f0090d495ca54fb988ad0e55071b9529098a05347b0de515fa924",
            "tlsh": "d7d023d651c4531854627111c57b0806e3d7d1122cd90e408c4042f25e7449629175f4"
        },
        {
            "path": "package.json",
            "sha256": "1775b8a74946a7193d8d1c7558981aab17b0e2745bb4e8512d54eac437ae34d8",
            "tlsh": "9fd0a944ca101e6724c5aed30c24688aa1382c8b21087d082aa3004c038c3ba18fb238"
        }
    ],
    "package_integrity": [
        {
            "hashes": {
                "sha1": "75fb75375d7ee94fe1f655b1a7f0d83a57c9c3fb",
                "sha512_sri": "sha512-8YZqKAoi+UrGHVN0sTN9VFcRP3EQohFxmY4rM7Muaqr/9l57VbhmaibI5QsMAdoWuum8igANEC5mNzO9h9LC6A=="
            },
            "filename": "ecobee-api-0.0.2.tgz"
        }
    ]
}
source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/ecobee-api/MAL-2026-14474.json"