MAL-2026-17642

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/personio-pipeline-projen/MAL-2026-17642.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-17642
Published
2026-10-07T04:52:26Z
Modified
2026-10-08T04:00:04Z
Summary
Malicious code in personio-pipeline-projen (npm)
Details

personio-pipeline-projen presents itself as an authorized dependency-confusion proof-of-concept; the evidence does not identify a copied public package. Its preinstall hook runs on install with node canary.js. The dependency-confusion probe encodes the installing machine's hostname and username, present CI-variable names, and root project and lifecycle identifiers in a DNS label under db2su65ptuma8gfn6ing8e7dx7wp55zit.oast.fun, and sends an HTTPS GET to hrcv3zo9m3z70yr91ssdz669c0ir6ju8.oastify.com. The npm account reaperhackbot256f published it on 2026-10-07 (UTC).


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

Source: amazon-inspector (9edcf2a339a16ea7096c68d06ec14250f3735eb3eb608f07bb2fe0004f8b9423)

personio-pipeline-projen is an unscoped package on the public npm registry whose name mirrors an internal 'personio-*' dependency, positioning it to be resolved into Personio builds via dependency confusion. The package.json declares a preinstall hook node canary.js. On install, canary.js collects the machine hostname, OS username, the names of CI-related environment variables present on the host, and the installing project's name, and transmits them out-of-band via a DNS lookup to a subdomain of oast.fun (Interactsh collector) and an HTTPS GET to a subdomain of oastify.com (Burp Collaborator). The beacon fires unconditionally and before any installer consent. The README frames the package as authorized research, but the on-install behavior and name-collision shape are identical to a dependency-confusion attack: installer host and user identifiers leave the machine to a third-party collector on every install.

Database specific
{
    "iocs":  {
        "domains":  [
            "db2su65ptuma8gfn6ing8e7dx7wp55zit.oast.fun",
            "hrcv3zo9m3z70yr91ssdz669c0ir6ju8.oastify.com"
        ],
        "files":  [
            {
                "digests":  {
                    "sha256":  "9047c11dc81dda0e8120f6777cb88678eaa0d7c995adb8d069731ab6b85f9a1e"
                },
                "note":  "preinstall script: node canary.js",
                "paths":  [
                    "package.json"
                ],
                "source":  "PACKAGE_ARCHIVE"
            },
            {
                "digests":  {
                    "sha256":  "88fdfbfbc5982045f7fdc7a4f6097031b64689d1003c1a592156f37921db63f6"
                },
                "note":  "Executed by the preinstall script of personio-pipeline-projen@1.171.31.",
                "paths":  [
                    "canary.js"
                ],
                "source":  "PACKAGE_ARCHIVE"
            }
        ],
        "urls":  [
            "https://hrcv3zo9m3z70yr91ssdz669c0ir6ju8.oastify.com/h"
        ]
    },
    "malicious-packages-origins":  [
        {
            "id":  "IN-MAL-2026-021124",
            "import_time":  "2026-10-08T03:50:29.463804527Z",
            "modified_time":  "2026-10-08T03:39:34Z",
            "sha256":  "9edcf2a339a16ea7096c68d06ec14250f3735eb3eb608f07bb2fe0004f8b9423",
            "source":  "amazon-inspector",
            "versions":  [
                "1.171.31"
            ]
        }
    ]
}
References
Credits

Affected packages

npm / personio-pipeline-projen

Package

Name
personio-pipeline-projen
View open source insights on deps.dev
Purl
pkg:npm/personio-pipeline-projen

Affected ranges

Affected versions

1.*
1.171.31

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"
    }
]
indicators
{
    "evidence_files":  [
        {
            "path":  "canary.js",
            "sha256":  "88fdfbfbc5982045f7fdc7a4f6097031b64689d1003c1a592156f37921db63f6",
            "tlsh":  "242179bf8368565025e0b6f0118f1025e6abf41767c67ad1789dc3655e517380353cfd"
        },
        {
            "path":  "package.json",
            "sha256":  "9047c11dc81dda0e8120f6777cb88678eaa0d7c995adb8d069731ab6b85f9a1e",
            "tlsh":  "53e0ca148f0055231ce455b508f5764210304c475f1d6e39f25b8048470db9317fb357"
        }
    ],
    "package_integrity":  [
        {
            "filename":  "personio-pipeline-projen-1.171.31.tgz",
            "hashes":  {
                "sha1":  "77e63fe2acaf37ccfc33160bcee2801aac68012b",
                "sha512_sri":  "sha512-GBQhBYyBDlBPTFr73hw4pN+iMRIy8KCROB5KTM0ZZEMPyNFvSQeug05zrAmYnLRdrSI4aexcnDJtCnna/bq5YA=="
            }
        }
    ]
}
source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/personio-pipeline-projen/MAL-2026-17642.json"