Loading npm security reports…
@reason-machines/cli-linux-x64-musl@0.2.371: Credential | LPM Firewall
Blocked & quarantined
Reason receives current access tokens for third-party accounts, creating a risk of unauthorized account access.
AI Security Reviewscanned 5d ago · by lpm-firewall-ai Inspected source shows a default-enabled path that reads saved third-party access tokens and sends them to Reason's API without an affirmative transfer-specific consent gate. The connection notice and opt-out disclose the feature but do not authorize that recipient-specific transfer.
Static reason
High-risk behavior combination matched malicious policy.; source matched previously finalized malicious package; routed for review
Trigger
The user runs the connection flow and starts the worker with local login forwarding enabled, including when no setting or API key overrides the default.
Impact
Reason receives current access tokens for third-party accounts, creating a risk of unauthorized account access.
Mechanism
The worker reads local provider credential files, extracts access tokens, and submits them as request bodies through Reason's local subscription API.
Attack narrative
The connection flow defaults local login forwarding to enabled unless configuration or an API key overrides it. The worker reads saved credentials for third-party providers and sends their access tokens to Reason's local subscription API. The CLI discloses that these logins serve Reason sessions and provides an off switch, but that disclosure and opt-out do not establish affirmative consent to transfer saved third-party credentials to Reason.
AI rationale
Inspected source shows a default-enabled path that reads saved third-party access tokens and sends them to Reason's API without an affirmative transfer-specific consent gate. The connection notice and opt-out disclose the feature but do not authorize that recipient-specific transfer.
Evidence
bin/vm-hands/vm-hands-entry-lite-kc07ptqt.js bin/vm-hands/vm-hands-entry-lite-gzyps3ev.js bin/vm-hands/vm-hands-entry-lite-8cmyg5e4.js
Decision evidencepublic snapshot AI called this Malicious at 95.0% confidence as Malware with low false-positive risk.
Evidence for block
The worker reads saved Claude, Codex, Grok, and other local provider credentials, including access tokens. When local login forwarding is enabled, the worker sends saved credential objects through the local subscription client. Connecting defaults local login forwarding to on when no saved setting or API key overrides it. The CLI sends the request to Reason's configured API, and the local subscription method places the credential object in its request body. The displayed connection notice says these third-party logins serve Reason sessions and offers an off switch, but does not ask for affirmative consent to send them to Reason. The manifest identifies this as the Linux native binary package; the reviewed credential flow is in its bundled runtime source. Evidence against
Forwarding is activated through the user's connection command, and the CLI displays a disclosure and an off switch. The production recipient is Reason's own API, not an unrelated third-party host; the transferred credentials nevertheless belong to other providers. Source & flagged code23 flagged · loading source 60 mux backend dial failed (${H})
L61: `)}),M.on("error",()=>O.destroy()),M.once("close",()=>O.destroy()),O.once("close",()=>M.destroy()),M.pipe(O),O.pipe(M)}let U=$6((M)=>{G.add(M),M.once("close",()=>G.delete(M)),M.on(...
L62: `).filter(Boolean);if(F===1)return[];throw Error(`ripgrep failed with exit code ${F}: ${q}`)}import{join as V0,dirname as T6}from"path";import{fileURLToPath as S6}from"url";import*...
High Child Process
Package source references child process execution.
bin/runtime/srt/sandbox-runtime.mjs View on unpkg · L60 55 \r
L56: `)}}),J.on("request",async(Q,Y)=>{Q.on("error",(G)=>{Z(`Client request error: ${G.message}`,{level:"error"})}),Y.on("error",(G)=>{Z(`Client response error: ${G.message}`,{level:"er...
L57: `)),$.end(eq(W))}function L7($){return Buffer.from([5,$,0,1,0,0,0,0,0,0])}function tq($){return new Promise((J)=>{let X=Buffer.alloc(0),Q=(W)=>{$.off("data",G),clearTimeout(Y),J(W)...
...
L60: mux backend dial failed (${H})
L61: `)}),M.on("error",()=>O.destroy()),M.once("close",()=>O.destroy()),O.once("close",()=>M.destroy()),M.pipe(O),O.pipe(M)}let U=$6((M)=>{G.add(M),M.once("close",()=>G.delete(M)),M.on(...
L62: `).filter(Boolean);if(F===1)return[];throw Error(`ripgrep failed with exit code ${F}: ${q}`)}import{join as V0,dirname as T6}from"path";import{fileURLToPath as S6}from"url";import*
High Same File Env Network Execution
A single source file combines environment access, network access, and code or shell execution; review context before blocking.
Findings1 Critical 21 High 5 Medium 4 Low
Critical Remote Asset Decode Execute bin/vm-hands/index-kf4q2kw5.js
High Child Process bin/runtime/srt/sandbox-runtime.mjs
High Shell
High Eval bin/vm-hands/index-kf4q2kw5.js
High Same File Env Network Execution bin/runtime/srt/sandbox-runtime.mjs
High Command Output Exfiltration bin/runtime/srt/sandbox-runtime.mjs
High Obfuscated Payload Loader bin/vm-hands/index-kf4q2kw5.js
High External Ai Agent Control Surface Mutation bin/vm-hands/index-kf4q2kw5.js
High Cross File Remote Execution Context bin/vm-hands/vm-hands-executor-676cpsf2.js
High Semantic Analysis Limited bin/vm-hands/index-kf4q2kw5.js
High Known Malware Source Similarity
Affected versions and remediation This report applies to @reason-machines/cli-linux-x64-musl@0.2.371 .
See all versions of @reason-machines/cli-linux-x64-musl for other recorded verdicts.
Avoid installing @reason-machines/cli-linux-x64-musl@0.2.371. Remove it from direct dependencies and check your lockfile for transitive copies. Choose an independently verified alternative or release. This report does not establish that other versions are safe. If this version ran, investigate the affected machine and build environment. Rotate credentials it could access and rebuild from a trusted environment. Evidence last updated: 2026-10-17 20:56:20.455Z (UTC) .
Think this verdict is wrong? Dispute it on GitHub or read how reports are produced .
ChildProcess Crypto DynamicRequire EnvironmentVars Eval Filesystem Network Shell WebSocket
Supply chain HighEntropyStrings Minified PossibleObfuscation UrlStrings
scanned 71 file(s), 5.43 MB of source, external domains: 127.0.0.1, api-staging.ara.so, api.ara.so, api.github.com, api.reasonmachines.ai, api.reasonmachines.com, auth.x.ai, bootstrap.invalid, camo.githubusercontent.com, cdn.playwright.dev, chromewebstore.google.com, claude.ai, cursor.com, docs.reasonmachines.com, dotenvx.com, dummy.test, edgeupdates.microsoft.com, example.com, ffmpeg.martin-riedl.de, github.com, github.com.helper, json-schema.org, mcp.reasonmachines.com, nodejs.org, openbox.org, playwright.bloburl, playwright.dev, playwright.download.prss.microsoft.com, proxy.example.com, raw.githubusercontent.com, reasonmachines.ai, reasonmachines.com, registry.npmjs.org, staging-api.reasonmachines.ai, staging-api.reasonmachines.com, staging.reasonmachines.ai, storage.googleapis.com, support.microsoft.com, worker-probe.invalid, www.apple.com, www.w3.org
bin/runtime/srt/sandbox-runtime.mjs
47 \r
L48: Connection blocked by network allowlist`);return}if(W||Y.destroyed){Y.destroy();return}let P=jJ(j)??j;if($.mitmCA&&($.shouldTerminateTLS?.(P,C)??!0)){Y.write(`HTTP/1.1 200 Connecti...
L49: \r
...
L55: \r
L56: `)}}),J.on("request",async(Q,Y)=>{Q.on("error",(G)=>{Z(`Client request error: ${G.message}`,{level:"error"})}),Y.on("error",(G)=>{Z(`Client response error: ${G.message}`,{level:"er...
L57: `)),$.end(eq(W))}function L7($){return Buffer.from([5,$,0,1,0,0,0,0,0,0])}function tq($){return new Promise((J)=>{let X=Buffer.alloc(0),Q=(W)=>{$.off("data",G),clearTimeout(Y),J(W)...
...
L60: mux backend dial failed (${H})
L61: `)}),M.on("error",()=>O.destroy()),M.once("close",()=>O.destroy()),O.once("close",()=>M.destroy()),M.pipe(O),O.pipe(M)}let U=$6((M)=>{G.add(M),M.once("close",()
High Command Output Exfiltration
Source combines command execution, command-output handling, and outbound requests; review data flow before blocking.
bin/runtime/srt/sandbox-runtime.mjs View on unpkg · L47 1 // @bun
L2: import{Aa as iJ0}from"./vm-hands-entry-lite-nhfd61cx.js";import{ak as NV0,bk as rn,ck as EJ,ek as an,fk as X0}from"./vm-hands-entry-lite-7fx4xtf6.js";var on={};var $T;var WT=an(()=...
L3: `)!=-1,q=this._styles,O=q.length;while(O--){var E=G[q[O]];if(A=E.open+A.replace(E.closeRe,E.open)+E.close,R)A=A.replace($,function(D){return E.close+D+E.open})}return A}X.setTheme=...
L4: `).join(`
L5: `+N),U.push(z+"m+"+Y.exports.humanize(this.diff)+"\x1B[0m")}else U[0]=$()+M+" "+U[0]}function $(){if(Q.inspectOpts.hideDate)return"";return new Date().toISOString()+" "}function W(...
L6: `)}function K(U){if(U)process.env.DEBUG=U;else delete process.env.DEBUG}function H(){return process.env.DEBUG}function B(U){U.inspectOpts={};let M=Object.keys(Q.inspectOpts);for(le...
...
L8: `:`
L9: `,U=B.
Critical Remote Asset Decode Execute
Source fetches a remote non-code asset, decodes its contents, and dynamically executes the decoded payload.
bin/vm-hands/index-kf4q2kw5.js View on unpkg · L1 271 `).map((J)=>J+`
L272: `);if(Y)X.pop();else X.push(X.pop().slice(0,-1));return X}function is(Q){let Y=[],X,J;for(let G=0;G<Q.length;G++){if(X=Q[G],X.added)J=1;else if(X.removed)J=-1;else J=0;Y.push([J,X....
L273: `)}var V$=(Q)=>(Y,X,J,G)=>{let Z=J?Object.assign(J,{async:!1}):{async:!1},$=Y._zod.run({value:X,issues:[]},Z);if($ instanceof Promise)throw new AJ;if($.issues.length){let W=new(G?....
High Eval
Package source references dynamic code evaluation.
bin/vm-hands/index-kf4q2kw5.js View on unpkg · L271 239 `,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICO...
L240: GFS4: `),console.error(A)};if(!X[W]){if(U=global[W]||[],B(X,U),X.close=function(A){function R(q,O){return A.call(X,q,function(E){if(!E)z();if(typeof O==="function")O.apply(this,arg...
L241: `:""},this._extScope=S,this._scope=new X.Scope({parent:S}),this._nodes=[new F]}toString(){return this._root.render(this.opts)}name(S){return this._scope.name(S)}scopeName(S){return...
High Obfuscated Payload Loader
Source contains an obfuscated payload loader that reconstructs and executes hidden code.
bin/vm-hands/index-kf4q2kw5.js View on unpkg · L239 • Runtime or CLI code links a write operation to an explicit external AI-agent control path:
buffer()),u=await kl(b,v,y.output);console.log(` screenshot saved to ${u}`)}var p50=j0({"packages/playwright-[redacted].ts"(){kx()}});async function n50(){let q=await k7();if(!q.model.attachments.length){console.log(" no attachments");return}console.log(` ${"#".padstart(4)} ${"name".padend(40)} ${"content-type".padend(30)} ${"action".padend(8)}`),console.log(` ${"\u2500".repeat(4)} ${"\u2500".repeat(40)} ${"\u2500".repeat(30)} ${"\u2500".repeat(8)}`);for(let y=0;y<q.model.attachments.length;y++){let x=q.model.attachments[y],j=q.callidtoordinal.get(x.callid);console.log(` ${(y+1+".").padstart(4)} ${x.name.padend(40)} ${x.contenttype.padend(30)} ${(j!==void 0?string(j):x.callid).padend(8)}`)}}asyn
High External Ai Agent Control Surface Mutation
Runtime or CLI source writes behavior-bearing configuration into a user or project AI-agent control surface.
bin/vm-hands/index-kf4q2kw5.js View on unpkg • stage = ast_semantic_analysis; reason = ast_path_work_budget_exceeded; limitedFiles = 3
High Semantic Analysis Limited
A bounded semantic-analysis stage reached its safety limit; remaining detectors completed, but this package requires AI review.
bin/vm-hands/index-kf4q2kw5.js View on unpkg • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-x64@0.2.369
matchedPath = bin/vm-hands/index-kf4q2kw5.js
matchedIdentity = npm:[redacted]:0.2.369
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
bin/vm-hands/index-kf4q2kw5.js View on unpkg bin/vm-hands/vm-hands-entry-lite-b775ysr4.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-x64@0.2.369
matchedPath = bin/vm-hands/vm-hands-entry-lite-b775ysr4.js
matchedIdentity = npm:[redacted]:0.2.369
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
bin/vm-hands/vm-hands-entry-lite-b775ysr4.js View on unpkg 1 // @bun
L2: import{Ac as R}from"./vm-hands-entry-lite-mcv6pse6.js";import{Tc as D}from"./vm-hands-entry-lite-hh24bq0d.js";import{$j as $}from"./vm-hands-entry-lite-y3wncwjd.js";import{spawn as...
L3: export{Cj as uc,Mj as vc,c as wc,_j as xc,p as yc,Sj as zc};
Medium Dynamic Require
Package source references dynamic require/import behavior.
bin/vm-hands/vm-hands-entry-lite-b775ysr4.js View on unpkg · L1 bin/vm-hands/vm-hands-executor-676cpsf2.js View file 1 Cross-file remote execution chain: bin/vm-hands/vm-hands-executor-676cpsf2.js spawns bin/vm-hands/vm-hands-entry-lite-dq1fdx0j.js; helper contains network access plus dynamic code execution.
L1: // @bun
L2: import{s as Mq}from"./vm-hands-entry-lite-gteq5e1n.js";import{Lb as Uq,pc as Fq,rb as Lq,tc as Tq}from"./vm-hands-entry-lite-ymwv38dd.js";import"./vm-hands-entry-lite-mcv6pse6.js";...
L3: `).filter(Boolean);B=Z.length;let Y=Q.map((L)=>{try{return Number(JSON.parse(L).elapsed_ms)||0}catch{return 0}});if(Y.length)X("vm_hands.srt_server_starts",{count:Y.length,elapsed_...
L4: `).filter(Boolean).slice(0,1000);if(!Y.length)return null;let L={},F=0;for(let M of Y)try{let R=JSON.parse(M),K=typeof R.code==="string"&&/^[a-z_]{1,40}$/.test(R.code)?R.code:"othe...
L5: `).find((V)=>V.startsWith("0:
High Cross File Remote Execution Context
Source spawns a local helper that also contains network and dynamic execution context; review data flow before blocking.
bin/vm-hands/vm-hands-executor-676cpsf2.js View on unpkg · L1 • path = bin/ara
kind = native_binary
sizeBytes = 99670304
magicHex = [redacted]
Medium Ships Native Binary
Package ships native binary artifacts.
bin/ara View on unpkg • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-x64@0.2.369
matchedPath = bin/vm-hands/ask-relay-4fge3xe0.js
matchedIdentity = npm:[redacted]:0.2.369
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
bin/vm-hands/ask-relay-dq0v3bmt.js View on unpkg bin/vm-hands/vm-hands-entry-lite-8emxhcny.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-x64@0.2.369
matchedPath = bin/vm-hands/vm-hands-entry-lite-4qdqqwn2.js
matchedIdentity = npm:[redacted]:0.2.369
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
bin/vm-hands/vm-hands-entry-lite-8emxhcny.js View on unpkg bin/vm-hands/vm-hands-entry-lite-e9gq8n0f.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-x64@0.2.369
matchedPath = bin/vm-hands/vm-hands-entry-lite-k62njtwb.js
matchedIdentity = npm:[redacted]:0.2.369
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
bin/vm-hands/vm-hands-entry-lite-e9gq8n0f.js View on unpkg bin/vm-hands/vm-hands-entry-lite-k7twc1ch.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-x64@0.2.369
matchedPath = bin/vm-hands/vm-hands-entry-lite-e6qxjx0s.js
matchedIdentity = npm:[redacted]:0.2.369
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
bin/vm-hands/vm-hands-entry-lite-k7twc1ch.js View on unpkg bin/vm-hands/vm-hands-entry-lite-kc07ptqt.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-x64@0.2.369
matchedPath = bin/vm-hands/vm-hands-entry-lite-92zdmn70.js
matchedIdentity = npm:[redacted]:0.2.369
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
bin/vm-hands/vm-hands-entry-lite-kc07ptqt.js View on unpkg • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-x64@0.2.369
matchedPath = bin/vm-hands/status-v1a8csy1.js
matchedIdentity = npm:[redacted]:0.2.369
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
bin/vm-hands/status-czgrayjt.js View on unpkg bin/vm-hands/vm-hands-entry-lite-5n6agg8d.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-x64@0.2.369
matchedPath = bin/vm-hands/vm-hands-entry-lite-nyjeajv6.js
matchedIdentity = npm:[redacted]:0.2.369
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
bin/vm-hands/vm-hands-entry-lite-5n6agg8d.js View on unpkg bin/vm-hands/vm-hands-entry-lite-8cmyg5e4.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-x64@0.2.369
matchedPath = bin/vm-hands/vm-hands-entry-lite-93ep0dkw.js
matchedIdentity = npm:[redacted]:0.2.369
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
bin/vm-hands/vm-hands-entry-lite-8cmyg5e4.js View on unpkg bin/vm-hands/vm-hands-entry-lite-cxgbb2yr.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-x64@0.2.369
matchedPath = bin/vm-hands/vm-hands-entry-lite-m4hpec60.js
matchedIdentity = npm:[redacted]:0.2.369
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
bin/vm-hands/vm-hands-entry-lite-cxgbb2yr.js View on unpkg bin/vm-hands/vm-hands-entry-lite-dq1fdx0j.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-x64@0.2.369
matchedPath = bin/vm-hands/vm-hands-entry-lite-dq1fdx0j.js
matchedIdentity = npm:[redacted]:0.2.369
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
bin/vm-hands/vm-hands-entry-lite-dq1fdx0j.js View on unpkg bin/vm-hands/ask-relay-dq0v3bmt.js
High Known Malware Source Similarity bin/vm-hands/index-kf4q2kw5.js
High Known Malware Source Similarity bin/vm-hands/vm-hands-entry-lite-8emxhcny.js
High Known Malware Source Similarity bin/vm-hands/vm-hands-entry-lite-e9gq8n0f.js
High Known Malware Source Similarity bin/vm-hands/vm-hands-entry-lite-k7twc1ch.js
High Known Malware Source Similarity bin/vm-hands/vm-hands-entry-lite-kc07ptqt.js
High Known Malware Source Similarity bin/vm-hands/status-czgrayjt.js
High Known Malware Source Similarity bin/vm-hands/vm-hands-entry-lite-5n6agg8d.js
High Known Malware Source Similarity bin/vm-hands/vm-hands-entry-lite-8cmyg5e4.js
High Known Malware Source Similarity bin/vm-hands/vm-hands-entry-lite-b775ysr4.js
High Known Malware Source Similarity bin/vm-hands/vm-hands-entry-lite-cxgbb2yr.js
High Known Malware Source Similarity bin/vm-hands/vm-hands-entry-lite-dq1fdx0j.js
Medium Dynamic Require bin/vm-hands/vm-hands-entry-lite-b775ysr4.js
Medium Ships Native Binary bin/ara
Medium Structural Risk Force Deep Review
Behavioral surface ChildProcess Crypto DynamicRequire EnvironmentVars Eval Filesystem Network Shell WebSocket HighEntropyStrings Minified PossibleObfuscation UrlStrings NoLicense
Source & flagged code23 flagged 60 mux backend dial failed (${H})
L61: `)}),M.on("error",()=>O.destroy()),M.once("close",()=>O.destroy()),O.once("close",()=>M.destroy()),M.pipe(O),O.pipe(M)}let U=$6((M)=>{G.add(M),M.once("close",()=>G.delete(M)),M.on(...
L62: `).filter(Boolean);if(F===1)return[];throw Error(`ripgrep failed with exit code ${F}: ${q}`)}import{join as V0,dirname as T6}from"path";import{fileURLToPath as S6}from"url";import*...
High Child Process
Package source references child process execution.
bin/runtime/srt/sandbox-runtime.mjs View on unpkg · L60 55 \r
L56: `)}}),J.on("request",async(Q,Y)=>{Q.on("error",(G)=>{Z(`Client request error: ${G.message}`,{level:"error"})}),Y.on("error",(G)=>{Z(`Client response error: ${G.message}`,{level:"er...
L57: `)),$.end(eq(W))}function L7($){return Buffer.from([5,$,0,1,0,0,0,0,0,0])}function tq($){return new Promise((J)=>{let X=Buffer.alloc(0),Q=(W)=>{$.off("data",G),clearTimeout(Y),J(W)...
...
L60: mux backend dial failed (${H})
L61: `)}),M.on("error",()=>O.destroy()),M.once("close",()=>O.destroy()),O.once("close",()=>M.destroy()),M.pipe(O),O.pipe(M)}let U=$6((M)=>{G.add(M),M.once("close",()=>G.delete(M)),M.on(...
L62: `).filter(Boolean);if(F===1)return[];throw Error(`ripgrep failed with exit code ${F}: ${q}`)}import{join as V0,dirname as T6}from"path";import{fileURLToPath as S6}from"url";import*
High Same File Env Network Execution
A single source file combines environment access, network access, and code or shell execution; review context before blocking.
bin/runtime/srt/sandbox-runtime.mjs View on unpkg · L55 47 \r
L48: Connection blocked by network allowlist`);return}if(W||Y.destroyed){Y.destroy();return}let P=jJ(j)??j;if($.mitmCA&&($.shouldTerminateTLS?.(P,C)??!0)){Y.write(`HTTP/1.1 200 Connecti...
L49: \r
...
L55: \r
L56: `)}}),J.on("request",async(Q,Y)=>{Q.on("error",(G)=>{Z(`Client request error: ${G.message}`,{level:"error"})}),Y.on("error",(G)=>{Z(`Client response error: ${G.message}`,{level:"er...
L57: `)),$.end(eq(W))}function L7($){return Buffer.from([5,$,0,1,0,0,0,0,0,0])}function tq($){return new Promise((J)=>{let X=Buffer.alloc(0),Q=(W)=>{$.off("data",G),clearTimeout(Y),J(W)...
...
L60: mux backend dial failed (${H})
L61: `)}),M.on("error",()=>O.destroy()),M.once("close",()=>O.destroy()),O.once("close",()=>M.destroy()),M.pipe(O),O.pipe(M)}let U=$6((M)=>{G.add(M),M.once("close",()
High Command Output Exfiltration
Source combines command execution, command-output handling, and outbound requests; review data flow before blocking.
bin/runtime/srt/sandbox-runtime.mjs View on unpkg · L47 1 // @bun
L2: import{Aa as iJ0}from"./vm-hands-entry-lite-nhfd61cx.js";import{ak as NV0,bk as rn,ck as EJ,ek as an,fk as X0}from"./vm-hands-entry-lite-7fx4xtf6.js";var on={};var $T;var WT=an(()=...
L3: `)!=-1,q=this._styles,O=q.length;while(O--){var E=G[q[O]];if(A=E.open+A.replace(E.closeRe,E.open)+E.close,R)A=A.replace($,function(D){return E.close+D+E.open})}return A}X.setTheme=...
L4: `).join(`
L5: `+N),U.push(z+"m+"+Y.exports.humanize(this.diff)+"\x1B[0m")}else U[0]=$()+M+" "+U[0]}function $(){if(Q.inspectOpts.hideDate)return"";return new Date().toISOString()+" "}function W(...
L6: `)}function K(U){if(U)process.env.DEBUG=U;else delete process.env.DEBUG}function H(){return process.env.DEBUG}function B(U){U.inspectOpts={};let M=Object.keys(Q.inspectOpts);for(le...
...
L8: `:`
L9: `,U=B.
Critical Remote Asset Decode Execute
Source fetches a remote non-code asset, decodes its contents, and dynamically executes the decoded payload.
bin/vm-hands/index-kf4q2kw5.js View on unpkg · L1 271 `).map((J)=>J+`
L272: `);if(Y)X.pop();else X.push(X.pop().slice(0,-1));return X}function is(Q){let Y=[],X,J;for(let G=0;G<Q.length;G++){if(X=Q[G],X.added)J=1;else if(X.removed)J=-1;else J=0;Y.push([J,X....
L273: `)}var V$=(Q)=>(Y,X,J,G)=>{let Z=J?Object.assign(J,{async:!1}):{async:!1},$=Y._zod.run({value:X,issues:[]},Z);if($ instanceof Promise)throw new AJ;if($.issues.length){let W=new(G?....
High Eval
Package source references dynamic code evaluation.
bin/vm-hands/index-kf4q2kw5.js View on unpkg · L271 239 `,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICO...
L240: GFS4: `),console.error(A)};if(!X[W]){if(U=global[W]||[],B(X,U),X.close=function(A){function R(q,O){return A.call(X,q,function(E){if(!E)z();if(typeof O==="function")O.apply(this,arg...
L241: `:""},this._extScope=S,this._scope=new X.Scope({parent:S}),this._nodes=[new F]}toString(){return this._root.render(this.opts)}name(S){return this._scope.name(S)}scopeName(S){return...
bin/vm-hands/vm-hands-entry-lite-b775ysr4.js View file Lines 1-4 javascript
2 import {Ac as R} from "./vm-hands-entry-lite-mcv6pse6.js" ; import {Tc as D} from "./vm-hands-entry-lite-hh24bq0d.js" ; import {$j as $} from "./vm-hands-entry-lite-y3wncwjd.js" ; import {spawn as i,spawnSync as
bin/vm-hands/vm-hands-executor-676cpsf2.js View file Lines 1-11 javascript
2 import {s as Mq} from "./vm-hands-entry-lite-gteq5e1n.js" ; import {Lb as Uq,pc as Fq,rb as Lq,tc as Tq} from "./vm-hands-entry-lite-ymwv38dd.js" ; import "./vm-hands-entry-lite-mcv6pse6.js" ; import
• path = bin/ara
kind = native_binary
sizeBytes = 99670304
magicHex = [redacted]
Medium Ships Native Binary
Package ships native binary artifacts.
bin/ara View on unpkg • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-x64@0.2.369
matchedPath = bin/vm-hands/ask-relay-4fge3xe0.js
matchedIdentity = npm:[redacted]:0.2.369
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
bin/vm-hands/ask-relay-dq0v3bmt.js View on unpkg bin/vm-hands/vm-hands-entry-lite-8emxhcny.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-x64@0.2.369
matchedPath = bin/vm-hands/vm-hands-entry-lite-4qdqqwn2.js
matchedIdentity = npm:[redacted]:0.2.369
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
bin/vm-hands/vm-hands-entry-lite-8emxhcny.js View on unpkg bin/vm-hands/vm-hands-entry-lite-e9gq8n0f.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-x64@0.2.369
matchedPath = bin/vm-hands/vm-hands-entry-lite-k62njtwb.js
matchedIdentity = npm:[redacted]:0.2.369
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
bin/vm-hands/vm-hands-entry-lite-e9gq8n0f.js View on unpkg bin/vm-hands/vm-hands-entry-lite-k7twc1ch.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-x64@0.2.369
matchedPath = bin/vm-hands/vm-hands-entry-lite-e6qxjx0s.js
matchedIdentity = npm:[redacted]:0.2.369
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
bin/vm-hands/vm-hands-entry-lite-k7twc1ch.js View on unpkg bin/vm-hands/vm-hands-entry-lite-kc07ptqt.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-x64@0.2.369
matchedPath = bin/vm-hands/vm-hands-entry-lite-92zdmn70.js
matchedIdentity = npm:[redacted]:0.2.369
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
bin/vm-hands/vm-hands-entry-lite-kc07ptqt.js View on unpkg • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-x64@0.2.369
matchedPath = bin/vm-hands/status-v1a8csy1.js
matchedIdentity = npm:[redacted]:0.2.369
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
bin/vm-hands/status-czgrayjt.js View on unpkg bin/vm-hands/vm-hands-entry-lite-5n6agg8d.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-x64@0.2.369
matchedPath = bin/vm-hands/vm-hands-entry-lite-nyjeajv6.js
matchedIdentity = npm:[redacted]:0.2.369
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
bin/vm-hands/vm-hands-entry-lite-5n6agg8d.js View on unpkg bin/vm-hands/vm-hands-entry-lite-8cmyg5e4.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-x64@0.2.369
matchedPath = bin/vm-hands/vm-hands-entry-lite-93ep0dkw.js
matchedIdentity = npm:[redacted]:0.2.369
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
bin/vm-hands/vm-hands-entry-lite-8cmyg5e4.js View on unpkg bin/vm-hands/vm-hands-entry-lite-cxgbb2yr.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-x64@0.2.369
matchedPath = bin/vm-hands/vm-hands-entry-lite-m4hpec60.js
matchedIdentity = npm:[redacted]:0.2.369
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
bin/vm-hands/vm-hands-entry-lite-cxgbb2yr.js View on unpkg bin/vm-hands/vm-hands-entry-lite-dq1fdx0j.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-x64@0.2.369
matchedPath = bin/vm-hands/vm-hands-entry-lite-dq1fdx0j.js
matchedIdentity = npm:[redacted]:0.2.369
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
bin/vm-hands/vm-hands-entry-lite-dq1fdx0j.js View on unpkg High Obfuscated Payload Loader
Source contains an obfuscated payload loader that reconstructs and executes hidden code.
bin/vm-hands/index-kf4q2kw5.js View on unpkg · L239 • Runtime or CLI code links a write operation to an explicit external AI-agent control path:
buffer()),u=await kl(b,v,y.output);console.log(` screenshot saved to ${u}`)}var p50=j0({"packages/playwright-[redacted].ts"(){kx()}});async function n50(){let q=await k7();if(!q.model.attachments.length){console.log(" no attachments");return}console.log(` ${"#".padstart(4)} ${"name".padend(40)} ${"content-type".padend(30)} ${"action".padend(8)}`),console.log(` ${"\u2500".repeat(4)} ${"\u2500".repeat(40)} ${"\u2500".repeat(30)} ${"\u2500".repeat(8)}`);for(let y=0;y<q.model.attachments.length;y++){let x=q.model.attachments[y],j=q.callidtoordinal.get(x.callid);console.log(` ${(y+1+".").padstart(4)} ${x.name.padend(40)} ${x.contenttype.padend(30)} ${(j!==void 0?string(j):x.callid).padend(8)}`)}}asyn
High External Ai Agent Control Surface Mutation
Runtime or CLI source writes behavior-bearing configuration into a user or project AI-agent control surface.
bin/vm-hands/index-kf4q2kw5.js View on unpkg • stage = ast_semantic_analysis; reason = ast_path_work_budget_exceeded; limitedFiles = 3
High Semantic Analysis Limited
A bounded semantic-analysis stage reached its safety limit; remaining detectors completed, but this package requires AI review.
bin/vm-hands/index-kf4q2kw5.js View on unpkg • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-x64@0.2.369
matchedPath = bin/vm-hands/index-kf4q2kw5.js
matchedIdentity = npm:[redacted]:0.2.369
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
bin/vm-hands/index-kf4q2kw5.js View on unpkg n}
from
"child_process"
;
import
{existsSync
as
I,mkdtempSync
as
E,readFileSync
as
O,readdirSync
as
t,realpathSync
as
r,rmSync
as
y,statSync
as
o}
from
"fs"
;
import
{platform
as
b,tmpdir
as
h}
from
"os"
;
import
{dirname
as
N,join
as
Y}
from
"path"
;
import
{fileURLToPath
as
e,pathToFileURL
as
M}
from
"url"
;
var
jj
=
[
"bwrap"
,
"socat"
,
"rg"
],qj
=
2000
,_
=
20000
,zj
=
3
,
S
=
4000
,Gj
=new
Set
([
".git"
,
".hg"
,
".svn"
,
"node_modules"
]),Hj
=
[
"runA ..
.
3 export{Cj as uc ,Mj as vc ,c as wc ,_j as xc ,p as yc ,Sj as zc };
Medium Dynamic Require
Package source references dynamic require/import behavior.
bin/vm-hands/vm-hands-entry-lite-b775ysr4.js View on unpkg · L1 Long lines were clipped for display.
• matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-x64@0.2.369
matchedPath = bin/vm-hands/vm-hands-entry-lite-b775ysr4.js
matchedIdentity = npm:[redacted]:0.2.369
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
bin/vm-hands/vm-hands-entry-lite-b775ysr4.js View on unpkg "./vm-hands-entry-lite-dq1fdx0j.js"
;
import
"./vm-hands-entry-lite-2fyemnas.js"
;
import
"./vm-hands-entry-lite-vygp7vq8.js"
;
import
"./vm-hands-entry-lite-y9wkxydj.js"
;
import
"./vm-hands-entry-lite-dm52srp5.js"
;
import
"./vm-hands-entry-lite-g576hpce.js"
;
import
"./vm-hands-entry-lite-gzyps3ev.js"
;
import
"./vm-hands-entry-lite-5zmn6a7p.js"
;
import
"./vm-hands-entry-lite-rjwk6sfj.js"
;
import
"./vm-hands-entry-lite-9fr904x2.js"
;
...
3 `).filter(Boolean);B=Z.length;let Y=Q.map((L)=>{try{return Number(JSON.parse(L).elapsed_ms)||0}catch{return 0}});if(Y.length)X("vm_hands.srt_server_starts",{count:Y.length,elapsed_ms:Y.slice(0,8)})}catch{}},D=null,H=!1,O=q.srtCgroup??"/sys/fs/cgroup/reason-srt",C=()=>{D??=Gq()},b=0,h=()=>{try{let Z=A(Vq,"utf8"),Q=Z.slice(b>Z.length?0:b);b=Z.length;let Y=Q.split(`
4 `).filter(Boolean).slice(0,1000);if(!Y.length)return null;let L={},F=0;for(let M of Y)try{let R=JSON.parse(M),K=typeof R.code==="string"&&/^[a-z_]{1,40}$/.test(R.code)?R.code:"other";if(L[K]=(L[K]??0)+1,typeof R.elapsed_ms==="number")F=Math.max(F,R.elapsed_ms)}catch{L.unparsed=(L.unparsed??0)+1}return X("vm_hands.srt_fallbacks",{count:Y.length,codes:L,max_elapsed_ms:F}),{count:Y.length,codes:L,max_elapsed_ms:F}}catch{return null}},f=!1,m=(Z,Q,Y)=>{if(f)throw Error("vm_hands_pool_held");return Nq(Z,Q,Y)},d=(Z)=>(Q,Y,L)=>Iq("/bin/sh",["-c",` echo $$ > ${ Rq ( U ( Z , "cgroup.procs" ))} || exit 125 ; exec ...
5 `).find((V)=>V.startsWith("0::"))??"").slice(3,80)}catch{}return{pid:j,comm:I,cgroup:N}})}),new T("vm_hands_kill_unverified",` ${ K . length } process (es) the run started survived it `);D=null}if(H=!1,M)q.onSrtReset?.();if(R.length)throw X("vm_hands.kill_survivors",{pids:R.slice(0,16)}),new T("vm_hands_kill_unverified",` ${ R . length } payload - uid process (es) outside the payload cgroup `);W.clear();for(let K of Qq())try{r(U(z,_,K))}catch{}}finally{f=!1,Y()}if(x)setTimeout(()=>{if(!G.size)x.arm()},100).unref?.()},async killProbe(){let Z=Date.now()+qq;if(l(U(u,"cgroup.events"))){await p(u,Z,"probe");try{r( ...
6 ` ). find (( G ) => G . startsWith ( "0::" ))?. slice ( 3 ) === z} catch { return! 1 }} function v ( q , z , J = "/proc" ){ try { let G = A ( U ( J , String (q), "cgroup" ), "utf8" ). split ( `
7 ` ). find (( W ) => W . startsWith ( "0::" ))?. slice ( 3 ) ?? "" ; return G === z || G . startsWith ( `${ z }/` )} catch { return! 1 }} var Eq = 100 ; function Gq (){ try { return Math. floor ( Number ( A ( "/proc/uptime" , "utf8" ). split ( " " )[ 0 ]) * Eq)} catch { return 0 }} async function p ( q , z , J ){ try { E ( U (q, "cgroup.freeze" ), "1" )} catch ( X ){ throw new T ( "vm_hands_kill_unverified" , `${ J } cgroup.freeze: ${ X instanceof Error ? X . message : String ( X ) }` )} while ( ! / ^ populated 0 $ / m . test ( A ( U (q, "cgroup.events" ), "utf8" ))){ if (Date. now () > z) throw new T ( "vm_hands_kill_unverified" , `${ J } cgroup still populated (left frozen)` ); for ( let X of Dq (q)){ if ( ! fq ( X ,q)) continue ; try {process.ki ...
8 `).find((W)=>W.startsWith("0::"))??""}catch{return!1}let G=X.slice(3);return G===J||G.startsWith(` ${ J } / `)}function Dq(q){let z=[],J=(X)=>{try{for(let W of A(U(X,"cgroup.procs"),"utf8").split(`
9 `))if(/^ \d +$/.test(W))z.push(Number(W))}catch{}let G=[];try{G=s(X,{withFileTypes:!0}).filter((W)=>W.isDirectory()).map((W)=>W.name)}catch{}for(let W of G)J(U(X,W))};return J(q),z}function Xq(q,z="/proc"){let J=[];for(let X of s(z)){if(!/^ \d +$/.test(X))continue;let G;try{G=A(U(z,X,"stat"),"utf8")}catch{continue}let W=G.slice(G.lastIndexOf(")")+2).split(" "),B=Number(W[1]),P=Number(W[6]),D=Number(W[19]);if(!((P&2097152)!==0||B===2||X==="2")&&W[0]!=="Z"&&D>=q)J.push(Number(X))}return J}function Zq(q,z="/proc"){let J=[];for(let X of s(z)){if(!/^ \d +$/.test(X))continue;let G;try{G=A(U(z,X,"status"), ...
10 ` ). find (( W ) => W . startsWith ( "0::" )) ?? "" } catch {t. delete (q); return } if ( G . slice ( 3 ) === J ){t. delete (q); return } setTimeout ( X , 1 )}; X ()} function nq ( q ){ let z = {person:q.personCgroup ?? U ( "/sys/fs/cgroup" ,y,_),model:q.payloadCgroup ?? U (wq,_)}, J = q.entry ?? process.argv[ 1 ] ?? "" , X = {}, G = ( B ) => B . startsWith ( "model:" ) && q.bindCgroup ? q. bindCgroup ( B . slice ( 6 )) : z[ B . startsWith ( "model" ) ? "model" : "person" ], W = ( B ) => { let P = B . startsWith ( "model" ) ? "model" : "person" , D =new Map, H = String (q.payloadUid), O = String (q.payloadGid), C = Bun. spawn ([ "/bin/sh" , "-c" , `echo $$ > ${ Rq ( U ( G ( B ), "cgroup.procs" )) } || exit 125; exec /usr/bin/setpriv --no-new-privs -- ...
High Cross File Remote Execution Context
Source spawns a local helper that also contains network and dynamic execution context; review data flow before blocking.
bin/vm-hands/vm-hands-executor-676cpsf2.js View on unpkg · L1 Long lines were clipped for display.