<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Npm — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/npm/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata — refreshed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Mon, 04 May 2026 11:28:56 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/npm/feed.xml" rel="self" type="application/rss+xml"/><item><title>Compromised Bitwarden CLI npm Package Enables Credential Theft and Information Exfiltration</title><link>https://feed.craftedsignal.io/briefs/2026-05-bitwarden-cli-compromise/</link><pubDate>Mon, 04 May 2026 11:28:56 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-bitwarden-cli-compromise/</guid><description>A remote attacker can exploit a compromised Bitwarden CLI npm package to steal credentials and exfiltrate sensitive information.</description><content:encoded><![CDATA[<p>A compromised Bitwarden CLI npm package allows a remote, anonymous attacker to steal credentials and exfiltrate sensitive information. The specific version of the compromised package is not detailed in the advisory. This supply chain attack targets developers and users who rely on the Bitwarden CLI for managing their passwords and secrets. This attack has the potential to expose sensitive credentials, leading to unauthorized access to systems and data. Defenders need to monitor for unusual activity related to the Bitwarden CLI and its usage within their environments to mitigate this risk.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker compromises a Bitwarden CLI npm package through techniques such as typosquatting, account compromise, or dependency confusion.</li>
<li>Unsuspecting developers or users download and install the compromised package from the npm registry.</li>
<li>During installation, the malicious package executes malicious code injected by the attacker.</li>
<li>The malicious code collects Bitwarden credentials and other sensitive information stored in the CLI&rsquo;s configuration.</li>
<li>The compromised package establishes a covert communication channel (e.g., HTTPS) to an attacker-controlled server.</li>
<li>Stolen credentials and sensitive information are exfiltrated to the attacker&rsquo;s server.</li>
<li>The attacker uses the stolen credentials to access victim&rsquo;s Bitwarden vaults or other systems.</li>
<li>The attacker may further escalate privileges and compromise additional systems within the victim&rsquo;s environment using the stolen credentials.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation leads to the theft of sensitive credentials and information stored within Bitwarden CLI. The number of victims is currently unknown. Organizations using the compromised package could experience unauthorized access to critical systems, data breaches, and potential financial losses. The targeted sectors are broad, encompassing any organization utilizing the Bitwarden CLI for password management and secret storage.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Monitor npm package installations for unusual activity or unexpected dependencies using process creation logs and file integrity monitoring.</li>
<li>Implement strict code review processes for all third-party dependencies, especially those related to security tools like Bitwarden CLI.</li>
<li>Deploy the Sigma rule detecting suspicious network connections from the Bitwarden CLI executable to identify potential data exfiltration.</li>
<li>Enforce multi-factor authentication (MFA) on Bitwarden accounts to mitigate the impact of credential theft.</li>
<li>Regularly audit and review the permissions and access rights associated with Bitwarden CLI credentials.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>supply-chain</category><category>credential-theft</category><category>exfiltration</category><category>npm</category></item><item><title>Increased npm Supply Chain Attacks Targeting SAP Developers</title><link>https://feed.craftedsignal.io/briefs/2026-05-npm-supply-chain/</link><pubDate>Sat, 02 May 2026 00:10:33 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-npm-supply-chain/</guid><description>Threat actors are compromising npm packages, including those targeting SAP developers, to steal credentials, embed themselves in CI/CD pipelines, and deploy multi-stage payloads using techniques like wormable propagation and covert C2 channels on GitHub.</description><content:encoded><![CDATA[<p>The npm ecosystem is experiencing a surge in sophisticated supply chain attacks following the Shai-Hulud worm in September 2025. Attackers, including TeamPCP, are actively compromising npm packages to gain access to sensitive information and establish persistence within CI/CD pipelines. The attacks have evolved to include wormable propagation, infrastructure-level persistence, and multi-stage payloads designed to evade detection. In April 2026, two campaigns were observed: one included the string &ldquo;Shai-Hulud: The Third Coming,&rdquo; and the other, dubbed &ldquo;Mini Shai-Hulud,&rdquo; targeted the SAP developer ecosystem. The compromised packages are often part of SAP&rsquo;s Cloud Application Programming (CAP) Model and multitarget application (MTA) build toolchain, increasing the likelihood of impacting enterprise developers and CI/CD pipelines with access to cloud credentials and GitHub tokens.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Initial Compromise: Attackers compromise legitimate npm packages, such as @cap-js/sqlite, @cap-js/postgres, @cap-js/db-service, and mbt, by injecting malicious code.</li>
<li>Malicious Code Injection: Compromised packages receive two new files: setup.mjs and execution.js, along with a modified package.json containing a &ldquo;preinstall&rdquo; hook.</li>
<li>Execution of setup.mjs: During the <code>npm install</code> process, the preinstall hook executes setup.mjs, which detects the host OS and architecture.</li>
<li>Bun Runtime Download and Execution: setup.mjs downloads the Bun JavaScript runtime (v1.3.13) from GitHub releases and extracts it to a temporary directory.</li>
<li>Execution of execution.js: The Bun runtime executes execution.js, a large (11.7 MB) obfuscated credential stealer and propagation framework.</li>
<li>Credential Harvesting: execution.js harvests GitHub tokens, npm tokens, environment variables, GitHub Actions secrets, AWS STS identity, Azure Key Vault secrets, GCP Secret Manager values, and Kubernetes service account tokens. It also targets Claude and MCP configuration files and Electrum wallets.</li>
<li>Data Exfiltration: The collected data is compressed, encrypted, and exfiltrated to freshly created public GitHub repositories with randomized names and descriptions.</li>
<li>Propagation: The malware searches for commits containing the keyword &ldquo;OhNoWhatsGoingOnWithGitHub,&rdquo; decodes matching commit messages as a token dead-drop, recovers stolen GitHub tokens, and uses them to spread the malware to other packages.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Compromised npm packages can lead to the theft of sensitive credentials, including cloud provider credentials, GitHub tokens, and CI/CD secrets. Successful attacks can result in unauthorized access to cloud infrastructure, code repositories, and deployment pipelines. The Mini Shai-Hulud campaign targeted packages with approximately 570,000 weekly downloads, potentially impacting a large number of SAP developers and enterprise environments. The attackers use stolen credentials to further propagate the malware, increasing the scale and scope of the compromise.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Rotate npm tokens and GitHub Personal Access Tokens (PATs) immediately if any affected packages were installed (refer to the list of affected packages in the IOC table).</li>
<li>Monitor npm install processes for unexpected execution of <code>node setup.mjs</code> (see Attack Chain).</li>
<li>Implement the Sigma rule &ldquo;Detect Suspicious Bun Process Execution&rdquo; to identify potential execution of the Bun runtime from temporary directories.</li>
<li>Monitor network connections for unusual processes connecting to <code>api.github[.]com/search/commits?q=OhNoWhatsGoingOnWithGitHub</code> (see IOCs) to detect potential C2 activity.</li>
<li>Deploy the Sigma rule &ldquo;Detect Github Commit By Claude Email&rdquo; to identify commits authored with the email <code>claude@users.noreply.github.com</code> to detect malicious commits.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">threat</category><category>npm</category><category>supply-chain</category><category>credential-theft</category><category>github</category></item><item><title>Mini Shai-Hulud Supply Chain Attack Targets SAP NPM Packages</title><link>https://feed.craftedsignal.io/briefs/2026-04-mini-shai-hulud/</link><pubDate>Thu, 30 Apr 2026 14:27:36 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-mini-shai-hulud/</guid><description>The Mini Shai-Hulud campaign injected malicious code into SAP NPM packages, targeting credentials and cloud secrets related to SAP Cloud Application Programming (CAP) and SAP cloud deployment workflows, exfiltrating data through public GitHub repositories.</description><content:encoded><![CDATA[<p>The Mini Shai-Hulud campaign, active as of April 2026, targets SAP NPM packages used in the SAP Cloud Application Programming (CAP) ecosystem and SAP cloud deployment workflows. Four package versions were compromised: <code>mbt 1.2.48</code>, <code>@cap-js/db-service 2.10.1</code>, <code>@cap-js/postgres 2.2.2</code>, and <code>@cap-js/sqlite 2.2.2</code>. These packages, with over 500,000 combined weekly downloads, are essential for SAP&rsquo;s Cloud MTA Build Tool and database services for CAP software. The attackers injected a preinstall script that fetches and executes a Bun binary, bypassing security monitoring. The malicious versions were available for a short window of 2-4 hours before being unpublished and superseded by clean versions. Wiz attributes this activity to TeamPCP due to a shared RSA public key used to encrypt the exfiltrated secrets.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker compromises an NPM token, possibly exposed through CircleCI.</li>
<li>The attacker injects a malicious <code>preinstall</code> script into the targeted SAP NPM packages (<code>mbt</code>, <code>@cap-js/db-service</code>, <code>@cap-js/postgres</code>, <code>@cap-js/sqlite</code>).</li>
<li>When a user installs the compromised package, the <code>preinstall</code> script executes.</li>
<li>The script fetches a Bun ZIP archive from a GitHub repository.</li>
<li>The script extracts the Bun archive and executes the included Bun binary.</li>
<li>The Bun binary steals local credentials, GitHub and NPM tokens, AWS, Azure, GCP, GitHub Action, and Kubernetes secrets.</li>
<li>The stolen data is exfiltrated to public GitHub repositories with the description &ldquo;A Mini Shai-Hulud has Appeared&rdquo;.</li>
<li>The malware propagates by modifying package tarballs, updating versions, repackaging them, and publishing them using stolen GitHub Actions tokens.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>The Mini Shai-Hulud attack poses a significant threat to developers and organizations using SAP CAP, a framework for S/4HANA extensions, Fiori app backends, MTAs, and integration flows. With over 500,000 weekly downloads of the affected packages, a large number of systems could have been affected. Successful exploitation allows attackers to steal sensitive credentials and cloud secrets, potentially leading to unauthorized access to critical SAP systems, cloud infrastructure, and source code repositories. This access could be used for further malicious activities, including data breaches, financial fraud, and supply chain compromise.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Organizations using SAP Business Technology Platform workflows, SAP CAP, or MTA-based deployment pipelines should immediately check if they installed the malicious package versions (<code>mbt 1.2.48</code>, <code>@cap-js/db-service 2.10.1</code>, <code>@cap-js/postgres 2.2.2</code>, <code>@cap-js/sqlite 2.2.2</code>) during the exposure window.</li>
<li>Implement network monitoring rules to detect connections to unusual GitHub repositories created to host stolen data. Monitor for repositories with the description &ldquo;A Mini Shai-Hulud has Appeared&rdquo;.</li>
<li>Monitor process execution for the execution of <code>bun</code> binaries in unusual or unexpected locations to identify systems where compromised packages were installed. Deploy the Sigma rule <code>Detect Bun Execution From NPM Package</code> to detect this behavior.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">threat</category><category>supply-chain</category><category>npm</category><category>sap</category><category>credential-theft</category></item><item><title>Compromised SAP npm Packages Steal Developer Credentials</title><link>https://feed.craftedsignal.io/briefs/2026-04-sap-npm-compromise/</link><pubDate>Wed, 29 Apr 2026 22:43:44 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-sap-npm-compromise/</guid><description>Multiple official SAP npm packages were compromised via a supply chain attack, likely by TeamPCP, to steal credentials and authentication tokens from developers' systems.</description><content:encoded><![CDATA[<p>On April 29, 2026, security researchers discovered that multiple official SAP npm packages were compromised in a supply-chain attack, suspected to be carried out by TeamPCP. The compromised packages, including <code>@cap-js/sqlite</code> (v2.2.2), <code>@cap-js/postgres</code> (v2.2.2), <code>@cap-js/db-service</code> (v2.10.1), and <code>mbt</code> (v1.2.48), support SAP&rsquo;s Cloud Application Programming Model (CAP) and Cloud MTA, commonly used in enterprise development. The attack involves injecting a malicious &lsquo;preinstall&rsquo; script into these packages, which executes automatically during installation. This script downloads and executes a heavily obfuscated JavaScript payload designed to steal sensitive credentials from developer machines and CI/CD environments. This incident highlights the ongoing risk of supply chain attacks targeting widely used development tools.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li><strong>Initial Compromise:</strong> Threat actors compromise official SAP npm packages (<code>@cap-js/sqlite</code>, <code>@cap-js/postgres</code>, <code>@cap-js/db-service</code>, <code>mbt</code>). The exact method of initial compromise is currently unknown, but a misconfigured CircleCI job is suspected.</li>
<li><strong>Package Modification:</strong> The compromised npm packages are modified to include a malicious &lsquo;preinstall&rsquo; script.</li>
<li><strong>Installation Trigger:</strong> When developers install the compromised packages using <code>npm install</code>, the &lsquo;preinstall&rsquo; script executes automatically.</li>
<li><strong>Payload Download:</strong> The &lsquo;preinstall&rsquo; script launches a loader named <code>setup.mjs</code> that downloads the Bun JavaScript runtime from GitHub.</li>
<li><strong>Execution of Information Stealer:</strong> The Bun runtime is used to execute a heavily obfuscated <code>execution.js</code> payload, which acts as an information stealer.</li>
<li><strong>Credential Theft:</strong> The information stealer targets a wide variety of credentials, including npm and GitHub authentication tokens, SSH keys, cloud credentials for AWS, Azure, and Google Cloud, Kubernetes configurations and secrets, and CI/CD pipeline secrets and environment variables.  It also attempts to extract secrets directly from the CI runner&rsquo;s memory by scanning <code>/proc/&lt;pid&gt;/maps</code> and <code>/proc/&lt;pid&gt;/mem</code>.</li>
<li><strong>Data Exfiltration:</strong> The stolen data is encrypted and uploaded to public GitHub repositories under the victim&rsquo;s account. These repositories include the description &ldquo;A Mini Shai-Hulud has Appeared&rdquo;.</li>
<li><strong>Lateral Movement:</strong> The malware searches GitHub commits for the string <code>OhNoWhatsGoingOnWithGitHub:&lt;base64&gt;</code>, decoding matching commit messages into GitHub tokens to gain further access and propagate to other packages and repositories, injecting the same malicious code.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>This supply chain attack can lead to the theft of sensitive credentials, allowing attackers to gain unauthorized access to internal systems, cloud infrastructure, and source code repositories. The compromised credentials and secrets can be used for lateral movement within the victim&rsquo;s network, data exfiltration, and further supply chain attacks. The use of stolen credentials to modify other packages increases the scope of the attack, potentially impacting a large number of developers and organizations using the compromised SAP packages.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Monitor npm package installations for the presence of <code>preinstall</code> scripts executing unusual processes, such as the execution of <code>setup.mjs</code> or the download of the Bun JavaScript runtime from GitHub; implement the <code>Detect Suspicious NPM Package Preinstall Script</code> Sigma rule.</li>
<li>Implement the <code>Detect GitHub Repository Creation with &quot;A Mini Shai-Hulud has Appeared&quot; Description</code> Sigma rule to detect exfiltration attempts via public GitHub repositories.</li>
<li>Audit CI/CD pipeline configurations and restrict access to sensitive credentials and secrets to prevent exposure via misconfigured jobs; remediate the reported CircleCI misconfiguration.</li>
<li>Monitor process memory for credential harvesting activity targeting Runner processes in CI/CD environments, specifically looking for reads of <code>/proc/&lt;pid&gt;/maps</code> and <code>/proc/&lt;pid&gt;/mem</code> as outlined in the overview.</li>
<li>Deprecate and remove the compromised packages <code>@cap-js/sqlite</code> (v2.2.2), <code>@cap-js/postgres</code> (v2.2.2), <code>@cap-js/db-service</code> (v2.10.1), and <code>mbt</code> (v1.2.48) from your development and CI/CD environments.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">threat</category><category>supply-chain</category><category>credential-theft</category><category>npm</category></item><item><title>CanisterSprawl: Self-Propagating npm Malware Campaign</title><link>https://feed.craftedsignal.io/briefs/2026-04-canistersprawl-npm-malware/</link><pubDate>Thu, 23 Apr 2026 16:18:33 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-canistersprawl-npm-malware/</guid><description>The CanisterSprawl malware campaign targets npm packages, using a self-propagating approach to steal sensitive data from developer machines, including tokens and API keys, and attempting to publish malicious packages using hijacked credentials.</description><content:encoded><![CDATA[<p>The CanisterSprawl campaign, first disclosed in April 2026, is a self-propagating malware targeting npm packages. This campaign focuses on stealing sensitive information, such as API keys, authentication tokens, and crypto wallet data from developer environments. The malware attempts to automate the process of publishing malicious packages to the npm registry using compromised developer accounts. By hijacking trusted credentials, CanisterSprawl seeks to extend its reach within the open-source ecosystem, turning a single compromised machine into a potential source of widespread supply chain attacks. This campaign highlights the need for robust security measures to prevent the installation of malicious packages and detect unauthorized activity within developer environments.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>A developer installs a malicious npm package from the npm registry.</li>
<li>During installation, the package executes embedded code automatically.</li>
<li>The malware scans environment variables on the local system, looking for credentials and developer tokens.</li>
<li>The malware harvests browser credentials, crypto wallet data, and configuration files containing credentials.</li>
<li>The collected data is exfiltrated to an external server controlled by the attacker.</li>
<li>The malware attempts to locate an npm automation token on the infected machine.</li>
<li>If a token is found, the malware lists all packages to which the token grants &ldquo;write&rdquo; access.</li>
<li>The malware downloads the packages, injects the malicious script into them, and republishes them to the npm registry, spreading the infection to other projects.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful CanisterSprawl infections can lead to the exfiltration of sensitive data, including API keys, authentication tokens, and credentials, which can be used to gain unauthorized access to internal systems and services. The malware&rsquo;s self-propagating nature allows it to spread through the npm ecosystem, potentially compromising numerous projects and developer accounts. If successful, attackers can inject malicious code into trusted packages, leading to supply chain attacks that affect a large number of downstream consumers. This can damage the reputation of affected developers and organizations, and result in significant financial losses.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Remove any identified malicious packages immediately to prevent further data theft and propagation.</li>
<li>Rotate potentially compromised credentials, tokens, and API keys that may have been exposed from affected hosts.</li>
<li>Review environment variables and local credentials on developer machines for potential compromise.</li>
<li>Audit account activity for unauthorized publishing or access to the npm registry, as highlighted in the Overview section.</li>
<li>Deploy the Sigma rule to detect suspicious processes attempting to access sensitive files related to credentials.</li>
<li>Enable file integrity monitoring for common credential storage locations and configuration files to detect unauthorized access and modifications.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>supply-chain</category><category>malware</category><category>npm</category></item><item><title>compressing npm Package Symlink Bypass Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2026-04-compressing-symlink-bypass/</link><pubDate>Sat, 18 Apr 2026 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-compressing-symlink-bypass/</guid><description>A vulnerability in the `compressing` npm package (&lt;=v2.1.0) allows for arbitrary file overwrite via symlink path traversal, bypassing a previous patch for CVE-2026-24884.</description><content:encoded><![CDATA[<p>The <code>compressing</code> npm package (v2.1.0 and earlier) contains a critical vulnerability that permits arbitrary file overwrites due to a symlink path traversal bypass. This bypass affects the patch for CVE-2026-24884. The vulnerability arises from an incomplete validation in the <code>isPathWithinParent</code> utility, where path string checks are performed without verifying the filesystem state, specifically symbolic links. By cloning a malicious repository containing a pre-existing symbolic link, a victim unknowingly plants a &ldquo;poisoned path&rdquo; on their system. The attacker can then craft a malicious archive that, when extracted by the vulnerable library, follows the symlink and overwrites arbitrary files. The ease of exploitation via <code>git clone</code> makes this vulnerability particularly dangerous.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker creates a malicious Git repository containing a symbolic link (e.g., <code>config_file</code>) pointing to a sensitive target file or directory (e.g., <code>/tmp/fake_root/etc/passwd</code>).</li>
<li>Attacker generates a malicious payload (e.g., <code>payload.tar</code>) containing a file with the same name as the symbolic link (e.g., <code>config_file</code>) and uploads both to their Git repository.</li>
<li>Victim clones the attacker&rsquo;s Git repository using <code>git clone</code>. This action automatically restores the symbolic link on the victim&rsquo;s system.</li>
<li>Victim runs an application that utilizes the vulnerable <code>compressing</code> library to extract the <code>payload.tar</code> archive.</li>
<li>The <code>compressing</code> library&rsquo;s <code>isPathWithinParent</code> function resolves the path to the file being extracted. Due to lack of <code>lstat</code> checks, the symbolic link is not detected.</li>
<li>The <code>fs.writeFile</code> function follows the symlink, writing the contents of the file from <code>payload.tar</code> to the targeted sensitive file (e.g., <code>/tmp/fake_root/etc/passwd</code>).</li>
<li>Arbitrary file overwrite occurs, potentially leading to privilege escalation or code execution.</li>
<li>Attacker achieves persistent access or control by overwriting critical system files.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows attackers to overwrite arbitrary files on the victim&rsquo;s system, potentially leading to privilege escalation by modifying sensitive system files such as <code>/etc/passwd</code>. Remote Code Execution (RCE) can be achieved by overwriting executable binaries or startup scripts. Data corruption can also occur through the modification of application data or database files. This vulnerability impacts developers and organizations using the <code>compressing</code> library up to version v2.1.0 when extracting untrusted archives.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade the <code>compressing</code> npm package to a patched version that includes proper symlink handling. This is the primary remediation.</li>
<li>Inspect Git repositories for suspicious symbolic links before cloning. Use <code>git ls-tree -r &lt;commit-ish&gt; | grep 120000</code> to search for symlinks in a repository.</li>
<li>Implement runtime monitoring for file writes to unexpected locations based on the <code>compressing</code> library&rsquo;s activity. Create a detection rule based on <code>process_creation</code> and <code>file_event</code> to detect writes to sensitive directories such as <code>/etc</code> by processes spawned by Node.js that also load the vulnerable <code>compressing</code> module.</li>
<li>Monitor network connections originating from processes related to the <code>compressing</code> library after file extraction. Create a Sigma rule based on <code>network_connection</code> and <code>process_creation</code> to detect unusual outbound connections after archive extraction.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>npm</category><category>supply-chain</category><category>symlink</category><category>directory-traversal</category><category>privilege-escalation</category><category>arbitrary-file-overwrite</category></item><item><title>OpenClaw Environment Variable Injection Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2024-01-23-openclaw-env-injection/</link><pubDate>Fri, 17 Apr 2026 21:54:20 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-23-openclaw-env-injection/</guid><description>The openclaw package versions prior to 2026.4.10 are vulnerable to environment variable injection, where the exec environment policy missed interpreter startup variables allowing operator-supplied environment overrides to influence downstream execution or network behavior, addressed in versions 2026.4.10 and later.</description><content:encoded><![CDATA[<p>The <code>openclaw</code> package, a tool used within the npm ecosystem, was found to have a vulnerability affecting versions prior to 2026.4.10. This vulnerability stems from an inadequate environment variable denylist in the exec environment policy. Specifically, the policy failed to block high-risk interpreter startup variables such as <code>VIMINIT</code>, <code>EXINIT</code>, <code>LUA_INIT</code>, and <code>HOSTALIASES</code>. This oversight allowed malicious actors to potentially inject arbitrary environment variables, thereby influencing the behavior of downstream execution or network operations. The vulnerability was reported by @feiyang666 of Tencent zhuque Lab. The fix was implemented in version 2026.4.10 and later, with version 2026.4.14 containing the fix as well. This vulnerability allows for potential code execution or network manipulation through environment variables.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker gains control over an environment where the vulnerable <code>openclaw</code> package is utilized.</li>
<li>The attacker identifies that the <code>openclaw</code> version is prior to 2026.4.10.</li>
<li>The attacker injects a malicious environment variable, such as <code>VIMINIT</code>, <code>EXINIT</code>, <code>LUA_INIT</code>, or <code>HOSTALIASES</code>, into the system&rsquo;s environment.</li>
<li>The <code>openclaw</code> package executes a process that reads and utilizes environment variables without proper sanitization.</li>
<li>The injected environment variable overrides the intended behavior of the process. For example, <code>VIMINIT</code> can be used to execute arbitrary vim commands upon startup.</li>
<li>This execution leads to arbitrary code execution or modified network behavior, depending on the injected variable. For example, <code>HOSTALIASES</code> can redirect network requests to attacker-controlled servers.</li>
<li>The attacker achieves their objective, such as gaining unauthorized access, exfiltrating data, or causing denial of service.</li>
<li>The attacker leverages the compromised environment to propagate the attack further.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>The vulnerability allows for arbitrary code execution or network redirection by injecting malicious environment variables. Successful exploitation could lead to unauthorized access to sensitive data, system compromise, or denial-of-service conditions. The specific impact depends on the context in which <code>openclaw</code> is used and the permissions of the user running the affected process. The reported vulnerability has been fixed in <code>openclaw</code> version 2026.4.10 and later.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade the <code>openclaw</code> package to version 2026.4.10 or later to remediate the vulnerability, as indicated in the advisory (<a href="https://github.com/advisories/GHSA-vfp4-8x56-j7c5">https://github.com/advisories/GHSA-vfp4-8x56-j7c5</a>).</li>
<li>Monitor process execution for the presence of environment variables being passed to child processes, focusing on <code>VIMINIT</code>, <code>EXINIT</code>, <code>LUA_INIT</code>, and <code>HOSTALIASES</code>. Implement the Sigma rule below to detect suspicious process execution involving these variables.</li>
<li>Implement a system-wide policy to restrict the modification of environment variables by non-administrative users.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>npm</category><category>openclaw</category><category>environment-variable-injection</category><category>vulnerability</category></item><item><title>OpenClaw Arbitrary Code Execution via Malicious .npmrc File</title><link>https://feed.craftedsignal.io/briefs/2026-04-openclaw-code-exec/</link><pubDate>Fri, 10 Apr 2026 17:17:04 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-openclaw-code-exec/</guid><description>OpenClaw before 2026.3.24 is vulnerable to arbitrary code execution via local plugin and hook installation, where an attacker can craft a .npmrc file with a git executable override to execute malicious code during npm install.</description><content:encoded><![CDATA[<p>OpenClaw versions before 2026.3.24 are susceptible to arbitrary code execution. The vulnerability lies in the local plugin and hook installation process. An attacker can exploit this by crafting a malicious <code>.npmrc</code> file that overrides the <code>git</code> executable. During the <code>npm install</code> execution within the staged package directory, the system inadvertently triggers the attacker&rsquo;s specified programs. This happens because <code>npm</code> leverages <code>git</code> dependencies, and the overridden <code>git</code> path points to a malicious executable. This can allow complete system compromise, depending on the permissions of the user running the <code>npm install</code> command. This vulnerability was reported on April 10, 2026.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker identifies a target system running a vulnerable version of OpenClaw (prior to 2026.3.24).</li>
<li>Attacker crafts a malicious <code>.npmrc</code> file. This file contains a configuration that overrides the <code>git</code> executable path to point to a malicious binary under attacker control. For example, <code>git=path/to/malicious/executable</code>.</li>
<li>The attacker places the crafted <code>.npmrc</code> file in a location where the <code>npm</code> command will recognize it (e.g., the project directory, user&rsquo;s home directory, or a global configuration directory).</li>
<li>The attacker triggers an <code>npm install</code> command execution within a project that processes plugins or hooks.</li>
<li>During the <code>npm install</code> process, <code>npm</code> attempts to resolve git dependencies.</li>
<li>Due to the <code>.npmrc</code> configuration, <code>npm</code> executes the attacker-controlled &ldquo;git&rdquo; executable specified in the .npmrc file instead of the legitimate git binary.</li>
<li>The attacker-controlled executable executes arbitrary code on the system.</li>
<li>The attacker achieves arbitrary code execution, potentially leading to system compromise, data exfiltration, or other malicious activities.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows attackers to execute arbitrary code with the privileges of the user running the <code>npm install</code> command. This can lead to complete system compromise, sensitive data leakage, or denial-of-service. While the specific number of victims is unknown, any system running a vulnerable version of OpenClaw is at risk. Sectors most likely to be impacted are those relying on OpenClaw for plugin and hook management.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade OpenClaw to version 2026.3.24 or later to patch the vulnerability (CVE-2026-35641).</li>
<li>Implement file integrity monitoring on <code>.npmrc</code> files to detect unauthorized modifications (file_event log source).</li>
<li>Monitor process executions where <code>npm</code> spawns child processes from unusual or unexpected paths, especially those outside standard installation directories (process_creation log source). Use the Sigma rule provided below to detect this behavior.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>cve-2026-35641</category><category>code-execution</category><category>npm</category></item><item><title>OpenClaw Trust Model Vulnerability: System Prompt Channel Injection</title><link>https://feed.craftedsignal.io/briefs/2026-04-openclaw-trust-model/</link><pubDate>Thu, 09 Apr 2026 14:22:23 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-openclaw-trust-model/</guid><description>OpenClaw versions 2026.4.2 and earlier are vulnerable to a trust model issue where authenticated wake hooks or mapped wake payloads can be promoted into the trusted System prompt channel, potentially leading to security vulnerabilities within the OpenClaw trust model.</description><content:encoded><![CDATA[<p>OpenClaw, a user-controlled local assistant, is susceptible to a vulnerability affecting its trust model. This vulnerability, present in versions 2026.4.2 and earlier, allows authenticated <code>/hooks/wake</code> calls and mapped <code>wake</code> payloads to be improperly promoted into the trusted <code>System:</code> prompt channel. This occurs because the application fails to correctly differentiate between trusted system events and untrusted user-supplied events. The issue was reported on April 9th, 2026, and addressed in version 2026.4.8. The vulnerability specifically impacts the OpenClaw trust model, which assumes a single-tenant environment; it is not applicable to multi-tenant service boundaries. Defenders need to ensure OpenClaw is updated to the patched version to mitigate potential security exploits within this trust model.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker identifies a vulnerable OpenClaw instance running version 2026.4.2 or earlier.</li>
<li>Attacker authenticates to the OpenClaw instance.</li>
<li>Attacker crafts a malicious payload intended to be interpreted as a standard &ldquo;wake&rdquo; command.</li>
<li>Attacker sends a specially crafted <code>/hooks/wake</code> request or a mapped <code>wake</code> payload containing the malicious content.</li>
<li>Due to the vulnerability, OpenClaw incorrectly promotes the attacker-controlled payload into the trusted <code>System:</code> prompt channel.</li>
<li>The OpenClaw assistant processes the malicious payload within the <code>System:</code> context, granting it elevated privileges within the application&rsquo;s trust model.</li>
<li>The malicious payload executes arbitrary commands or actions within the OpenClaw environment as a trusted system component.</li>
<li>The attacker achieves their objective, which could involve data manipulation, unauthorized access to local resources, or other malicious activities within the scope of the OpenClaw assistant.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>This vulnerability allows an attacker to inject malicious commands into the trusted system prompt channel of OpenClaw. Successful exploitation could lead to unauthorized data access, modification, or execution of arbitrary code within the OpenClaw environment. While the advisory does not specify the number of affected users, any instance running OpenClaw version 2026.4.2 or earlier is vulnerable. The primary risk is the compromise of the user&rsquo;s local assistant and potentially the data it manages.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade OpenClaw to version 2026.4.8 or later to remediate the vulnerability (reference: Affected Packages / Versions).</li>
<li>Monitor OpenClaw logs for suspicious activity related to the <code>/hooks/wake</code> endpoint (develop custom rules based on your OpenClaw logging configuration).</li>
<li>Deploy the Sigma rule provided in this brief to detect potential exploitation attempts by monitoring process execution following <code>/hooks/wake</code> requests.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>openclaw</category><category>trust-model</category><category>system-prompt-injection</category><category>npm</category></item><item><title>Malicious NPM Packages Target Strapi Users</title><link>https://feed.craftedsignal.io/briefs/2026-04-strapi-npm-attack/</link><pubDate>Tue, 07 Apr 2026 10:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-strapi-npm-attack/</guid><description>A threat actor published 36 malicious NPM packages disguised as Strapi plugins in a supply chain attack, designed to execute code, escape containers, harvest credentials, and establish persistent implants on Linux systems targeting Strapi users, with specific focus on the Guardarian cryptocurrency payment gateway.</description><content:encoded><![CDATA[<p>A threat actor has compromised the Strapi ecosystem by publishing 36 malicious NPM packages posing as legitimate Strapi plugins. This supply chain attack, discovered by SafeDep, targets users of the open-source headless CMS, Strapi, which is built on Node.js. The malicious packages contain a variety of payloads designed to compromise Strapi installations. These payloads include capabilities for Redis code execution, Docker container escape, credential harvesting, reverse shell deployment, and establishing persistent implants. The attackers specifically targeted the cryptocurrency payment gateway Guardarian, indicating a focus on financial gain and data exfiltration from this specific organization. The malicious activity was observed starting around April 6, 2026.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker publishes 36 malicious NPM packages to the NPM registry, using names that mimic legitimate Strapi plugins to entice Strapi developers to install them.</li>
<li>A Strapi developer installs one or more of the malicious NPM packages into their Strapi project using the <code>npm install</code> command.</li>
<li>Upon installation, the malicious package executes its payload, which may include Redis code execution by injecting crontab entries and deploying PHP/Node.js reverse shells.</li>
<li>The payload attempts to escape Docker containers via overlay filesystem discovery, writing shells to host directories and launching a reverse shell.</li>
<li>The malicious code harvests credentials from the compromised system, including database passwords, API keys, JWT secrets, Elasticsearch credentials, and wallet/key files.</li>
<li>The attacker gains a reverse shell on the compromised system, allowing them to execute arbitrary commands and further explore the network.</li>
<li>The malware exfiltrates Strapi configurations and Guardarian API module data to an external attacker-controlled server.</li>
<li>The attacker establishes persistent implants on the compromised system to maintain long-term access and control.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>This supply chain attack can lead to severe consequences for Strapi users, particularly those in the cryptocurrency sector. If successful, the attack allows for unauthorized access to sensitive data, including API keys, database credentials, and customer information. The direct targeting of Guardarian suggests a high-value target with potential for significant financial loss. A successful attack could result in data breaches, financial theft, and reputational damage for affected organizations. The ability to escape Docker containers further broadens the attack surface, potentially compromising the host system and other containers running on the same infrastructure.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the &ldquo;Detect Suspicious NPM Package Installation&rdquo; Sigma rule to identify potentially malicious package installations (see rule below).</li>
<li>Enable process creation logging with command-line arguments to facilitate detection and investigation of suspicious activity.</li>
<li>Rotate all credentials, including database passwords, API keys, JWT secrets, and other secrets stored on systems where the malicious packages may have been installed, as recommended in the overview.</li>
<li>Monitor network connections for reverse shell activity originating from Strapi servers, as described in the Attack Chain (reference network_connection log source in Sigma rules).</li>
<li>Implement file integrity monitoring to detect unauthorized modifications to Strapi configuration files and other sensitive files (reference file_event log source in Sigma rules).</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>supply-chain</category><category>npm</category><category>strapi</category><category>malware</category></item><item><title>Axios npm Package Compromised via Social Engineering</title><link>https://feed.craftedsignal.io/briefs/2026-04-axios-npm-hack/</link><pubDate>Sat, 04 Apr 2026 20:30:42 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-axios-npm-hack/</guid><description>North Korean threat actors (UNC1069) compromised the Axios npm package by socially engineering a maintainer with a fake Microsoft Teams update delivering a RAT, leading to the injection of a malicious dependency and a supply chain attack.</description><content:encoded><![CDATA[<p>On April 4, 2026, the maintainers of the Axios HTTP client disclosed a social engineering attack targeting one of their developers. The attack, attributed to the North Korean threat actor UNC1069, involved impersonating a legitimate company to build trust with the targeted developer. The attacker used a fake Microsoft Teams update disguised as a critical error fix to deploy a remote access trojan (RAT). This RAT allowed the attackers to gain access to the developer&rsquo;s system and npm credentials. The attackers then published two malicious versions of Axios (1.14.1 and 0.30.4) to the npm package registry. These malicious versions included a dependency called plain-crypto-js, which installed a RAT on macOS, Windows, and Linux systems. These versions were available for three hours, posing a supply chain risk to any systems that installed them during that period.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker identifies a target developer and initiates contact via LinkedIn/Slack, impersonating a legitimate company.</li>
<li>The attacker invites the developer to a Slack workspace populated with fake profiles and staged company activity.</li>
<li>A meeting is scheduled on Microsoft Teams, during which a fake &ldquo;RTC Connection&rdquo; error message is displayed.</li>
<li>The attacker prompts the developer to install a &ldquo;Teams update&rdquo; to resolve the error.</li>
<li>The fake update is a RAT malware, granting the attacker remote access to the developer&rsquo;s machine.</li>
<li>The attacker steals the developer&rsquo;s npm credentials, bypassing MFA due to already authenticated session.</li>
<li>The attacker publishes malicious versions of the Axios package (1.14.1 and 0.30.4) to the npm registry, injecting the plain-crypto-js dependency.</li>
<li>Systems installing the compromised Axios versions download and execute the plain-crypto-js package, resulting in RAT deployment and credential theft.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>The compromise of the Axios npm package created a supply chain attack impacting an unknown number of systems across various sectors. Systems that installed the malicious versions (1.14.1 and 0.30.4) within the three-hour window are considered compromised. Successful exploitation results in the installation of a remote access trojan (RAT) capable of stealing credentials, browser data, and other sensitive information from macOS, Windows, and Linux systems. This can lead to further unauthorized access, data breaches, and potential financial loss.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Monitor npm package installations for the presence of the plain-crypto-js dependency, particularly in projects that use Axios versions 1.14.1 or 0.30.4.</li>
<li>Implement multi-factor authentication (MFA) for npm accounts and other developer accounts, but recognize that authenticated sessions can be hijacked.</li>
<li>Deploy the Sigma rule &ldquo;Detect Suspicious NPM Package Installation&rdquo; to detect potentially malicious package installations based on unusual parent processes (see below).</li>
<li>Block the domain associated with the malicious dependency plain-crypto-js at the DNS resolver.</li>
<li>Educate developers about social engineering tactics and the risks of installing software from untrusted sources.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">threat</category><category>supply chain attack</category><category>npm</category><category>social engineering</category><category>rat</category><category>unc1069</category></item><item><title>Axios NPM Supply Chain Attack Delivering Platform-Specific RATs</title><link>https://feed.craftedsignal.io/briefs/2026-04-axios-npm-supply-chain/</link><pubDate>Sat, 04 Apr 2026 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-axios-npm-supply-chain/</guid><description>A supply chain attack on the Axios NPM package injected malicious code into versions v1.14.1 and v0.30.4, leading to the deployment of platform-specific remote access trojans (RATs) after the installation of a rogue dependency that communicated with attacker-controlled infrastructure to retrieve malicious payloads for Windows, MacOS, and Linux.</description><content:encoded><![CDATA[<p>On March 31, 2026, the official Axios node package manager (npm) package was compromised in a supply chain attack. The attack resulted in the deployment of two malicious versions, v1.14.1 and v0.30.4. Axios is a widely-used JavaScript library for making HTTP requests, with approximately 100 million downloads per week. The malicious packages were available for around three hours. The compromised packages introduced a fake runtime dependency, &lsquo;plain-crypto-js&rsquo;, that executes automatically after installation. This dependency then communicates with attacker-controlled infrastructure at 142.11.206.73, pulling down platform-specific payloads for Linux, MacOS, and Windows. The payloads are remote access trojans (RATs), enabling the attackers to gather information and execute additional malicious activities.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker compromised the Axios NPM package and injected malicious code.</li>
<li>Malicious versions v1.14.1 and v0.30.4 were published to the NPM registry.</li>
<li>The malicious packages introduce a fake runtime dependency named &lsquo;plain-crypto-js&rsquo;.</li>
<li>Upon installation of the compromised package, the &lsquo;plain-crypto-js&rsquo; dependency executes automatically via a post-install script.</li>
<li>The dependency connects to the attacker-controlled IP address 142.11.206.73 to retrieve a platform-specific payload.</li>
<li>On MacOS, a binary named &ldquo;com.apple.act.mond&rdquo; is downloaded and executed using zsh.</li>
<li>On Windows, a PowerShell script (6202033.ps1) is downloaded, and the legitimate powershell.exe is copied to &ldquo;%PROGRAM DATA%\wt.exe&rdquo;, and the ps1 script is executed with hidden and execution policy bypass flags.</li>
<li>On Linux, a Python backdoor is downloaded and executed. The downloaded executables act as Remote Access Trojans (RATs) exfiltrating credentials and enabling remote management.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>This supply chain attack could lead to significant compromise across numerous organizations using the Axios library. The actors exfiltrate credentials and gain remote management capabilities. All credentials present on systems that installed the malicious package should be considered compromised and immediately rotated. The widespread use of Axios means the impact could extend to many applications and systems, potentially enabling further attacks leveraging compromised credentials. Supply chain attacks like these affecting widely used libraries, as seen in 25% of the top 100 vulnerabilities in the Cisco Talos 2025 Year in Review, highlight the substantial risk they pose.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Roll back to safe Axios versions (v1.14.0 or v0.30.3) immediately to prevent further compromise, as mentioned in the overview.</li>
<li>Investigate systems that downloaded malicious packages (v1.14.1 or v0.30.4) for signs of follow-on payloads from the actor-controlled infrastructure, as described in the overview.</li>
<li>Block the actor-controlled IP address 142.11.206.73 and domain Sfrclak.com at the network perimeter to prevent further communication with the malicious infrastructure, per the IOC list.</li>
<li>Monitor for execution of PowerShell scripts from unusual locations, specifically &ldquo;%PROGRAM DATA%\wt.exe&rdquo;, as part of the attack chain.</li>
<li>Implement a process creation rule to alert when processes connect to external IPs using uncommon parent processes. See example rule below.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>supply-chain</category><category>npm</category><category>javascript</category><category>rat</category></item><item><title>Compromised Axios Library Leads to RAT Deployment via @usebruno/cli</title><link>https://feed.craftedsignal.io/briefs/2026-04-axios-supply-chain/</link><pubDate>Fri, 03 Apr 2026 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-axios-supply-chain/</guid><description>Compromised versions of the `axios` npm package introduced a hidden dependency deploying a cross-platform Remote Access Trojan (RAT), impacting users of `@usebruno/cli` who ran `npm install` between 00:21 UTC and ~03:30 UTC on March 31, 2026, potentially leading to credential exfiltration.</description><content:encoded><![CDATA[<p>On March 31, 2026, a supply chain attack targeted the <code>axios</code> npm package, a widely used HTTP client library for JavaScript. Compromised versions 1.14.1 and 0.30.4 of the library were injected with malicious code that installed a cross-platform Remote Access Trojan (RAT) on systems that installed the affected versions of <code>@usebruno/cli</code>. This attack specifically impacted users of the <code>@usebruno/cli</code> who performed an <code>npm install</code> within a roughly 3-hour window, between 00:21 UTC and 03:30 UTC. The malicious code was designed to execute during the <code>postinstall</code> phase of the package installation, indicating a targeted effort to compromise developer environments. This incident highlights the increasing risk of supply chain attacks targeting open-source software and the importance of verifying the integrity of third-party dependencies.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker compromises the <code>axios</code> npm package, injecting malicious code into versions 1.14.1 and 0.30.4.</li>
<li>The compromised <code>axios</code> package is published to the npm registry.</li>
<li>A user of <code>@usebruno/cli</code> executes <code>npm install</code> within the attack window (00:21 UTC - 03:30 UTC on March 31, 2026).</li>
<li>The npm package manager resolves the dependency chain and downloads the compromised <code>axios</code> package as a dependency of <code>@usebruno/cli</code>.</li>
<li>The malicious code within the <code>axios</code> package executes during the <code>postinstall</code> script phase of the installation process.</li>
<li>The <code>postinstall</code> script downloads and installs a cross-platform Remote Access Trojan (RAT) on the user&rsquo;s system.</li>
<li>The RAT establishes a connection to a remote command-and-control (C2) server.</li>
<li>The attacker uses the RAT to exfiltrate credentials and other sensitive data from the compromised system.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>This supply chain attack could have resulted in widespread compromise of developer systems that used the <code>@usebruno/cli</code>. While the number of affected users is unknown, the incident could have led to the exfiltration of sensitive credentials and proprietary source code, potentially enabling further attacks against the affected organizations and their customers. The incident underscores the need for robust security measures in software development pipelines and continuous monitoring of third-party dependencies for malicious activity.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>If <code>@usebruno/cli</code> was installed during the affected window, reinstall dependencies to ensure a clean version of <code>axios</code> is used (reference: Impact section).</li>
<li>Rotate all credentials and secrets that were present on systems where <code>@usebruno/cli</code> was installed during the affected window (reference: Impact section).</li>
<li>Review and implement the security guidance provided in the Aikido Security blog post to further harden your systems (reference: <a href="https://www.aikido.dev/blog/axios-npm-compromised-maintainer-hijacked-rat)">https://www.aikido.dev/blog/axios-npm-compromised-maintainer-hijacked-rat)</a>.</li>
<li>Monitor process creation events for unusual processes spawned by npm or node processes, using the provided Sigma rule (reference: Sigma rule - &ldquo;Detect Suspicious Process Spawned by NPM&rdquo;).</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>supply-chain</category><category>npm</category><category>rat</category><category>credential-theft</category></item><item><title>OpenClaw Arbitrary File Read and Credential Exfiltration Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2026-04-openclaw-file-read/</link><pubDate>Fri, 03 Apr 2026 02:53:58 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-openclaw-file-read/</guid><description>The openclaw package is vulnerable to arbitrary file read and credential exfiltration due to media local roots self-whitelisting in `appendLocalMediaParentRoots`, allowing a model to initiate arbitrary host file reads, potentially leading to credential exfiltration.</description><content:encoded><![CDATA[<p>The <code>openclaw</code> npm package, versions 2026.3.28 and earlier, contains a vulnerability related to media local roots self-whitelisting in the <code>appendLocalMediaParentRoots</code> function. This flaw enables a malicious model to initiate arbitrary file reads on the host system. While the tool-fs root expansion requires prior configuration, the vulnerability can still be exploited, resulting in a narrower impact than a default-critical scenario. The vulnerability was reported by @tdjackey and patched in version 2026.3.31. Defenders should ensure they are running version 2026.3.31 or later of the <code>openclaw</code> package to mitigate the risk of arbitrary file read and potential credential exfiltration.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>A malicious actor crafts or modifies an existing OpenClaw model.</li>
<li>The model includes instructions to trigger the <code>appendLocalMediaParentRoots</code> function within the <code>src/media/local-roots.ts</code> file.</li>
<li>Due to the self-whitelisting behavior, the function expands the allowed media parent directories, potentially including sensitive system directories.</li>
<li>The model leverages the expanded directory access to request the reading of arbitrary files on the host system.</li>
<li>The <code>openclaw</code> application processes the model&rsquo;s file read request without proper validation due to the bypassed whitelisting.</li>
<li>Sensitive files, such as configuration files or credential stores, are read by the application.</li>
<li>The extracted data, including credentials, are then potentially exfiltrated by the malicious model.</li>
<li>The attacker gains unauthorized access to sensitive data or systems.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows an attacker to read arbitrary files on the host system where the <code>openclaw</code> application is running. This can lead to the exfiltration of sensitive information, including credentials, API keys, or other confidential data. While the exact number of affected installations is unknown, any system running a vulnerable version of the <code>openclaw</code> package (&lt;=2026.3.28) is susceptible. The impact is narrowed because the tool-fs root expansion requires prior configuration.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade the <code>openclaw</code> npm package to version 2026.3.31 or later to remediate the vulnerability (reference: Affected Packages / Versions).</li>
<li>Implement input validation and sanitization to prevent arbitrary file paths from being processed by the <code>appendLocalMediaParentRoots</code> function (reference: <code>src/media/local-roots.ts</code>).</li>
<li>Deploy the Sigma rule to detect attempts to access sensitive files via the <code>openclaw</code> application (reference: Sigma rule below).</li>
<li>Review and restrict the tool-fs root expansion configuration to minimize the impact of potential exploitation (reference: Current Maintainer Triage).</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>arbitrary-file-read</category><category>credential-exfiltration</category><category>openclaw</category><category>npm</category></item><item><title>OpenClaw Sandbox Bypass via Heartbeat Context Inheritance</title><link>https://feed.craftedsignal.io/briefs/2026-04-openclaw-sandbox-bypass/</link><pubDate>Thu, 02 Apr 2026 20:59:29 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-openclaw-sandbox-bypass/</guid><description>A critical vulnerability in the openclaw npm package (&lt;=2026.3.28) allows a heartbeat context inheritance to bypass the sandbox via senderIsOwner escalation, patched in version 2026.3.31.</description><content:encoded><![CDATA[<p>The <code>openclaw</code> npm package, a tool used for [describe package functionality if known, else leave generic], contains a critical vulnerability related to how heartbeat contexts are inherited. Specifically, improper handling of the <code>senderIsOwner</code> property during context inheritance allows a malicious actor to bypass intended sandbox restrictions. This vulnerability affects <code>openclaw</code> versions up to and including 2026.3.28. This issue was reported by @AntAISecurityLab and patched in version 2026.3.31, released on March 31, 2026. Defenders need to ensure that their <code>openclaw</code> dependencies are updated to the patched version or later to mitigate this risk.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker crafts a malicious package that includes the vulnerable <code>openclaw</code> version (&lt;=2026.3.28) as a dependency.</li>
<li>The malicious package leverages the heartbeat functionality of <code>openclaw</code> to establish an initial context.</li>
<li>The attacker manipulates the heartbeat context inheritance mechanism to gain control of the <code>senderIsOwner</code> property.</li>
<li>By exploiting the inheritance flaw, the attacker escalates privileges within the <code>openclaw</code> sandbox environment.</li>
<li>The attacker utilizes the escalated privileges to execute arbitrary code within the sandbox.</li>
<li>The arbitrary code gains access to sensitive resources or data within the application utilizing the <code>openclaw</code> package.</li>
<li>The attacker exfiltrates the compromised data or uses the compromised application as a pivot point for further attacks.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows attackers to bypass the <code>openclaw</code> sandbox, potentially leading to arbitrary code execution within applications using the vulnerable package. While the exact scope of impact depends on the application using <code>openclaw</code>, the critical severity suggests significant potential for data breaches, service disruption, or further lateral movement within the compromised environment. Given the widespread use of npm packages, a successful exploit could affect a large number of applications and users.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade the <code>openclaw</code> npm package to version 2026.3.31 or later. This version contains the fix for the identified vulnerability.</li>
<li>Deploy the Sigma rules provided below to detect potential exploitation attempts in your environment. Focus on monitoring process creation and file events related to <code>openclaw</code>.</li>
<li>Implement software composition analysis (SCA) tools to automatically detect vulnerable dependencies like <code>openclaw</code> in your projects.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>sandbox-bypass</category><category>dependency-vulnerability</category><category>npm</category></item><item><title>OpenClaw NPM Package Vulnerable to Python Package Index Redirection</title><link>https://feed.craftedsignal.io/briefs/2026-04-openclaw-index-redirect/</link><pubDate>Thu, 02 Apr 2026 20:57:44 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-openclaw-index-redirect/</guid><description>The openclaw npm package is vulnerable to Python package-index redirection through host execution due to improper sanitization of `PIP_INDEX_URL` and `UV_INDEX_URL`, affecting versions 2026.3.28 and earlier.</description><content:encoded><![CDATA[<p>The <code>openclaw</code> npm package, versions 2026.3.28 and earlier, contains a vulnerability that allows for the redirection of Python package-index traffic. This is due to insufficient sanitization of the <code>PIP_INDEX_URL</code> and <code>UV_INDEX_URL</code> environment variables during host execution. An attacker can potentially exploit this vulnerability to redirect package installation traffic to a malicious index, potentially leading to the installation of compromised packages. The scope of this vulnerability is limited to approved or allowlisted package-management execution paths, mitigating the risk of arbitrary remote execution. Version 2026.3.31 and later contain the fix. The vulnerability was reported by @nexrin.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker identifies a system using a vulnerable version (&lt;=2026.3.28) of the <code>openclaw</code> npm package.</li>
<li>The attacker gains access to the system or its environment configuration.</li>
<li>The attacker sets either the <code>PIP_INDEX_URL</code> or <code>UV_INDEX_URL</code> environment variable to point to a malicious Python package index server.</li>
<li>The system executes a package installation command (e.g., <code>pip install &lt;package&gt;</code>) through <code>openclaw</code>.</li>
<li><code>openclaw</code>, without proper sanitization, uses the attacker-controlled environment variable when resolving package dependencies.</li>
<li>The package manager connects to the malicious index server specified in the <code>PIP_INDEX_URL</code> or <code>UV_INDEX_URL</code> variable.</li>
<li>The attacker serves malicious or backdoored Python packages through the rogue index.</li>
<li>The system installs the malicious packages, potentially compromising the system with arbitrary code execution.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability could lead to the installation of malicious Python packages on systems utilizing the vulnerable <code>openclaw</code> version. This could result in arbitrary code execution, data theft, or other malicious activities, depending on the contents of the malicious packages. The scope is somewhat limited since only allowlisted execution paths are affected, which reduces the blast radius.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade the <code>openclaw</code> npm package to version 2026.3.31 or later to remediate the vulnerability.</li>
<li>Monitor process executions involving <code>openclaw</code> and the use of <code>PIP_INDEX_URL</code> or <code>UV_INDEX_URL</code> environment variables. Deploy the Sigma rule <code>Detect OpenClaw Using Suspicious Index URL</code> to detect exploitation attempts.</li>
<li>Implement strict allowlisting of package management execution paths to further limit the potential impact.</li>
<li>Enable process creation logging to capture command line arguments and environment variables for the <code>openclaw</code> process.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>openclaw</category><category>npm</category><category>package-index-redirection</category><category>environment-variable-injection</category></item><item><title>Axios npm Package Compromised in Supply Chain Attack</title><link>https://feed.craftedsignal.io/briefs/2026-03-axios-supply-chain/</link><pubDate>Tue, 31 Mar 2026 21:04:21 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-03-axios-supply-chain/</guid><description>The widely used Axios npm package was compromised via a supply chain attack on March 31, 2026, resulting in the publication of malicious versions through a compromised maintainer account.</description><content:encoded><![CDATA[<p>On March 31, 2026 (UTC), the Axios npm package, a popular JavaScript library for making HTTP/S requests used by millions of applications, was targeted in a supply chain attack. A compromised maintainer account was used to publish malicious versions of the package, specifically <a href="mailto:axios@1.14.1">axios@1.14.1</a> and <a href="mailto:axios@0.30.4">axios@0.30.4</a>, between approximately 00:21 and 03:30 UTC. This incident highlights the risks associated with software supply chains and the potential for attackers to inject malicious code into widely used components, impacting countless downstream applications. Defenders should prioritize monitoring their dependencies and implementing measures to detect and prevent such attacks.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li><strong>Compromise Maintainer Account:</strong> An attacker gains unauthorized access to the credentials of an Axios npm package maintainer.</li>
<li><strong>Publish Malicious Package Versions:</strong> The attacker uses the compromised account to publish malicious versions of the Axios package (<a href="mailto:axios@1.14.1">axios@1.14.1</a> and <a href="mailto:axios@0.30.4">axios@0.30.4</a>) to the npm registry.</li>
<li><strong>Dependency Resolution:</strong> Developers or automated build systems unknowingly download and incorporate the malicious Axios versions into their projects during dependency resolution.</li>
<li><strong>Malicious Code Execution:</strong> The malicious code within the Axios package executes within the context of the affected applications.</li>
<li><strong>Privilege Escalation (If Applicable):</strong> Depending on the vulnerabilities exploited, the attacker may attempt to escalate privileges within the compromised environment.</li>
<li><strong>Data Exfiltration/Lateral Movement:</strong> The attacker uses the compromised application as a beachhead to exfiltrate sensitive data or move laterally to other systems on the network.</li>
<li><strong>Establish Persistence:</strong> The attacker establishes persistent access to the compromised environment to maintain control.</li>
<li><strong>Achieve Objectives:</strong> The attacker achieves their ultimate objectives, which could include data theft, system disruption, or further compromise of the software supply chain.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>This supply chain attack on the Axios npm package has the potential to affect millions of applications that depend on the library. Successful exploitation could lead to data breaches, unauthorized access to systems, and widespread disruption of services. The exact scope of the impact depends on the nature of the malicious code injected into the Axios package and the vulnerabilities it exploits.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Monitor npm package installations for the presence of <a href="mailto:axios@1.14.1">axios@1.14.1</a> and <a href="mailto:axios@0.30.4">axios@0.30.4</a> and investigate any occurrences (refer to the <strong>Overview</strong> section).</li>
<li>Implement integrity checks for npm packages to detect unauthorized modifications to dependencies.</li>
<li>Deploy the provided Sigma rule to detect suspicious process execution within applications using the Axios library (see <strong>rule: &ldquo;Detect Suspicious Process Execution from Axios&rdquo;</strong>).</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>supply-chain</category><category>npm</category><category>javascript</category></item><item><title>OpenClaw Symlink Traversal via IDENTITY.md appendFile in agents.create/update</title><link>https://feed.craftedsignal.io/briefs/2026-03-openclaw-symlink/</link><pubDate>Fri, 27 Mar 2026 14:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-03-openclaw-symlink/</guid><description>OpenClaw is vulnerable to symlink traversal via IDENTITY.md appendFile in agents.create/update. An attacker who can place a symlink in the agent workspace can hijack the IDENTITY.md path to append attacker-controlled content to arbitrary files on the system leading to remote code execution, persistent code execution, unauthorized SSH access, or service disruption.</description><content:encoded><![CDATA[<p>The <code>openclaw</code> npm package is vulnerable to a symlink traversal vulnerability (CVE-2026-32013) affecting versions 2026.2.22 and earlier. The vulnerability lies in the <code>agents.create</code> and <code>agents.update</code> handlers within the <code>src/gateway/server-methods/agents.ts</code> file. These handlers use <code>fs.appendFile</code> on the <code>IDENTITY.md</code> file without proper symlink containment checks. An attacker capable of placing a symlink within the agent workspace can redirect the <code>IDENTITY.md</code> path to point to arbitrary files on the system, allowing them to append attacker-controlled content to these files. This can lead to serious consequences such as remote code execution by modifying <code>/etc/crontab</code>, persistent code execution by modifying shell configuration files like <code>~/.bashrc</code>, or unauthorized SSH access by modifying <code>~/.ssh/authorized_keys</code>.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker gains initial access to the agent workspace.</li>
<li>The attacker plants a symbolic link named <code>IDENTITY.md</code> within the agent workspace. This symlink points to a sensitive system file, such as <code>/etc/crontab</code> or <code>~/.ssh/authorized_keys</code>.</li>
<li>The <code>ensureAgentWorkspace</code> function is called, but the exclusive-create flag (<code>wx</code>) skips creation due to the existing symlink (EEXIST error).</li>
<li>The attacker triggers the <code>agents.create</code> or <code>agents.update</code> API endpoint, for example, by sending an HTTP POST request.</li>
<li>The <code>agents.create</code> or <code>agents.update</code> handler constructs the path to <code>IDENTITY.md</code> using <code>path.join(workspaceDir, DEFAULT_IDENTITY_FILENAME)</code>.</li>
<li>The vulnerable <code>fs.appendFile</code> function is called to append agent metadata (name, emoji, avatar) to the <code>IDENTITY.md</code> file. Because <code>fs.appendFile</code> follows symlinks, the content is written to the attacker-controlled target file.</li>
<li>Attacker-controlled data is appended to the target file.</li>
<li>If the target file is a cron configuration file, this leads to remote code execution. If it&rsquo;s an SSH authorized_keys file, this leads to unauthorized access.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows an attacker to append attacker-controlled content to arbitrary files on the system. This can lead to:</p>
<ul>
<li><strong>Remote Code Execution:</strong> By appending malicious entries to <code>/etc/crontab</code> or user crontab files.</li>
<li><strong>Persistent Code Execution:</strong> By modifying shell configuration files like <code>~/.bashrc</code> or <code>~/.profile</code>.</li>
<li><strong>Unauthorized SSH Access:</strong> By appending SSH keys to <code>~/.ssh/authorized_keys</code>.</li>
<li><strong>Service Disruption:</strong> By modifying application configuration files.</li>
</ul>
<p>The vulnerability affects <code>openclaw</code> versions 2026.2.22 and earlier, and no patches are currently available. The number of affected systems depends on the adoption rate of the <code>openclaw</code> package.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Monitor file creation events within agent workspace directories for the creation of symbolic links using file_event logs.</li>
<li>Implement and deploy the provided Sigma rule to detect exploitation attempts by monitoring <code>fs.appendFile</code> calls related to IDENTITY.md without symlink resolution.</li>
<li>Restrict access to the agent workspace directory to prevent attackers from planting symlinks.</li>
<li>Upgrade to a patched version of <code>openclaw</code> when available.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>openclaw</category><category>symlink-traversal</category><category>vulnerability</category><category>npm</category><category>rce</category><category>persistence</category></item><item><title>OpenClaw Nostr DM Unauthorized Crypto Computation Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2026-04-openclaw-unauth-crypto/</link><pubDate>Thu, 26 Mar 2026 19:09:45 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-openclaw-unauth-crypto/</guid><description>The openclaw npm package before version 2026.3.22 allows unauthorized pre-authentication computation due to improper handling of inbound Nostr DMs, where crypto and dispatch work are performed before enforcing sender and pairing policies.</description><content:encoded><![CDATA[<p>The <code>openclaw</code> npm package, a tool likely used for decentralized communication or cryptocurrency-related applications, contains a vulnerability affecting versions prior to 2026.3.22. Specifically, the vulnerability lies in the handling of inbound Direct Messages (DMs) within the Nostr protocol implementation. The flaw allows for crypto operations and dispatch work to be triggered before proper sender and pairing policy enforcement. This means an attacker could potentially initiate resource-intensive computations on a vulnerable system without proper authentication or authorization. The issue was reported by @kuranikaran and resolved in version 2026.3.22 with improvements to authorization checks in <code>extensions/nostr/src/channel.ts</code> and the introduction of pre-crypto authorization and rate-limiting guardrails in <code>extensions/nostr/src/nostr-bus.ts</code>.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker crafts a malicious Nostr DM specifically designed to trigger computationally expensive crypto operations within OpenClaw.</li>
<li>Attacker sends the malicious DM to a user running a vulnerable version of the <code>openclaw</code> package.</li>
<li>The OpenClaw application receives the DM and, due to the vulnerability, proceeds to decrypt the message content before validating the sender&rsquo;s authorization.</li>
<li>OpenClaw attempts to perform cryptographic operations, such as decryption or signature verification, based on the contents of the malicious DM.</li>
<li>The application dispatches internal tasks or events based on the decrypted (but unauthorized) message content.</li>
<li>Repeatedly sending these crafted messages can lead to denial of service due to CPU exhaustion or memory over-utilization.</li>
<li>(If applicable) Depending on the purpose of the cryptographic operations, the attacker may be able to glean partial information or influence the application&rsquo;s state without full authentication.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability could lead to denial-of-service conditions due to excessive CPU usage and memory consumption on systems running vulnerable versions of OpenClaw. Attackers could potentially trigger resource-intensive cryptographic operations without proper authorization, impacting the availability and performance of the application. In specific scenarios, and depending on the application&rsquo;s functionality, partial information disclosure or unauthorized state changes might be possible. This vulnerability affects any application using the <code>openclaw</code> npm package prior to version 2026.3.22.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade the <code>openclaw</code> npm package to version 2026.3.22 or later to remediate the vulnerability (reference affected versions).</li>
<li>Monitor network traffic for unusually high volumes of inbound Nostr DM messages targeting applications using the <code>openclaw</code> package (network_connection log source).</li>
<li>Implement rate limiting on Nostr DM processing to prevent denial-of-service attacks (network_connection/firewall log source).</li>
<li>Deploy the provided Sigma rule to detect suspicious activity related to the vulnerable code paths (process_creation/file_event log source).</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>supply-chain</category><category>vulnerability</category><category>npm</category></item><item><title>pdf-image npm Package Command Injection Vulnerability (CVE-2026-26830)</title><link>https://feed.craftedsignal.io/briefs/2026-03-pdf-image-command-injection/</link><pubDate>Wed, 25 Mar 2026 15:16:38 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-03-pdf-image-command-injection/</guid><description>The pdf-image npm package through version 2.0.0 is vulnerable to OS command injection via the pdfFilePath parameter due to improper sanitization, potentially leading to arbitrary code execution.</description><content:encoded><![CDATA[<p>The pdf-image npm package, up to version 2.0.0, contains a critical vulnerability (CVE-2026-26830) that allows for OS command injection. This vulnerability stems from the way the package handles user-provided file paths when processing PDF files. Specifically, the <code>constructGetInfoCommand</code> and <code>constructConvertCommandForPage</code> functions utilize <code>util.format()</code> to incorporate the <code>pdfFilePath</code> parameter directly into shell command strings. These commands are then executed using…</p>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>command-injection</category><category>npm</category><category>CVE-2026-26830</category><category>pdf</category></item><item><title>TeamPCP Deploys CanisterWorm on NPM After Trivy Compromise</title><link>https://feed.craftedsignal.io/briefs/2026-03-teampcp-canisterworm/</link><pubDate>Sun, 22 Mar 2026 10:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-03-teampcp-canisterworm/</guid><description>TeamPCP deployed the CanisterWorm malware on the NPM package registry following a compromise of the Trivy scanning tool.</description><content:encoded><![CDATA[<p>On March 21, 2026, it was reported that threat actor TeamPCP successfully deployed CanisterWorm, a malicious worm, onto the NPM package registry. This followed a compromise of Trivy, a widely-used open-source vulnerability scanner. The specifics of the Trivy compromise are not detailed in this brief, but it likely involved exploiting vulnerabilities within Trivy or its infrastructure to gain unauthorized access and the ability to publish malicious packages. The scope of this incident affects developers and organizations that rely on NPM packages and utilize Trivy in their software development lifecycle. Defenders should prioritize detecting and mitigating the spread of CanisterWorm within their environments, focusing on identifying compromised Trivy instances and monitoring for suspicious activity related to NPM package installations.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Initial Compromise: TeamPCP gains unauthorized access to Trivy infrastructure, potentially exploiting a vulnerability or using stolen credentials.</li>
<li>Malware Injection: The attackers inject malicious code into a legitimate Trivy package or create a new package containing the CanisterWorm payload.</li>
<li>NPM Deployment: TeamPCP publishes the compromised or new package to the NPM registry, making it available for download by unsuspecting users.</li>
<li>Package Installation: Developers unknowingly download and install the malicious package through NPM, integrating CanisterWorm into their projects.</li>
<li>Worm Propagation: CanisterWorm begins to propagate itself by infecting other NPM packages and dependencies within the compromised project.</li>
<li>Lateral Movement: The worm replicates and spreads to other systems and projects that depend on the infected packages.</li>
<li>Persistence: The malware establishes persistence within infected systems to maintain its presence and continue spreading.</li>
<li>Payload Delivery: CanisterWorm executes its malicious payload, which could include data theft, code injection, or other harmful activities.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>The deployment of CanisterWorm on NPM poses a significant threat to the software supply chain. Successful infection can lead to widespread compromise of applications and systems that rely on NPM packages. The specific number of victims and the full extent of damage is currently unknown, but the incident has the potential to affect numerous organizations across various sectors that utilize NPM and Trivy in their development processes. Successful exploitation could result in data breaches, service disruptions, and reputational damage.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Monitor NPM package installations for suspicious activity and unexpected dependencies to identify potential CanisterWorm infections.</li>
<li>Implement integrity checks for NPM packages to verify their authenticity and prevent the installation of tampered packages.</li>
<li>Analyze process creation events for suspicious processes originating from NPM-related processes using the provided Sigma rules.</li>
<li>Regularly scan systems for known malware signatures to detect CanisterWorm and other potential threats.</li>
<li>Review and strengthen the security of your software supply chain to mitigate the risk of future attacks.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">threat</category><category>supply-chain</category><category>malware</category><category>npm</category><category>canisterworm</category></item><item><title>PylangGhost RAT Observed on npm Registry</title><link>https://feed.craftedsignal.io/briefs/2024-01-pylangghost-npm/</link><pubDate>Mon, 16 Mar 2026 04:45:53 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-pylangghost-npm/</guid><description>A new remote access trojan (RAT) named PylangGhost has been observed on the npm registry, posing a supply chain risk to developers and applications using affected packages.</description><content:encoded><![CDATA[<p>A new remote access trojan (RAT) named PylangGhost has been discovered on the npm registry. This marks the first known instance of this specific RAT being distributed via a software supply chain attack on the npm ecosystem. The RAT is named for its use of Python and potentially for obfuscation or evasion techniques. The affected npm packages are designed to inject malicious code into projects that depend on them. This malicious code facilitates unauthorized remote access to infected systems, thereby providing threat actors with the ability to exfiltrate sensitive data, deploy further malware, or perform other malicious activities. This is a supply chain attack that endangers developers and applications.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>A developer installs a malicious package from the npm registry containing PylangGhost.</li>
<li>During the installation process, a post-install script or similar mechanism executes, injecting the PylangGhost RAT into the developer&rsquo;s environment.</li>
<li>The RAT establishes a connection to a command-and-control (C2) server controlled by the attacker.</li>
<li>The C2 server sends commands to the infected system, instructing the RAT to perform specific actions.</li>
<li>The RAT executes the commands, potentially including data exfiltration, downloading and executing additional payloads, or establishing persistence.</li>
<li>Sensitive data, such as credentials, API keys, or source code, is exfiltrated from the compromised system to the C2 server.</li>
<li>The attacker gains remote access and control over the compromised system, enabling further malicious activities.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>The presence of PylangGhost on the npm registry introduces a significant supply chain risk.  Successful infection allows attackers to gain remote access to developer systems, potentially leading to the theft of sensitive source code, credentials, and other proprietary information. The compromise can extend to applications built using the infected packages, impacting downstream users and potentially leading to widespread data breaches or service disruptions. The number of affected victims is currently unknown, but the risk is widespread due to the popularity of the npm registry.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Monitor npm package installations for suspicious post-install scripts or unexpected network connections (see related Sigma rules).</li>
<li>Implement strong dependency scanning tools to identify and remove potentially malicious packages from your projects.</li>
<li>Analyze network connection logs for connections to unusual or malicious domains after npm package installations (see related Sigma rules).</li>
<li>Enable process monitoring for any processes spawned during or after npm package installations.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>supply-chain</category><category>rat</category><category>npm</category><category>pylangghost</category></item><item><title>OpenClaw MCP Loopback Token Spoofing Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2024-01-openclaw-token-spoofing/</link><pubDate>Tue, 09 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-openclaw-token-spoofing/</guid><description>A vulnerability in OpenClaw versions 2026.4.21 and earlier allows a non-owner loopback client to spoof the owner context by manipulating request headers, potentially gaining unauthorized access to owner-gated operations.</description><content:encoded><![CDATA[<p>OpenClaw, a package available on npm, contains a vulnerability in versions 2026.4.21 and earlier that allows for token spoofing within the MCP loopback path. This flaw stems from the acceptance of spoofable owner-context metadata from request headers. A malicious actor could exploit this by crafting requests that falsely present them as the owner, thereby bypassing authorization checks and potentially gaining unauthorized access to operations intended only for the owner. The vulnerability was reported by @VladimirEliTokarev and patched in version 2026.4.22. This issue matters for defenders because it can lead to privilege escalation and unauthorized modification of system configurations or data.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker identifies a vulnerable OpenClaw instance (version &lt;= 2026.4.21) utilizing the MCP loopback.</li>
<li>Attacker crafts a malicious HTTP request targeting the MCP loopback endpoint.</li>
<li>Attacker injects a forged &ldquo;sender-owner&rdquo; header into the HTTP request, claiming owner privileges.</li>
<li>The vulnerable OpenClaw instance incorrectly trusts the spoofed &ldquo;sender-owner&rdquo; header.</li>
<li>The application bypasses owner authorization checks due to the forged header.</li>
<li>Attacker gains access to owner-gated operations within the MCP loopback.</li>
<li>Attacker performs unauthorized actions, such as modifying configurations or accessing sensitive data.</li>
<li>Attacker maintains unauthorized access, potentially escalating privileges further within the system.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability could allow unauthorized access to critical system functions intended only for the owner. This could lead to configuration changes, data breaches, or other malicious activities depending on the specific owner-gated operations exposed within the OpenClaw MCP loopback. The severity depends on the permissions granted to the &ldquo;owner&rdquo; context within the application but could be critical.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade OpenClaw to version 2026.4.22 or later to remediate the vulnerability as described in the fix commit 3cb1a56bfc9579a0f2336f9cfa12a8a744332a19.</li>
<li>Implement network monitoring to detect suspicious HTTP requests containing potentially forged &ldquo;sender-owner&rdquo; headers targeting MCP loopback endpoints using the Sigma rule <code>Detect OpenClaw MCP Loopback Owner Spoofing</code>.</li>
<li>Review and audit existing OpenClaw deployments to identify and patch vulnerable instances quickly.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>vulnerability</category><category>npm</category><category>token spoofing</category></item><item><title>Electerm Command Injection Vulnerability via runLinux Function</title><link>https://feed.craftedsignal.io/briefs/2024-01-electerm-command-injection/</link><pubDate>Wed, 03 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-electerm-command-injection/</guid><description>A command injection vulnerability exists in electerm's install.js due to insufficient validation in the runLinux() function, allowing attackers to execute arbitrary commands by manipulating remote release metadata.</description><content:encoded><![CDATA[<p>A critical command injection vulnerability has been identified in Electerm, specifically affecting users who install the application via <code>npm install -g electerm</code> on Linux systems. The vulnerability resides within the <code>runLinux()</code> function in <code>github.com/elcterm/electerm/npm/install.js</code>. This function lacks proper validation when appending remote version strings into an <code>exec(&quot;rm -rf ...&quot;)</code> command. An attacker capable of controlling the remote release metadata (e.g., version string, release name) served by Electerm&rsquo;s update server could exploit this flaw to execute arbitrary system commands. This could lead to tampering with local files and a complete compromise of development or runtime assets. This vulnerability affects Electerm versions prior to 3.3.8.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker gains control over the Electerm update server or performs a man-in-the-middle attack.</li>
<li>The attacker crafts malicious release metadata, including a crafted version string containing command injection payloads.</li>
<li>A user on a Linux system executes <code>npm install -g electerm</code> to install or update Electerm.</li>
<li>The <code>install.js</code> script fetches the malicious release metadata from the compromised update server.</li>
<li>The <code>runLinux()</code> function appends the attacker-controlled version string directly into an <code>exec(&quot;rm -rf ...&quot;)</code> command.</li>
<li>The <code>exec()</code> function executes the command, resulting in arbitrary command execution with the privileges of the user running <code>npm install</code>.</li>
<li>The attacker can then tamper with local files, install backdoors, or escalate privileges.</li>
<li>The attacker achieves complete system compromise, potentially exfiltrating sensitive data or using the compromised system as a pivot point.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows attackers to execute arbitrary system commands on the victim&rsquo;s machine. This can lead to complete system compromise, including unauthorized access to sensitive data, installation of malware, and further propagation of the attack within the network. Given the nature of <code>npm install</code>, developers are primarily at risk. The impact could be significant for development environments.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Apply the following rule to detect command injection attempts within npm installations referencing the electerm package: <code>Electerm NPM install Command Injection</code>.</li>
<li>Monitor network traffic for connections to unexpected or suspicious update servers that could be serving malicious Electerm release metadata using network connection logs.</li>
<li>While the vulnerability is patched in later versions, ensure users are aware of the risks associated with running older versions of Electerm (<code>&lt; 3.3.8</code>).</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>command-injection</category><category>electerm</category><category>npm</category></item><item><title>OpenClaw Symlink Race Condition Allows Sandbox Escape</title><link>https://feed.craftedsignal.io/briefs/2024-01-openclaw-symlink/</link><pubDate>Tue, 02 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-openclaw-symlink/</guid><description>A time-of-check/time-of-use (TOCTOU) race condition in OpenClaw versions 2026.4.21 and earlier allows a symlink swap to redirect filesystem writes outside the intended sandbox mount root, potentially leading to arbitrary file modification.</description><content:encoded><![CDATA[<p>OpenClaw, a tool available via npm, contains a vulnerability in versions 2026.4.21 and earlier that could allow for a sandbox escape. This vulnerability stems from a time-of-check/time-of-use (TOCTOU) race condition during filesystem writes within the OpenShell sandbox environment. An attacker could potentially exploit this vulnerability by manipulating symlinks to redirect write operations outside of the intended local mount root. This can occur because OpenClaw does not properly validate the target of write operations against the mount root, leaving it susceptible to symlink-based redirection attacks. Successful exploitation could allow an attacker to modify sensitive files outside the sandbox. The vulnerability is fixed in version 2026.4.22.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker crafts a malicious OpenClaw package or leverages an existing package.</li>
<li>The package contains a symlink within the intended sandbox directory.</li>
<li>The OpenClaw application attempts to write to a file via the symlink.</li>
<li>Between the time OpenClaw checks the symlink and the time it performs the write operation, the attacker replaces the symlink with a new symlink pointing outside the intended sandbox root.</li>
<li>OpenClaw, due to the TOCTOU race condition, writes to the file location pointed to by the new symlink, which resides outside the sandbox.</li>
<li>This allows the attacker to overwrite or modify arbitrary files on the system.</li>
<li>The attacker leverages this capability to gain elevated privileges or compromise sensitive data.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability could allow an attacker to bypass the intended security restrictions of the OpenClaw sandbox. An attacker could potentially overwrite system files, inject malicious code into existing applications, or steal sensitive data. While the exact number of affected installations is unknown, any system running a vulnerable version of OpenClaw is susceptible to this attack.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to OpenClaw version 2026.4.22 or later to patch the vulnerability (reference: Affected Packages / Versions).</li>
<li>Monitor file system events for unexpected modifications outside of the expected OpenClaw sandbox directory. Deploy the Sigma rule <code>Detect OpenClaw Sandbox Escape via Symlink</code> to detect potential exploitation attempts.</li>
<li>Implement stricter file system access controls to limit the potential impact of successful exploitation (reference: Impact).</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>sandbox-escape</category><category>symlink</category><category>race-condition</category><category>npm</category></item></channel></rss>