{"items":[{"id":"NVI-00010921","kind":"supply_chain_event","title":"Malicious code in hardhat-spack (npm)","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-p24j-qh47-mf78"],"plain_summary":"GitHub lists this malware advisory for hardhat-spack. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-58f493247290af5c6c83cd845691d217"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-58f493247290af5c6c83cd845691d217","url":"https://github.com/advisories/GHSA-p24j-qh47-mf78","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-p24j-qh47-mf78","publisher":"GitHub Advisory Database","observed_at":"2026-10-31T23:13:05.881Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-58f493247290af5c6c83cd845691d217"],"technology":"hardhat-spack","known_exclusions":[],"conditions_summary":"## Source: amazon-inspector (e59c971c63de9d0a7f66c26093f528164990af10eca00a3a36b97d0c8b0a6d0d)\nThe package is published as hardhat-spack but presents itself internally as a pino-like logger. Its main export is a middleware factory that spawns lib/caller.js as a detached child process. caller.js and lib/const.js define a fake process.env object whose DEV_API_KEY, DEV_SECRET_KEY, and DEV_SECRET_VALUE are base64 blobs; DEV_API_KEY decodes to https://iphub-encrypted.vercel.app/api/auth/f1f097d93c318c92f0c5. caller.js base64-decodes that URL, POSTs to it, and passes the response body to `new Function.constructor(\"require\", s)` and invokes it with the real require, giving the fetched JavaScript full Node capabilities (filesystem, child_process, network). The request is retried up to five times and failures are swallowed. The destination host is disposable Vercel infrastructure unrelated to any declared purpose, the URL and credential-shaped values are concealed with base64, and the executed code is attacker-mutable at any time.\n\n---\n\nCredit: OpenSSF ([source](https://github.com/ossf/malicious-packages/blob/28e8e300c79177f2cb1eb131ae981c3c0e63","public_affected_ranges":["= 3.0.2"]}],"null_published_at":"2026-10-31T23:18:22.407Z","source_updated_at":"2026-10-05T06:30:31.000Z","source_disclosed_at":"2026-10-05T06:30:30.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"First indexed by Null; source disclosure date is shown separately.","null_first_observed_at":"2026-10-31T23:13:05.881Z"}],"next_cursor":null,"snapshot_revision":"40769"}