CyberIntel ⬡ News
★ Saved ◆ Cyber Reads
← Back ◇ Industry News & Leadership Jun 11, 2026

GitHub to Disable npm Install Scripts by Default to Stop Supply Chain Attacks

The Hacker News Archived Jun 11, 2026 ✓ Full text saved

GitHub has announced what it said are "breaking changes" coming to npm version 12, one of which turns off install scripts by default to combat software supply chain threats. The changes aim to combat attack techniques that abuse the "npm install" command to trigger the execution of malicious code using npm lifecycle hooks. "Npm install" is used to download and install all the necessary

Full text archived locally
✦ AI Summary · Claude Sonnet


    GitHub to Disable npm Install Scripts by Default to Stop Supply Chain Attacks Ravie LakshmananJun 11, 2026Developer Security / Software Supply Chain GitHub has announced what it said are "breaking changes" coming to npm version 12, one of which turns off install scripts by default to combat software supply chain threats. The changes aim to combat attack techniques that abuse the "npm install" command to trigger the execution of malicious code using npm lifecycle hooks. "Npm install" is used to download and install all the necessary dependencies for a Node.js project. Version 12 is scheduled for release next month. Describing install-time lifecycle scripts as the "single largest code-execution surface in the npm ecosystem," GitHub said the "npm install" command runs scripts from every transitive dependency, as a result of which a single compromised package anywhere in the dependency tree can run arbitrary code on a developer machine or CI runner. By blocking such behaviours, the idea is to require explicit user approval before code execution is initiated automatically during "npm install" as opposed to being trusted by default. "Making script execution opt-in closes that path while keeping it one command away for the packages you trust," GitHub said. The changes are listed below - npm install will no longer execute preinstall, install, or postinstall scripts from dependencies unless they are explicitly allowed in the project. npm install will no longer resolve Git dependencies, either direct or transitive, unless explicitly allowed via --allow-git. npm install will no longer resolve dependencies from remote URLs, such as https tarballs, unless explicitly allowed via --allow-remote. "This includes native node-gyp builds (i.e., a package with a binding.gyp and no explicit install script still gets blocked, because npm runs an implicit node-gyp rebuild for it)," the Microsoft-owned subsidiary said about changes to the default "allowScripts" behavior. "prepare scripts from git, file, and link dependencies are blocked the same way." By defaulting "--allow-git" to "none," the setting closes out a code execution path where a Git dependency's .npmrc configuration file used could override the Git executable, even with --ignore-scripts, a flag that prevents packages specified in a package.json file from automatically running built-in lifecycle scripts during the installation process. GitHub recommends that developers prepare for these changes by upgrading to npm 11.16.0 or newer, running the normal install, and reviewing the warnings displayed. "Use npm approve-scripts --allow-scripts-pending to see which packages have scripts, approve the ones you trust, and commit the updated package.json," it added. "After that, only the scripts you approved keep running once you upgrade. Anything you leave unapproved will stop." Earlier this year, npm also introduced "min-release-age," a setting that tells npm to reject any package version published less than a specified number of days as a safeguard against newly published malicious packages. Found this article interesting? Follow us on Google News, Twitter and LinkedIn to read more exclusive content we post. SHARE     Tweet Share Share SHARE  CI, Code Execution, cybersecurity, Developer Security, GitHub, Malware, node.js, NPM, Software Supply Chain ⚡ Top Stories This Week Microsoft Fixes One-Click GitHub Dev Attack That Let Attackers Steal OAuth Tokens Chrome V8 Zero-Day CVE-2026-11645 Exploited in the Wild - Patch Now New HTTP/2 Bomb Vulnerability Allows Remote DoS on NGINX, Apache, IIS, Envoy and Cloudflare ThreatsDay Bulletin: AI Agents Gone Wrong, Sketchy C2 Tools, ClickFix Tricks, JS Backdoors + 20 New Stories AI Agent Uncovers 21 Zero-Days in FFmpeg; Chrome Patches Record 429 Bugs ⚡ Weekly Recap: Instagram Account Hacks, Android Zero-Day, GitHub Worm and More New ChatGPT Lockdown Mode Limits Tools That Could Enable Data Exfiltration Cisco Patches CVE-2026-20230 in Unified CM as Exploit Code Goes Public Microsoft 365 Android Apps Let Any App Steal Account Tokens via Leftover Debug Flag Unpatched Windows Search URI Vulnerability Lets Attackers Steal NTLMv2 Hashes Claude Code GitHub Action Flaw Let One Malicious Issue Hijack Repositories Miasma Worm Hits 73 Microsoft GitHub Repositories in Major Supply Chain Attack Free Apps Are Quietly Turning Smart TVs Into Web-Scraping Proxies for AI Autonomous AI Tool Finds 2-Year-Old RCE Flaw in Redis (CVE-2026-23479) New FROST Attack Lets Websites Track What Sites and Apps You Open via SSD Timing One-Character Linux Kernel Flaw Enables Local Root Access, Exploits Now Public Load More ▼ ⭐ Featured Resources [Guide] Transform Network Operations with Intelligent Workflows Catch 88% of Malware Threats in Under 60 Seconds with Live Sandbox Analysis Get the 2026 Guide to Govern and Secure Enterprise AI Agents at Scale See How Agentic AI Cuts Your SOC Triage Time in Half [Get a Demo]
    💬 Team Notes
    Article Info
    Source
    The Hacker News
    Category
    ◇ Industry News & Leadership
    Published
    Jun 11, 2026
    Archived
    Jun 11, 2026
    Full Text
    ✓ Saved locally
    Open Original ↗