<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Tharun Balaji</title>
    <description>The latest articles on DEV Community by Tharun Balaji (@tharun_oo3).</description>
    <link>https://dev.to/tharun_oo3</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2537481%2Fb72d8f8f-0286-4a46-8852-5354f9cfb667.jpg</url>
      <title>DEV Community: Tharun Balaji</title>
      <link>https://dev.to/tharun_oo3</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tharun_oo3"/>
    <language>en</language>
    <item>
      <title>Supply Chain Attack: It's 2025 &amp; Let's Learn how to avoid it</title>
      <dc:creator>Tharun Balaji</dc:creator>
      <pubDate>Fri, 19 Sep 2025 18:41:50 +0000</pubDate>
      <link>https://dev.to/tharun_oo3/its-2025-we-still-see-supply-chain-attacks-kl</link>
      <guid>https://dev.to/tharun_oo3/its-2025-we-still-see-supply-chain-attacks-kl</guid>
      <description>&lt;p&gt;&lt;strong&gt;So, What Are Supply Chain Attacks?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqbv069tx49r2kaybe5bd.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqbv069tx49r2kaybe5bd.jpg" alt=" " width="612" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A supply chain attack is the hacker’s version of “why break the bank vault when you can bribe the guy making the vault door?” Instead of attacking your app directly, attackers poison the things you rely on: packages, dependencies, CI/CD pipelines, or even developer accounts.&lt;/p&gt;

&lt;p&gt;In open source ecosystems like npm, where developers casually &lt;code&gt;npm install&lt;/code&gt; whatever shiny module makes their life easier, one compromised package can cascade into thousands of projects overnight.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where It Stands in OWASP?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The OWASP Top Ten is essentially the top 10 vulnerability list. In 2021, it introduced A08: Software and Data Integrity Failures, a category warning about supply chain attacks. Fast-forward to 2025 and the problem hasn’t gone away—it’s only evolved. If anything, attackers are more creative, and developers are still a little too trusting. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Recent &lt;em&gt;npm&lt;/em&gt; Attacks in September 2025&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;FIRST ATTACK:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;September 8: The Phishing Heist&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Attackers set up a fake 2FA reset site (&lt;em&gt;npmjs.help&lt;/em&gt;—because adding “help” to a domain instantly makes it trustworthy, right?). Maintainer, Qix, of popular packages like &lt;em&gt;chalk&lt;/em&gt; and &lt;em&gt;debug&lt;/em&gt; fell for it. The result? Malicious versions slipped in that tried to skim cryptocurrency wallets by hijacking browser API calls.&lt;/p&gt;

&lt;p&gt;The poisoned packages lived for about two hours—plenty of time for countless developers to unknowingly invite a thief into their projects. All for the low price of trusting an email. Though they managed to get only around $500, the potential for enormous damage is huge.&lt;/p&gt;

&lt;p&gt;SECOND ATTACK: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;September 15: The Shai-Hulud Worm&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As if phishing wasn’t enough, a worm joined the party. Dubbed &lt;em&gt;Shai-Hulud&lt;/em&gt; (because even malware authors can’t resist a Dune reference), this self-propagating critter infected over 180 npm packages. Once it latched onto a maintainer account, it spread to other packages, exfiltrated secrets, and poisoned dependency trees.&lt;/p&gt;

&lt;p&gt;This wasn’t just malware—it was npm’s first proper worm, moving automatically across the ecosystem. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Small Steps, We, Developers Can Take&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Enable strong 2FA (hardware keys &amp;gt; SMS).&lt;/li&gt;
&lt;li&gt;Audit and pin dependencies—no blind &lt;code&gt;npm update&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Rotate API keys and credentials regularly.&lt;/li&gt;
&lt;li&gt;Run security tools (&lt;code&gt;npm audit&lt;/code&gt;, Snyk, etc.) in CI/CD.&lt;/li&gt;
&lt;li&gt;Actually read security advisories (yes, even the boring ones).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Software Solutions to Fight Supply Chain Attacks&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Dependency Pinning and Lockfiles&lt;br&gt;
Rely on lockfiles (&lt;code&gt;package-lock.json&lt;/code&gt;, &lt;code&gt;yarn.lock&lt;/code&gt;) to avoid silently pulling malicious updates.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Automated Dependency Scanning&lt;br&gt;
Integrate tools like Snyk, Dependabot, or OWASP Dependency-Check into pipelines for constant monitoring.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Runtime Behavior Monitoring&lt;br&gt;
Use tools that track suspicious behavior (like hidden network calls) during execution.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Package Provenance Verification&lt;br&gt;
Adopt signing frameworks like &lt;strong&gt;Sigstore&lt;/strong&gt; to confirm packages come from real maintainers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Sandboxing Dependencies&lt;br&gt;
Isolate third-party code to minimize damage if it misbehaves.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;SBOMs (Software Bill of Materials)&lt;br&gt;
Generate SBOMs to know exactly what goes into your build—no more mystery meat dependencies.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Automated Secret Scanning&lt;br&gt;
Tools like GitGuardian can flag if dependencies attempt to mess with sensitive credentials.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cool-off Windows for New Releases&lt;br&gt;
Add an internal delay before adopting brand-new package versions; if a malicious release gets yanked quickly, you dodge it.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;September’s npm fiascos proved, again, that supply chain attacks aren’t freak accidents—they’re practically features of our current model. Developers got phished, a worm ran wild, and millions of projects ended up one bad &lt;code&gt;npm install&lt;/code&gt; away from disaster.&lt;/p&gt;

&lt;p&gt;The fixes exist. Some are as simple as enabling 2FA, others require serious software defenses like provenance checks and runtime monitoring. But until the ecosystem treats security as infrastructure, supply chain attacks will keep lingering, wearing new names and pulling the same old tricks.&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>node</category>
      <category>npm</category>
    </item>
  </channel>
</rss>
