Skip to main content
Scans/npm/@anthropic-ai/claude-code

@anthropic-ai/claude-code

npm

Share

Summary

@anthropic-ai/claude-code v2.1.101 was classified as CRITICAL RISK with a risk score of 5995.5. Sigil detected 396 findings across 21 files, covering phases including install hooks, code patterns, network exfiltration, credential access, obfuscation, provenance. Review the findings below before installing this package.

CRITICAL RISK(5995.5)

v2.1.101

24 April 2026, 04:20 UTC

by Sigil Bot

Risk Score

5995.5

Findings

396

Files Scanned

21

Provenance

Findings by Phase

Phase Ordering

Phases are ordered by criticality, with the most dangerous at the top. Click any phase header to expand or collapse its findings. Critical phases are expanded by default.

install-pip-setup-exec

CRITICAL

setup.py executes code at install time

package/cli.js:446

      See the troubleshooting guide for more information: https://aka.ms/azsdk/js/identity/azurepipelinescredential/troubleshoot`;throw Gb.error(_),new F4(_)}return Gb.info("Invoking getToken() of Client Assertion Credential"),this.clientAssertionCredential.getToken(q,K)}async requestOidcToken(q,K){Gb.info("Requesting OIDC token from Azure Pipelines..."),Gb.info(q);let _=IR({url:q,method:"POST",headers:ir({"Content-Type":"application/json",Authorization:`Bearer ${K}`,"X-TFS-FedAuthRedirect":"Sup
Why was this flagged?

This setup.py calls subprocess, os.system, exec, or eval during package installation. Legitimate packages rarely need to execute arbitrary commands at install time. This pattern is commonly used by malicious packages to download and run payloads, exfiltrate environment variables, or establish persistence. Rated CRITICAL because it runs with the installer's full permissions.

install-pip-setup-exec

CRITICAL

setup.py executes code at install time

package/cli.js:3042

  `+_.join(`
  `)+`
}`}return z.toString=Y,z}je1.verbose=!1});var _3K=B((XJw,K3K)=>{K3K.exports=i78;var Biz=rs1(),Fiz=ss1(),He1=Fiz("fs");function i78(q,K,_){if(typeof K==="function")_=K,K={};else if(!K)K={};if(!_)return Biz(i78,this,q,K);if(!K.xhr&&He1&&He1.readFile)return He1.readFile(q,function(Y,A){return Y&&typeof XMLHttpRequest<"u"?i78.xhr(q,K,_):Y?_(Y):_(null,K.binary?A:A.toString("utf8"))});return i78.xhr(q,K,_)}i78.xhr=function(K,_,z){var Y=new XMLHttpRequest;if(Y.onreadystatechange=fun
Why was this flagged?

This setup.py calls subprocess, os.system, exec, or eval during package installation. Legitimate packages rarely need to execute arbitrary commands at install time. This pattern is commonly used by malicious packages to download and run payloads, exfiltrate environment variables, or establish persistence. Rated CRITICAL because it runs with the installer's full permissions.

install-pip-setup-exec

CRITICAL

setup.py executes code at install time

package/cli.js:3055

`+K);let _;try{_=Xt.Metadata.fromHttp2Headers(q)}catch(A){_=new Xt.Metadata}let z=_.getMap(),Y;if(typeof z["grpc-status"]==="string"){let A=Number(z["grpc-status"]);this.trace("received status code "+A+" from server"),_.remove("grpc-status");let O="";if(typeof z["grpc-message"]==="string"){try{O=decodeURI(z["grpc-message"])}catch(w){O=z["grpc-message"]}_.remove("grpc-message"),this.trace('received status details string "'+O+'" from server')}Y={code:A,details:O,metadata:_}}else if(this.httpStatus
Why was this flagged?

This setup.py calls subprocess, os.system, exec, or eval during package installation. Legitimate packages rarely need to execute arbitrary commands at install time. This pattern is commonly used by malicious packages to download and run payloads, exfiltrate environment variables, or establish persistence. Rated CRITICAL because it runs with the installer's full permissions.

install-pip-setup-exec

CRITICAL

setup.py executes code at install time

package/cli.js:8556

   If you cannot find a concrete e2e path, use the \`${DY}\` tool to ask the user how to verify this change end-to-end. Offer 2–3 specific options based on what you found (e.g., "Screenshot via chrome extension", "Run \`bun run dev\` and curl the endpoint", "No e2e — unit tests are sufficient"). Do not skip this — the workers cannot ask the user themselves.

   Write the recipe as a short, concrete set of steps that a worker can execute autonomously. Include any setup (start a dev server, build 
Why was this flagged?

This setup.py calls subprocess, os.system, exec, or eval during package installation. Legitimate packages rarely need to execute arbitrary commands at install time. This pattern is commonly used by malicious packages to download and run payloads, exfiltrate environment variables, or establish persistence. Rated CRITICAL because it runs with the installer's full permissions.

install-makefile-curl

HIGH

Makefile/script pipes remote content to shell

package/cli.js:1671

]`,`[\\[\\]\\.,\\+\\-<> \r
]`,{returnEnd:!0,relevance:0}),{className:"title",begin:"[\\[\\]]",relevance:0},{className:"string",begin:"[\\.,]",relevance:0},{begin:/(?:\+\+|--)/,contains:[K]},K]}}Lk4.exports=Uzz});var hk4=B((YG2,Sk4)=>{function gzz(q){if(!q)return null;if(typeof q==="string")return q;return q.source}function Qzz(q){return kQ1("(?=",q,")")}function tS8(q){return kQ1("(",q,")?")}function kQ1(...q){return q.map((_)=>gzz(_)).join("")}function dzz(q){let K=q.COMMENT("//","$",{contains:
Why was this flagged?

A script or Makefile pipes content from a remote URL directly into a shell (curl | sh or wget | bash). This is inherently dangerous because the remote content can change at any time, and the command runs with the current user's permissions. Rated HIGH because it requires manual execution (unlike install hooks) but still executes arbitrary remote code.

Badge

Sigil scan badge for npm/@anthropic-ai/claude-code

Markdown

[![Sigil Scan](https://sigilsec.ai/badge/npm/@anthropic-ai/claude-code)](https://sigilsec.ai/scans/8E77F16B-400E-45F5-A90F-A8A4E6E57C61)

HTML

<a href="https://sigilsec.ai/scans/8E77F16B-400E-45F5-A90F-A8A4E6E57C61"><img src="https://sigilsec.ai/badge/npm/@anthropic-ai/claude-code" alt="Sigil Scan"></a>

Run This Scan Yourself

Scan your own packages

Run Sigil locally to audit any package before it touches your codebase.

curl -sSL https://sigilsec.ai/install.sh | sh
Read the docs →Free. Apache 2.0.

Early Access

Get cloud scanning, threat intel, and CI/CD integration.

Join 150+ developers on the waitlist.

Get threat intelligence and product updates

Security research, new threat signatures, and product updates. No spam.

Other npm scans

Believe this result is incorrect? Request a review or see our Terms of Service and Methodology.

Scanned bySigil Bot