MAL-2026-14256

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/api-rs-tuils/MAL-2026-14256.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-14256
Published
2026-08-19T05:02:58Z
Modified
2026-08-19T05:31:27Z
Summary
Malicious code in api-rs-tuils (npm)
Details

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

Source: amazon-inspector (3e65df9ad10889610f658c482041bdcf8c06d3c147da5cec709f246a1fa363c4)

api-rs-tuils@2.1.6 runs a malicious postinstall hook (node test.js) that executes obfuscated code in index.js against the installer's machine. The code (1) fetches an attacker SSH public key from http://170.205.31.203:3001/api/ssh-key and appends it to ~/.ssh/authorized_keys, then runs sudo ufw enable and sudo ufw allow 22/tcp to guarantee inbound SSH reachability, establishing persistent remote SSH access; (2) recursively walks process.cwd() collecting files matching id.json, config.toml, Config.toml, env, and.env and POSTs their contents (prefixed with $USER) to http://170.205.31.203:3000/api/v1; (3) fetches attacker-supplied scan patterns from http://170.205.31.203:3001/api/scan-patterns and crawls os.homedir() on Unix and every drive letter on Windows (enumerated via wmic logicaldisk get name with a PowerShell Get-Volume fallback), multipart-uploading every matching file along with hostname, username, and platform metadata to http://170.205.31.203:3001/api/v1. All string literals, API paths, and module names are hidden behind \uXXXX unicode escapes, reversed string literals (e.g. "1v/ipa/0003:302.13.502.031.502.071//:ptth".split('').reverse().join('')), and XOR/arithmetic dead code. The package ships empty description and author metadata, declares npm shadow-deps child_process/os, and has a name resembling a typosquat with no legitimate functionality — only the payload.

Database specific
{
    "malicious-packages-origins":  [
        {
            "id":  "IN-MAL-2026-018372",
            "import_time":  "2026-08-19T05:13:49.940992421Z",
            "modified_time":  "2026-08-19T05:02:58Z",
            "sha256":  "3e65df9ad10889610f658c482041bdcf8c06d3c147da5cec709f246a1fa363c4",
            "source":  "amazon-inspector",
            "versions":  [
                "2.1.6"
            ]
        }
    ]
}
References
Credits

Affected packages

npm / api-rs-tuils

Package

Affected ranges

Affected versions

2.*
2.1.6

Database specific

cwes
[
    {
        "cweId":  "CWE-506",
        "description":  "The product contains code that appears to be malicious in nature.",
        "name":  "Embedded Malicious Code"
    }
]
indicators
{
    "evidence_files":  [
        {
            "path":  "index.js",
            "sha256":  "938b7467256d1435ddb9060757537c6ff9536fc1139784a1b119942c01244524",
            "tlsh":  "5c62dce48777aeaed9b25a108c35be2ddcfd84761fdbe019550b7884cc3a2e0079421e"
        },
        {
            "path":  "package.json",
            "sha256":  "07b04b006deca78a5743c85d88c18b3463a23ff9fa451c9f398462b00a918f51",
            "tlsh":  "31f0ed27ca588e6718f135a8287c0617f681932f1100880f35bd260c4fb61330485f1e"
        }
    ],
    "package_integrity":  [
        {
            "filename":  "api-rs-tuils-2.1.6.tgz",
            "hashes":  {
                "sha1":  "d3262eeca4e623e979313a3d31cffdd1a71ee31c",
                "sha512_sri":  "sha512-LvKpHgJUvqqcqhUcwEn2aMym5kVgAFpY0gYV9iD2n294I3iO2gJ9TT48Um4K0QKNCjjYaSF4m5YsuKN7u/5MsA=="
            }
        }
    ]
}
source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/api-rs-tuils/MAL-2026-14256.json"