Summary
@posthog/agent v2.3.74 was classified as CRITICAL RISK with a risk score of 6404. Sigil detected 426 findings across 128 files, covering phases including obfuscation, install hooks, code patterns, network exfiltration, credential access, provenance. Review the findings below before installing this package.
v2.3.74
25 March 2026, 20:37 UTC
by Sigil Bot
Risk Score
6404
Findings
426
Files Scanned
128
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
CRITICALsetup.py executes code at install time
package/dist/claude-cli/cli.js:911
"SYSTEM_OIDCREQUESTURI".
See the troubleshooting guide for more information: https://aka.ms/azsdk/js/identity/azurepipelinescredential/troubleshoot`;throw aL.error(K),new D4(K)}return aL.info("Invoking getToken() of Client Assertion Credential"),this.clientAssertionCredential.getToken(A,q)}async requestOidcToken(A,q){aL.info("Requesting OIDC token from Azure Pipelines..."),aL.info(A);let K=fk({url:A,method:"POST",headers:dU({"Content-Type":"application/json",Authorization:`BearWhy 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
CRITICALsetup.py executes code at install time
package/dist/claude-cli/cli.js:2489
`+K.join(`
`)+`
}`}return Y.toString=z,Y}_C8.verbose=!1});var Lu4=x((zWw,yu4)=>{yu4.exports=Yd6;var ZHY=Mh8(),GHY=Ph8(),wC8=GHY("fs");function Yd6(A,q,K){if(typeof q==="function")K=q,q={};else if(!q)q={};if(!K)return ZHY(Yd6,this,A,q);if(!q.xhr&&wC8&&wC8.readFile)return wC8.readFile(A,function(z,_){return z&&typeof XMLHttpRequest<"u"?Yd6.xhr(A,q,K):z?K(z):K(null,q.binary?_:_.toString("utf8"))});return Yd6.xhr(A,q,K)}Yd6.xhr=function(q,K,Y){var z=new XMLHttpRequest;if(z.onreadystatechange=funWhy 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
CRITICALsetup.py executes code at install time
package/dist/claude-cli/cli.js:2502
`+q);let K;try{K=oc.Metadata.fromHttp2Headers(A)}catch(_){K=new oc.Metadata}let Y=K.getMap(),z;if(typeof Y["grpc-status"]==="string"){let _=Number(Y["grpc-status"]);this.trace("received status code "+_+" from server"),K.remove("grpc-status");let w="";if(typeof Y["grpc-message"]==="string"){try{w=decodeURI(Y["grpc-message"])}catch(O){w=Y["grpc-message"]}K.remove("grpc-message"),this.trace('received status details string "'+w+'" from server')}z={code:_,details:w,metadata:K}}else if(this.httpStatusWhy 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
CRITICALsetup.py executes code at install time
package/dist/claude-cli/cli.js:8069
If you cannot find a concrete e2e path, use the \`${Fw}\` 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
HIGHMakefile/script pipes remote content to shell
package/dist/claude-cli/cli.js:2409
]`,`[\\[\\]\\.,\\+\\-<> \r
]`,{returnEnd:!0,relevance:0}),{className:"title",begin:"[\\[\\]]",relevance:0},{className:"string",begin:"[\\.,]",relevance:0},{begin:/(?:\+\+|--)/,contains:[q]},q]}}UO4.exports=Xd9});var lO4=x((j4w,cO4)=>{function Pd9(A){if(!A)return null;if(typeof A==="string")return A;return A.source}function Wd9(A){return IE8("(?=",A,")")}function CW1(A){return IE8("(",A,")?")}function IE8(...A){return A.map((K)=>Pd9(K)).join("")}function Zd9(A){let q=A.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.
install-pip-setup-exec
CRITICALsetup.py executes code at install time
package/dist/server/agent-server.js:154
"use strict";
function setup(env) {
createDebug.debug = createDebug;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.
Badge
Markdown
[](https://sigilsec.ai/scans/F942B489-817E-4C82-A0AB-EA9EE95A26AE)HTML
<a href="https://sigilsec.ai/scans/F942B489-817E-4C82-A0AB-EA9EE95A26AE"><img src="https://sigilsec.ai/badge/npm/@posthog/agent" alt="Sigil Scan"></a>Run This Scan Yourself
Scan your own packages
Run Sigil locally to audit any package before it touches your codebase.
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.