← Back to SOC feed Coverage →

Detects package.json which include the malicious plain-crypto-js package as dependency

yara CRITICAL signature-base
florian-rothnpm_supplychain
This rule was pulled from an open-source repository and enriched with AI. Validate in a test environment before deploying to production.
View original rule at signature-base →
Retrieved: 2026-08-06T11:00:00Z · Confidence: medium

Hunt Hypothesis

This hunt identifies Node.js applications that have integrated the compromised plain-crypto-js package into their package.json, signaling a potential supply chain attack where adversaries inject malicious code to compromise cryptographic operations. Proactively hunting for this dependency in Azure Sentinel is critical because it allows the SOC team to detect and remediate exposure before attackers can leverage the vulnerable library to execute remote code or intercept sensitive data within the cloud environment.

YARA Rule

rule MAL_NPM_SupplyChain_Attack_Mar26 {
   meta:
      description = "Detects package.json which include the malicious plain-crypto-js package as dependency"
      author = "Marius Benthin"
      date = "2026-03-31"
      reference = "https://www.stepsecurity.io/blog/axios-compromised-on-npm-malicious-versions-drop-remote-access-trojan"
      hash = "5e3e89c7351f385e36bb70286866a62957cc1aaab195539edb8c7bb62968a137"
      score = 80
      id = "88e7af97-f7c1-591e-960c-d5296da94066"
   strings:
      $s1 = "\"dependencies\":"
      // This is the specific malicious package that was added to the npm registry, which is a typo-squatting of the popular crypto-js package
      $s2 = { 22 70 6C 61 69 6E 2D 63 72 79 70 74 6F 2D 6A 73 22 3A [0-3] 22 [0-2] 34 2E 32 2E }  // "plain-crypto-js": "^4.2."
   condition:
      filesize < 10KB
      and all of them
}

Deployment Notes

This YARA rule can be deployed in the following contexts:

This rule contains 2 string patterns in its detection logic.

References

False Positive Guidance

Here are 5 specific false positive scenarios for the rule detecting plain-crypto-js in package.json, along with suggested filters or exclusions:

Original source: https://github.com/Neo23x0/signature-base/blob/main/yara/mal_npm_supply_chain_mar26.yar