{
  "schema_version": "1.6.0",
  "id": "CLR-2026-3026",
  "modified": "2026-07-10T15:30:00Z",
  "published": "2026-07-10T15:30:00Z",
  "summary": "Fake React UI helper that steals your whole environment on install",
  "details": "The npm package polipoli-pak@1.0.2 advertises itself as a \"Small UI banner helper for React apps\" — a decoy. Its real payload is a postinstall hook that runs the moment you npm install, before any of your code. It fingerprints the host (os.hostname(), process.cwd(), os.userInfo()), collects the entire process.env — every secret, token and CI credential in the environment — and POSTs all of it to a webhook.site out-of-band endpoint. Not a benign install-beacon: it exfiltrates the full environment. Still live on npm; also in OSV as MAL-2026-10099.",
  "affected": [
    {
      "package": {
        "ecosystem": "npm",
        "name": "polipoli-pak"
      },
      "versions": [
        "1.0.2"
      ]
    }
  ],
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://research.codelake.dev/advisories/clr-2026-3026-polipoli-pak"
    },
    {
      "type": "WEB",
      "url": "https://osv.dev/vulnerability/MAL-2026-10099"
    }
  ],
  "credits": [
    {
      "name": "Sascha Klein, codelake Research",
      "type": "FINDER",
      "contact": [
        "https://research.codelake.dev"
      ]
    }
  ],
  "database_specific": {
    "caseId": "CLR-2026-3026",
    "kind": "malware",
    "class": "Environment / credential stealer",
    "severity": "Critical",
    "status": "Confirmed malicious",
    "iocs": {
      "ips": [],
      "hashes": [
        "sha256:4e8a8bc054baa0291126a4851e6e8333d366517338572a0876dbefd31a81560a"
      ],
      "indicators": [
        "polipoli-pak@1.0.2 (npm) — published 2026-07-09, still live at time of writing",
        "4e8a8bc054baa0291126a4851e6e8333d366517338572a0876dbefd31a81560a (tarball)",
        "package.json: \"postinstall\": \"node postinstall.js\" — runs on install, before import",
        "Description \"Small UI banner helper for React apps\" — cover for a \"React helper\" look",
        "Harvests the entire process.env + os.hostname()/cwd()/userInfo()",
        "HTTP POST → https://webhook.site/a428f027-90c9-45e2-acca-ffbb4ea86044 (out-of-band capture endpoint)",
        "MAL-2026-10099 (independent corroboration)"
      ]
    }
  }
}