Loading npm security reports…
@reason-machines/cli-linux-x64@0.2.384: Manual Review npm | LPM Firewall
Allowed — no malicious behavior detected
No malicious behavior detected. 32 low-signal pattern(s) reviewed.
AI Security Reviewscanned 5d ago · by lpm-firewall-ai The manifest and inspected runtime excerpts do not establish malicious behavior, but the required native executable analysis is limited and leaves material behavior unresolved. Manual review is appropriate rather than inferring a clean or malicious verdict from the scanner label.
Static reason
High-risk behavior combination matched malicious policy.; source matched previously finalized malicious package; routed for review
Trigger
Running the packaged CLI executable.
Impact
The executable’s full behavior cannot be determined from the inspected evidence.
Mechanism
The offline analysis contains bounded embedded-source candidates but does not establish which are reachable or exclude other executable behavior.
AI rationale
The manifest and inspected runtime excerpts do not establish malicious behavior, but the required native executable analysis is limited and leaves material behavior unresolved. Manual review is appropriate rather than inferring a clean or malicious verdict from the scanner label.
Evidence
.lpm-inspection-hqT5my/0-b9dba28a776b.txt
Decision evidencepublic snapshot AI called this Manual Review at 91.0% confidence as Unknown with medium false-positive risk.
AI review observations
The manifest identifies this as a Linux x64 package for the Reason CLI. The native executable’s offline analysis is limited: embedded source windows do not establish loader reachability or rule out other behavior. The inspected runtime code gates local login handover on the localLogins setting and sends subscriptions through the Reason client. The inspected integration locations include local credential handling and agent configuration code, but do not resolve the native executable’s behavior. Evidence against
The manifest has no lifecycle scripts, and the inspected source does not establish a concrete attack. Behavioral surface
Source ChildProcess Crypto DynamicRequire EnvironmentVars Eval Filesystem Network Shell WebSocket
Supply chain HighEntropyStrings Minified PossibleObfuscation
Source & flagged code25 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 6 Medium 4 Low
Critical Remote Asset Decode Execute bin/vm-hands/index-7f2kwwen.js
High Child Process bin/runtime/srt/sandbox-runtime.mjs
High Shell bin/vm-hands/vm-hands-entry-lite-bfk9ndx8.js
High Eval bin/vm-hands/vm-hands-entry-lite-zjfr0zh8.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-7f2kwwen.js
High External Ai Agent Control Surface Mutation bin/vm-hands/index-7f2kwwen.js
High Cross File Remote Execution Context bin/vm-hands/vm-hands-entry-lite-qvdvh2v9.js
High Semantic Analysis Limited bin/vm-hands/index-7f2kwwen.js
Affected versions and remediation This report applies to @reason-machines/cli-linux-x64@0.2.384 .
See all versions of @reason-machines/cli-linux-x64 for other recorded verdicts.
Review the evidence and your use of @reason-machines/cli-linux-x64@0.2.384 before allowing it. Restrict the permissions described in this report. Choose an independently verified alternative or release. This report does not establish that other versions are safe. Evidence last updated: 2026-10-18 07:30:13.249Z (UTC) .
Think this verdict is wrong? Dispute it on GitHub or read how reports are produced .
UrlStrings
scanned 75 file(s), 5.52 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, git-scm.com, 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, schemas.microsoft.com, 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 bin/vm-hands/vm-hands-entry-lite-bfk9ndx8.js View file 102 [ "$h" = ${A9($.sha256)} ] || { echo worker_ssh_artifact_mismatch >&2; exit 72; }
L103: exec "$a" worker __ssh-bootstrap`;return`exec /usr/bin/env -i PATH=/usr/bin:/bin:/usr/sbin:/sbin /bin/sh -c ${A9(J)}`}function $6($,J){if(!/^[A-Za-z0-9][A-Za-z0-9_.-]{0,127}$/.test...
L104: `)){let[Q,...X]=Z.trim().split(/\s+/);if(["proxyjump","proxycommand"].includes(Q??"")&&X.join(" ").toLowerCase()!=="none")throw Error("worker_ssh_proxy_unsupported")}}function GV($...
High Shell
Package source references shell execution.
bin/vm-hands/vm-hands-entry-lite-bfk9ndx8.js View on unpkg · L102 • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.382
matchedPath = bin/vm-hands/vm-hands-entry-lite-245929bs.js
matchedIdentity = npm:[redacted]:0.2.382
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-bfk9ndx8.js View on unpkg bin/vm-hands/vm-hands-entry-lite-zjfr0zh8.js View file 1 // @bun
L2: import{Ik as s}from"./vm-hands-entry-lite-2t0vcvd8.js";var mc={};s(mc,{xor:()=>Zl,xid:()=>kl,void:()=>Bl,uuidv7:()=>$l,uuidv6:()=>ul,uuidv4:()=>el,uuid:()=>vl,util:()=>k,url:()=>gl...
L3: `)}var Pr=(n)=>(i,o,v,r)=>{let t=v?{...v,async:!1}:{async:!1},e=i._zod.run({value:o,issues:[]},t);if(e instanceof Promise)throw new C;if(e.issues.length){let u=new(r?.Err??n)(e.iss...
High Eval
Package source references dynamic code evaluation.
bin/vm-hands/vm-hands-entry-lite-zjfr0zh8.js View on unpkg · L1 bin/vm-hands/vm-hands-entry-lite-935yq8hb.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.382
matchedPath = bin/vm-hands/vm-hands-entry-lite-06qnb2w1.js
matchedIdentity = npm:[redacted]:0.2.382
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-935yq8hb.js View on unpkg 304 }
L305: `.trim();import{Buffer as G9}from"buffer";import{randomUUID as _1}from"crypto";class KQ extends Error{code;constructor($){super($==="hands_repl_private_profile_attribute_denied"?"P...
L306: `):W;J({status:V.statusCode??502,headers:K,body:Buffer.concat(B)})})}),G=setTimeout(()=>F.destroy(Error("hands_browser_fetch_timeout")),O7);F.once("close",()=>clearTimeout(G)),F.on...
Medium Dynamic Require
Package source references dynamic require/import behavior.
bin/vm-hands/vm-hands-entry-lite-935yq8hb.js View on unpkg · L304 bin/vm-hands/vm-hands-entry-lite-6svzqhc6.js View file 1 // @bun
L2: import{ne as Qz,pe as R,se as Zz}from"./vm-hands-entry-lite-qnnfvm5r.js";import{mi as zz}from"./vm-hands-entry-lite-e2mjbqmr.js";import{Ci as e}from"./vm-hands-entry-lite-ma001vzh....
L3: <Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
L4: <RegistrationInfo>
...
L35: </Task>
L36: `}function n(H){return Buffer.concat([Buffer.from([255,254]),Buffer.from(H.replaceAll(`\r
L37: `,`
...
L44: `))}function t(H,z=process.pid){let J=Az(X("powershell.exe"),w(["$all = @{}; Get-CimInstance Win32_Process | % { $all[[int]$_.ProcessId] = $_ }",`$p = $all[${Math.trunc(z)}]`,"for ...
L45: `)),{stdio:"ignore",timeout:15000,windowsHide:!0});return J.status===10?!0:J.status===11?!1:null}var P="REASON_WORKER_SERVICE",yz="worker_identity_unavailable";function BH
Medium Install Persistence
Source writes installer persistence such as shell profile or service configuration.
bin/vm-hands/vm-hands-entry-lite-6svzqhc6.js View on unpkg · L1 1 // @bun
L2: import{Aa as iJ0}from"./vm-hands-entry-lite-9w5vs9zv.js";import{Fk as NV0,Gk as rn,Hk as EJ,Jk as an,Kk as X0}from"./vm-hands-entry-lite-2t0vcvd8.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-7f2kwwen.js View on unpkg · L1 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-7f2kwwen.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-7f2kwwen.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-7f2kwwen.js View on unpkg • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.382
matchedPath = bin/vm-hands/index-7f2kwwen.js
matchedIdentity = npm:[redacted]:0.2.382
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-7f2kwwen.js View on unpkg bin/vm-hands/vm-hands-entry-lite-qvdvh2v9.js View file 1 Cross-file remote execution chain: bin/vm-hands/vm-hands-entry-lite-qvdvh2v9.js spawns bin/vm-hands/vm-hands-entry-lite-r8qg3wp1.js; helper contains network access plus dynamic code execution.
L1: // @bun
L2: import{Sd as ae,Ud as ne}from"./vm-hands-entry-lite-6svzqhc6.js";import{vf as be}from"./vm-hands-entry-lite-5n4vsm6b.js";import{$f as z,Tf as C,Uf as ie,Wf as M,Xf as Oe,_f as Y,ag...
L3: import { createHash, randomUUID } from "node:crypto";
...
L8: // By its System32 path: a bare name is looked up in the current folder first.
L9: const windowsPowerShell=()=>join(process.env.SystemRoot || "C:\\\\Windows", "System32", "WindowsPowerShell", "v1.0", "powershell.exe");
L10:
...
L109: });
L110: child.stdout.setEncoding("utf8"); child.stdout.on("data", chunk => {
L111: buffer += chunk; if (
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-entry-lite-qvdvh2v9.js View on unpkg · L1 • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.382
matchedPath = bin/vm-hands/vm-hands-entry-lite-cwe16c51.js
matchedIdentity = npm:[redacted]:0.2.382
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-qvdvh2v9.js View on unpkg • path = bin/ara
kind = native_binary
sizeBytes = 102959232
magicHex = [redacted]
Medium Ships Native Binary
Package ships native binary artifacts.
bin/ara View on unpkg bin/vm-hands/vm-hands-entry-lite-mn64e4pt.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.382
matchedPath = bin/vm-hands/vm-hands-entry-lite-mn64e4pt.js
matchedIdentity = npm:[redacted]:0.2.382
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-mn64e4pt.js View on unpkg • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.382
matchedPath = bin/vm-hands/ask-relay-zjqyxvxe.js
matchedIdentity = npm:[redacted]:0.2.382
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-bae8pvy5.js View on unpkg bin/vm-hands/vm-hands-entry-lite-gxahmh1e.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.382
matchedPath = bin/vm-hands/vm-hands-entry-lite-50n6vbfx.js
matchedIdentity = npm:[redacted]:0.2.382
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-gxahmh1e.js View on unpkg bin/vm-hands/vm-hands-entry-lite-qdja64ca.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.382
matchedPath = bin/vm-hands/vm-hands-entry-lite-qwf78yqr.js
matchedIdentity = npm:[redacted]:0.2.382
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-qdja64ca.js View on unpkg bin/vm-hands/vm-hands-entry-lite-vnyxnm0n.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.382
matchedPath = bin/vm-hands/vm-hands-entry-lite-3n3xh0xv.js
matchedIdentity = npm:[redacted]:0.2.382
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-vnyxnm0n.js View on unpkg • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.382
matchedPath = bin/vm-hands/status-2m75kz1h.js
matchedIdentity = npm:[redacted]:0.2.382
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-7d0pq05r.js View on unpkg bin/vm-hands/vm-hands-entry-lite-e2mjbqmr.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.382
matchedPath = bin/vm-hands/vm-hands-entry-lite-e2mjbqmr.js
matchedIdentity = npm:[redacted]:0.2.382
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-e2mjbqmr.js View on unpkg bin/vm-hands/vm-hands-entry-lite-ejm5er3h.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.382
matchedPath = bin/vm-hands/vm-hands-entry-lite-ejm5er3h.js
matchedIdentity = npm:[redacted]:0.2.382
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-ejm5er3h.js View on unpkg High Known Malware Source Similarity bin/vm-hands/vm-hands-entry-lite-mn64e4pt.js
High Known Malware Source Similarity bin/vm-hands/ask-relay-bae8pvy5.js
High Known Malware Source Similarity bin/vm-hands/index-7f2kwwen.js
High Known Malware Source Similarity bin/vm-hands/vm-hands-entry-lite-935yq8hb.js
High Known Malware Source Similarity bin/vm-hands/vm-hands-entry-lite-bfk9ndx8.js
High Known Malware Source Similarity bin/vm-hands/vm-hands-entry-lite-gxahmh1e.js
High Known Malware Source Similarity bin/vm-hands/vm-hands-entry-lite-qdja64ca.js
High Known Malware Source Similarity bin/vm-hands/vm-hands-entry-lite-qvdvh2v9.js
High Known Malware Source Similarity bin/vm-hands/vm-hands-entry-lite-vnyxnm0n.js
High Known Malware Source Similarity bin/vm-hands/status-7d0pq05r.js
High Known Malware Source Similarity bin/vm-hands/vm-hands-entry-lite-e2mjbqmr.js
High Known Malware Source Similarity bin/vm-hands/vm-hands-entry-lite-ejm5er3h.js
Medium Dynamic Require bin/vm-hands/vm-hands-entry-lite-935yq8hb.js
Medium Install Persistence bin/vm-hands/vm-hands-entry-lite-6svzqhc6.js
Medium Ships Native Binary bin/ara
Medium Structural Risk Force Deep Review
Install lifecycle No scripts declared.
Behavioral surface ChildProcess Crypto DynamicRequire EnvironmentVars Eval Filesystem Network Shell WebSocket HighEntropyStrings Minified PossibleObfuscation UrlStrings NoLicense
Source & flagged code25 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 bin/vm-hands/vm-hands-entry-lite-bfk9ndx8.js View file Lines 82-122 javascript
82 `);let B0=O9($,f,{displayVideo:f["display.stream.v1"]===!0&&await H(),handsBrowser:f["hands.connect"]===!0&&M,userChrome:i&&"host"in i?i.host:null,...L===void 0?{}:{githubSignedIn:L},persistentTerminals:f["pty.start"]===!0&&S2(),probing:a,ownComputer:X.ownComputer===!0});if(!W&&B0.worker.readiness?.["browser.pr-proof.v1"]===!0){let O0=await YJ();if(W||_.signal.aborted)return B0;process.stderr.write("error"in O0?` Reason worker : PR video proof unavailable (${O0.error})
83 `:` Reason worker : PR video proof ready (ffmpeg ${O0.encoder.ffmpeg.path})
84 `),W=VJ({assertCurrent:async()=>{if(!b())throw Error("proof_authority_lost")},...!("error"in O0)?{recording:O0}:{}})}return B0},F=await O(q,B?$9.filter((f)=>q[f]!==!0):[]),z=D9($,J,F,W?.capability);X.onStartup?.("inventory_completed");let j=!1,D=0,R=0,I="starting",C=null,P=!1,h=!1,S=null,k,p=()=>!V.drained&&Date.parse(Y)>Date.now()&&z.supported_operations.some((f)=>F.worker.readiness?.[f]===!0),b=()=>!j&&p(),x=null,E=()=>D+(x?.claims()??0),A=null,y=new Set,w=(f)=>{let a=f.capabilities.root_paths;if(Object.assign(f.capabilities,D9(f.config,f.state,F,W?.capability)),a)f.capabilities.root_paths=a ...
bin/vm-hands/vm-hands-entry-lite-zjfr0zh8.js View file Lines 1-21 javascript
2 import {Ik as s} from "./vm-hands-entry-lite-2t0vcvd8.js" ; var mc = {}; s (mc,{ xor :() => Zl, xid :() => kl, void :() => Bl,
bin/vm-hands/vm-hands-entry-lite-935yq8hb.js View file Lines 284-324 javascript
284 // parse top-level await or return. Those programs retain the prior async
285 // block behavior; a syntax failure occurs before any user code executes.
286 if ( ! statementList || ! (error instanceof SyntaxError )) throw error;
bin/vm-hands/vm-hands-entry-lite-6svzqhc6.js View file Lines 1-21 javascript
2 import {ne as Qz,pe as R,se as Zz} from "./vm-hands-entry-lite-qnnfvm5r.js" ; import {mi as zz} from "./vm-hands-entry-lite-e2mjbqmr.js" ; import {Ci as e} from "./vm-hands-entry-lite-ma001vzh.js"
1 // @bun
L2: import{Aa as iJ0}from"./vm-hands-entry-lite-9w5vs9zv.js";import{Fk as NV0,Gk as rn,Hk as EJ,Jk as an,Kk as X0}from"./vm-hands-entry-lite-2t0vcvd8.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-7f2kwwen.js View on unpkg · L1 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-7f2kwwen.js View on unpkg · L239 bin/vm-hands/vm-hands-entry-lite-qvdvh2v9.js View file 1 Cross-file remote execution chain: bin/vm-hands/vm-hands-entry-lite-qvdvh2v9.js spawns bin/vm-hands/vm-hands-entry-lite-r8qg3wp1.js; helper contains network access plus dynamic code execution.
L1: // @bun
L2: import{Sd as ae,Ud as ne}from"./vm-hands-entry-lite-6svzqhc6.js";import{vf as be}from"./vm-hands-entry-lite-5n4vsm6b.js";import{$f as z,Tf as C,Uf as ie,Wf as M,Xf as Oe,_f as Y,ag...
L3: import { createHash, randomUUID } from "node:crypto";
...
L8: // By its System32 path: a bare name is looked up in the current folder first.
L9: const windowsPowerShell=()=>join(process.env.SystemRoot || "C:\\\\Windows", "System32", "WindowsPowerShell", "v1.0", "powershell.exe");
L10:
...
L109: });
L110: child.stdout.setEncoding("utf8"); child.stdout.on("data", chunk => {
L111: buffer += chunk; if (
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-entry-lite-qvdvh2v9.js View on unpkg · L1 • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.382
matchedPath = bin/vm-hands/vm-hands-entry-lite-cwe16c51.js
matchedIdentity = npm:[redacted]:0.2.382
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-qvdvh2v9.js View on unpkg • path = bin/ara
kind = native_binary
sizeBytes = 102959232
magicHex = [redacted]
Medium Ships Native Binary
Package ships native binary artifacts.
bin/ara View on unpkg bin/vm-hands/vm-hands-entry-lite-mn64e4pt.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.382
matchedPath = bin/vm-hands/vm-hands-entry-lite-mn64e4pt.js
matchedIdentity = npm:[redacted]:0.2.382
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-mn64e4pt.js View on unpkg • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.382
matchedPath = bin/vm-hands/ask-relay-zjqyxvxe.js
matchedIdentity = npm:[redacted]:0.2.382
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-bae8pvy5.js View on unpkg bin/vm-hands/vm-hands-entry-lite-gxahmh1e.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.382
matchedPath = bin/vm-hands/vm-hands-entry-lite-50n6vbfx.js
matchedIdentity = npm:[redacted]:0.2.382
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-gxahmh1e.js View on unpkg bin/vm-hands/vm-hands-entry-lite-qdja64ca.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.382
matchedPath = bin/vm-hands/vm-hands-entry-lite-qwf78yqr.js
matchedIdentity = npm:[redacted]:0.2.382
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-qdja64ca.js View on unpkg bin/vm-hands/vm-hands-entry-lite-vnyxnm0n.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.382
matchedPath = bin/vm-hands/vm-hands-entry-lite-3n3xh0xv.js
matchedIdentity = npm:[redacted]:0.2.382
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-vnyxnm0n.js View on unpkg • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.382
matchedPath = bin/vm-hands/status-2m75kz1h.js
matchedIdentity = npm:[redacted]:0.2.382
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-7d0pq05r.js View on unpkg bin/vm-hands/vm-hands-entry-lite-e2mjbqmr.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.382
matchedPath = bin/vm-hands/vm-hands-entry-lite-e2mjbqmr.js
matchedIdentity = npm:[redacted]:0.2.382
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-e2mjbqmr.js View on unpkg bin/vm-hands/vm-hands-entry-lite-ejm5er3h.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.382
matchedPath = bin/vm-hands/vm-hands-entry-lite-ejm5er3h.js
matchedIdentity = npm:[redacted]:0.2.382
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-ejm5er3h.js View on unpkg 85 ` )}r. clear (); for ( let a of f)r. add (a)},kY); M0 . unref (); let u0 = ( f ) => { if ( ! X .readinessProbes) K5 ({config:$,readiness:f,signal:_.signal, idle :() => E () === 0 ,permissions: J .roots[ 0 ].permissions, onReady :( a ) => { O (a,[]). then (n)}})}, I0 = B ? U .final. then ( async ( f ) => { if (_.signal.aborted) return ; n ( await O (f,[])); let a = $9. filter (( N0 ) => f[ N0 ] ===! 0 );process.stderr. write ( `Reason worker: deferred lanes decided (${ a . length ? `ready: ${ a . join ( ", " ) }` : "none ready"}).
86 ` ), u0 (f)},() => {}) : Promise . resolve (); if ( ! B ) u0 (q); T ?. then ( async ( f ) => { L = f; for (;;){ let a = F , N0 =await O (a.worker.readiness ?? {},a.worker.probing ?? []); if (_.signal.aborted) return ; if ( F !== a) continue ; n ( N0 ); return }}); let c0 = B && F .worker.probing?. includes ( "pty.start" ) ? U .pty. then ( async ( f ) => { let a = () => F .worker.probing?. includes ( "pty.start" ) ===! 0 ; if (_.signal.aborted ||! a ()) return ; let N0 =await O ({ ... F .worker.readiness, "pty.start" :f},( F .worker.probing ?? []). filter (( i ) => i !== "pty.start" )); if (_.signal.aborted ||! a ()) return ; n ( N0 )},() => {}) : Promise . resolve (), P$ = () => ({version: 1 ,instanceId: Q ,deviceId: J .deviceId,phase: I ,drai ...
87 `:a==="absent"?` Reason worker: CLI ${f} is published; no updater is installed for it here.
88 `:` Reason worker: CLI ${f} is published; the updater did not start, so its next scheduled check takes it.
89 `)}}):void 0),Y0=(f)=>{if(f==="stop")L$();if(f==="reload_roots"){let a=o($);if(!a||a.deviceId!==J.deviceId)throw Error("worker_identity_changed");J.roots=a.roots;let N0=pJ(J.roots,PJ());if(N0)z.root_paths=N0;else delete z.root_paths;x?.check()}if(f==="drain"||f==="resume"){if(j||Date.parse(Y)<=Date.now())throw Error("worker_stopping_or_expired");V={...V,drained:f==="drain"},R0($,V)}return P$()};X.prestartedControl?.handle(Y0);let E$=X.prestartedControl?await X.prestartedControl.closed:await W2($,Q,Y0),B$,x$=!1,f0=()=>{let f=Date.parse(Y)-Date.now();if(f>0){B$=setTimeout(f0,Math.min(f,214748364 ...
90 ` )}}),S.arm(),setTimeout(vJ,0);else if(!v.handsPrespawn&&S)S.close(),S=null}if(v.type=== "heartbeat" ){if(x&&!j&&Date.now()>=G3)G3=Date.now()+K3,x.check().then((s0)=>{B3=s0?0: B3 + 1 , G3 = Date. now () + (s0 ? K3 : Math. min ( K3 , F4 * 2 ** Math. min ( B3 - 1 , 10 )))}); if ( C = v.serverTime, P = v.drain, F1 (), ! j && I$ ) m ?.(v.latestCliVersions?.[ I$ ]); if ( ! j) I = "running" ; if ( ! j &&! h && P$ ().executionEligible){ if (h =! 0 , X . onStartup ?.( "ready" ),( X .platform ?? process.platform) === "darwin" ) setTimeout (() => { try { j9 ({skipWhenSettled: ! 0 })} catch {}}, 0 )}} if (v.type === "reconnecting" &&! j) I = "reconnecting" ; if (v.type === "stopped" ) D = 0 ; X . onEvent ?.(v)})}), await x?.sett ...
91 `)});else if(j&&!x$)await s9({state:J,client:f});if(s$)await kJ().catch(()=>{return})}catch(f){if(!(f instanceof T0&&f.status===401))throw f;if(R0($,{...V,revoked:!0}),f.code==="device_revoked")X.onDeviceRevoked?.();throw Error("worker_revoked")}finally{if(clearTimeout(B$),clearInterval(M0),k)clearTimeout(k);if(T1)process.removeListener("SIGTERM",V$),process.removeListener("SIGINT",L$);X.signal?.removeEventListener("abort",V$),_.abort(),S?.close(),await x?.settled().catch(()=>{return}),await W?.broker.close().catch(()=>{return}),await E$()}}function xJ($=process.env){if($.REASON_RELAY_CUSTOM_D ...
92 ` ; if (Buffer. byteLength ( Z ) > 65536 ) throw Error ( "worker_ssh_frame_too_large" ); let Q ; try { await new Promise (( X , Y ) => { Q = this .clock. after ( J ,() => Y ( Error ( "worker_ssh_write_timeout" ))), this .output. write ( Z ,( V ) => V ? Y ( Error ( "worker_ssh_connection_failed" )) : X ())})} finally { Q ?.()}}async receive ($ = 30000 , J ){ if ( J ?.aborted) throw Error ( "worker_ssh_cancelled" ); if ( this .queue. length ) return this .queue. shift (); if ( this .failure) throw this .failure; if ( this .waiter) throw Error ( "worker_ssh_concurrent_read" ); let Z , Q ; try { return await new Promise (( X , Y ) => { this .waiter = {resolve: X ,reject: Y }, Q = () => { this .waiter =void 0 , Y ( Error ( "worker_ssh .. .
94 [ - f "$a" ] && [ ! - L "$a" ] && [ - x "$a" ] || { echo worker_ssh_artifact_unavailable >& 2 ; exit 72 ; }
95 p = \${a% /*}; f=\${a##*/ }; p = \${p: -/ }
96 p = $ (cd - P "$p" && pwd - P )
97 [ " \$ {p%/}/$f" = "$a" ] || { echo worker_ssh_artifact_unavailable >& 2 ; exit 72 ; }
98 if [ - x / usr / bin / sha256sum ]; then h = $ ( / usr / bin / sha256sum < "$a" );
99 elif [ - x / usr / bin / shasum ]; then h = $ ( / usr / bin / shasum - a 256 < "$a" );
100 else echo worker_ssh_hash_tool_unavailable >& 2 ; exit 72 ; fi
102 [ "$h" = ${ A9 ($.sha256)} ] || { echo worker_ssh_artifact_mismatch >& 2 ; exit 72 ; }
103 exec "$a" worker __ssh - bootstrap `;return` exec / usr / bin / env - i PATH =/ usr / bin: / bin: / usr / sbin: / sbin / bin / sh - c ${ A9 ( J )} `}function $6($,J){if(!/^[A-Za-z0-9][A-Za-z0-9_.-]{0,127}$/.test($.alias)||!R9($.sshConfig))throw Error("worker_ssh_invalid_target");return["-T","-a","-F",$.sshConfig,"-o","BatchMode=yes","-o","StrictHostKeyChecking=yes","-o","UpdateHostKeys=no","-o","ForwardAgent=no","-o","ClearAllForwardings=yes","-o","PermitLocalCommand=no","-o","GSSAPIDelegateCredentials=no","-o","SessionType=default","-o","StdinNull=no","-o","ForkAfterAuthentication=no","-o","ControlMaster=no","-o","ControlP ...
104 ` )){ let [Q, ... X] = Z . trim (). split ( / \s + / ); if ([ "proxyjump" , "proxycommand" ]. includes ( Q ?? "" ) && X . join ( " " ). toLowerCase () !== "none" ) throw Error ( "worker_ssh_proxy_unsupported" )}} function GV ( $ ){ let J = [ "artifact_unavailable" , "hash_tool_unavailable" , "artifact_mismatch" ]. find (( Z ) => $. includes ( `worker_ssh_${ Z }` )); return J ? `worker_ssh_${ J }` : /HOST IDENTIFICATION HAS CHANGED | Host key verification failed | No . * host key is known/ i . test ($) ? "worker_ssh_host_key_rejected" : /Permission denied | authentication failed | expired/ i . test ($) ? "worker_ssh_authentication_failed" : "worker_ssh_connection_failed" } async function BV ( $ ){awa ...
High Shell
Package source references shell execution.
bin/vm-hands/vm-hands-entry-lite-bfk9ndx8.js View on unpkg · L102 105 `)}if(_.type==="stopped"){if(!q)throw Error("worker_ssh_invalid_readiness");return 0}}}catch(B){if(G.signal.aborted){M?.();try{await N.send({type:"stop"});let q=Y.now()+Z.shutdownGraceMs+1e4;while(Y.now()<q)if(oJ.parse(s2(await N.receive(Math.max(1,q-Y.now())))).type==="stopped")return 0}catch{}throw Error("worker_ssh_stop_unconfirmed")}if(B instanceof Error&&B.message==="worker_ssh_connection_closed"){let q=U??await Promise.race([V.result,new Promise((L)=>setTimeout(L,100))]);if(q?.exitCode)throw Error(q.errorCode)}throw B}finally{M?.(),process.removeListener("SIGINT",H),process.removeListene ...
106 ` ); else throw Error ( "probe_protocol_failed" )} catch { V . close (), J ( 1 )}}}}); try { return process.stdout. write ( JSON . stringify ({port: Y .port,token:$}) + `
107 ` ), await Z } finally { clearTimeout ( Q ), Y . stop ( ! 0 ),process.stdin. removeListener ( "end" , X ),process.stdin. pause ()}} import {closeSync as zV,createReadStream as AV,fstatSync as RV,readFileSync as CV} from "fs" ; var H6 = "/run/sc/instance-generation" ; var WV = / ^ [1-9][0-9] {0,15} \n ?$ / ; function OV ( $ ){ return typeof $ === "number" && Number. isSafeInteger ($) && $ > 0 } function q6 ( $ ){ if ( typeof $ !== "string" ||! WV . test ($)) return null ; let J = Number ($. trim ()); return OV ( J ) ? J : null } var M6 = 3 , PV = 600000 , IV = 65536 , EV = 500 ; function L6 ( $ ){ if ($. length !== 3 || $[ 0 ] !== "standby" || $[ 1 ] !== "--handoff-fd" || $[ 2 ] !== String ( M6 )) throw Error ( "worker_standby_inv .. .
109 enroll Obtain / redeem a ticket using the current Reason login
110 start Run the existing Device daemon in the foreground
111 status Read enrollment and live local control state
112 doctor Read local prerequisites; never enroll or repair
113 drain Persist withdrawal of new claims; keep current work
114 resume Explicitly clear persistent drain
115 stop Drain, then cancel at shutdownGraceMs (ephemeral: ends its Device)
116 revoke Revoke an offline Device and remove its local key
117 attach Start this same worker over verified system SSH
119 Config: version 1 ; apiOrigin, channel, stateDirectory, workspaceRoot, lifetime
120 (persistent | ephemeral); executionMode defaults confined (host is explicit consent);
121 slots (Sessions at once, 1 - 4 ) defaults 1 and a Machine worker runs one;
122 shutdownGraceMs defaults 30000. Paths must be absolute and canonical.
Long lines were clipped for display.
• matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.382
matchedPath = bin/vm-hands/vm-hands-entry-lite-245929bs.js
matchedIdentity = npm:[redacted]:0.2.382
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-bfk9ndx8.js View on unpkg uuidv7
:()
=>
$l,
uuidv6
:()
=>
ul,
uuidv4
:()
=>
el,
uuid
:()
=>
vl,
util
:()
=>
k,
url
:()
=>
gl,
uppercase
:()
=>
Xr,
unknown
:()
=>
mr,
union
:()
=>
gt,
undefined
:()
=>
Tl,
ulid
:()
=>
Ul,
uint64
:()
=>
Ql,
uint32
:()
=>
ql,
tuple
:()
=>
Q$
,
trim
:()
=>
Tr,
treeifyError
:()
=>
Lt,
transform
:()
=>
ct,
toUpperCase
:()
=>
Br,
toLowerCase
:()
=>
Hr,
toJSONSchema
:()
=>
Yi,
templateLiteral
:()
=>
uc,
symbol
:()
=>
Fl,
superRefine
:()
=>
cg,
success
:()
=>
tc,
stringbool
:()
=>
Uc,
stringFormat
:()
=>
Ll,
string
:()
=>
On,
strictObject
:()
=>
Rl,
startsWith
:()
=>
Kr,
slugify
:()
=>
Mr,
size
:()
=>
Dr,setErrorM
...
3 `)}var Pr=(n)=>(i,o,v,r)=>{let t=v?{...v,async:!1}:{async:!1},e=i._zod.run({value:o,issues:[]},t);if(e instanceof Promise)throw new C;if(e.issues.length){let u=new(r?.Err??n)(e.issues.map((g)=>Y(g,t,W())));throw Qn(u,r?.callee),u}return e.value},Fn=Pr(B),Jr=(n)=>async(i,o,v,r)=>{let t=v?{...v,async:!0}:{async:!0},e=i._zod.run({value:o,issues:[]},t);if(e instanceof Promise)e=await e;if(e.issues.length){let u=new(r?.Err??n)(e.issues.map((g)=>Y(g,t,W())));throw Qn(u,r?.callee),u}return e.value},Tn=Jr(B),Lr=(n)=>(i,o,v)=>{let r=v?{...v,async:!1}:{async:!1},t=i._zod.run({value:o,issues:[]},r);if(t ...
High Eval
Package source references dynamic code evaluation.
bin/vm-hands/vm-hands-entry-lite-zjfr0zh8.js View on unpkg · L1 4 ` ). filter (( t ) => t),v = Math. min ( ... o. map (( t ) => t. length - t. trimStart (). length )),r = o. map (( t ) => t. slice (v)). map (( t ) => " " . repeat ( this .indent * 2 ) + t); for (let t of r) this .content. push (t)} compile (){let n = Function,i = this ?.args,v = [ ... ( this ?.content ?? [ "" ]). map (( r ) => ` ${ r }` )];return new n ( ... i,v. join ( `
5 ` ))}}var jo = {major: 4 ,minor: 4 ,patch: 3 };var z = l ( "$ZodType" ,( n , i ) => { var o;n ?? (n = {}),n._zod.def = i,n._zod.bag = n._zod.bag || {},n._zod.version = jo; let v = [ ... n._zod.def.checks ?? []]; if (n._zod.traits. has ( "$ZodCheck" ))v. unshift (n); for ( let r of v) for ( let t of r._zod.onattach) t (n); if (v. length === 0 )(o = n._zod).deferred ?? (o.deferred = []),n._zod.deferred?. push (() => {n._zod.run = n._zod.parse}); else { let r = ( e , u , g ) => { let $ = er (e),c; for ( let b of u){ if (b._zod.def.when){ if ( Jt (e)) continue ; if ( ! b._zod.def. when (e)) continue } else if ($) continue ; let S = e.issues. length , D = b._zod. check (e); if ( D instanceof Promise && g?.async ===! 1 ) throw ne ...
6 if (${G}.issues. length ) {
8 payload.issues = payload.issues. concat (${G}.issues. map ( iss => ({
10 path: iss.path ? [${V}, ... iss.path] : [${V}]
15 if (${G}.value === undefined ) {
17 newResult[${V}] = undefined ;
20 newResult[${V}] = ${ G }.value;
Long lines were clipped for display.
new
Function
(
'"use strict"; return (async () => {'
+
code
+
"
\n
})();"
);
288 value = await program ();
290 const output = render (value);
291 return logs. length === 0 ? output : value === undefined ? logs. join ( " \n " ) : logs. join ( " \n " ) + " \n " + output;
293 function install ( name , value ) { Object. defineProperty (globalThis, name, { value, configurable: false , enumerable: false , writable: false }); }
294 install ( "browser" , browser); install ( "context" , context); install ( "page" , page);
295 install ( "state" , state); install ( "browserState" , state);
296 install ( "a11y" , a11y); install ( "view" , view); install ( "routeFulfill" , routeFulfill); install ( "console" , replConsole);
297 install ( "__araHandsRepl" , Object. freeze ({ version, evaluate }));
299 `.trim(),JQ=String.raw`
301 const bridge = globalThis.__araHandsRepl;
302 if ( ! bridge || typeof bridge.evaluate !== "function" ) throw new Error ( "Reason Hands browser bridge is not installed" );
303 return await bridge. evaluate ( typeof input === "string" ? input : input && input.code);
305 `.trim();import{Buffer as G9}from"buffer";import{randomUUID as _1}from"crypto";class KQ extends Error{code;constructor($){super($==="hands_repl_private_profile_attribute_denied"?"Private browser attribute read denied.":$);this.code=$;this.name="HandsReplBrowserDispatcherError"}}var FQ=new Set(["__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__","__proto__","constructor","prototype"]),YQ=/^hands_[A-Za-z0-9_-]{8,128}$/,A1=2048,VQ=32,HQ=1e4,x1=new Set(["href","src","alt","title","role","aria-label","aria-expanded","aria-checked","aria-selected","aria-disabled","placeholder ...
306 ` ): W ; J ({status: V .statusCode ?? 502 ,headers: K ,body:Buffer. concat ( B )})})}), G = setTimeout (() => F . destroy ( Error ( "hands_browser_fetch_timeout" )), O7 ); F . once ( "close" ,() => clearTimeout ( G )), F . on ( "error" , Y ), F . end ($. postDataBuffer () ??void 0 )})} async function A7 ( $ , Z , Q = () => {}, X = { lookup :( J ) => K7 ( J ,{all: ! 0 }),fetch:_7}){ let J =new WeakSet, Y =new WeakMap, z = ( F ) => { let G = Y . get ( F ); if ( G ) return G ; let V = ( async () => { if ( ! $.newCDPSession) return ; let B =await $. newCDPSession ( F ), H =new Map; B . on ( "Network.loadingFinished" ,({ requestId : K }) => H . delete ( K )), B . on ( "Network.loadingFailed" ,({ requestId : K }) => H . delete ( K )), B . on ( "Fetch.requestPaused" ...
Medium Dynamic Require
Package source references dynamic require/import behavior.
bin/vm-hands/vm-hands-entry-lite-935yq8hb.js View on unpkg · L304 307 `)}function K8($){try{z7($)}catch{}}async function kQ($){if($.managedBrowser&&$.driverModuleDirectory!==void 0)throw Error("hands_browser_ambiguous_driver_configuration");let Z=$.launch||$.targetContext?null:$.managedBrowser?await J$($.managedBrowser,{executablePath:$.browserExecutablePath}):await K9({executablePath:$.browserExecutablePath,driverModuleDirectory:$.driverModuleDirectory});if(Z?.status==="unavailable")throw Error(` hands_browser_${Z.reason} `);let Q=Z?.status==="resolved"?Z.executablePath:$.browserExecutablePath;if(!Q||!w9(Q))throw Error("hands_browser_unavailable");let X=$.launch? ...
308 Viewing ${ B0 } (${ j0 . sourceWidth }x${ j0 . sourceHeight } source, sent at ${ j0 . width }x${ j0 . height }, ${ Math . round ( e0 . length / 1024 ) }KB).` } if ( U0 > 640 ) U0 = Math. round ( U0 * 0.75 );else W0 = Math. max ( 30 , W0 - 15 )}throw Error ( `view(): could not reduce the image under ${ Math . round ( RQ / 1024 ) }KB` )}finally{await g0.close().catch(()=>{ return })}},y = WQ ({browser:$.targetContext?. browser () ?? N ,context: M ,page:k,a11y:f,view:_, readWorkspaceFile :( b ) => EQ ($.workspaceRoot,b),privateProfile:$.privateProfile,beforeNavigation:$.beforeNavigation,recording:$.recording,screenshotExport:$.screenshotExport, actionRecorder :() => { let b = J ,h = Y ;retur ...
309 ${h} `}catch{return` ${u}
310 Screen capture unavailable. `}}return u})(),y,c=new Promise((u,r)=>{y=setTimeout(()=>r(Error("REPL evaluation timed out after 105 seconds")),j7)});try{return await Promise.race([_,c])}catch(u){if(u instanceof Error&&u.message.includes("timed out"))_.catch(()=>{return}),await w.resetEvaluator(M).catch(()=>{return});throw u}finally{if(y)clearTimeout(y)}},T=Promise.resolve(),S=new Set,m=new Set;K8($.socketPath);let E=n0.createServer((N)=>{S.add(N),N.once("close",()=>{S.delete(N),m.delete(N)}),N.setEncoding("utf8");let M="",D=!1;N.on("data",(w)=>{if(D)return;if(M+=w,M.length>M7){D=!0,V9(N,{ok:!1,er ...
311 ` ); if (k ===- 1 ) return ; D =! 0 ; let f = M . slice ( 0 ,k); if ($.onControl) try { let _ = JSON . parse (f); if ( typeof _.action === "string" && _.action !== "evaluate" )m. add ( N )} catch {} T = T . then ( async () => { if ( N .destroyed) return ; J = [], Y = {}; try { let _ = JSON . parse (f); if (_.action === "probe" ){ let b =await R (); await P ( "undefined" ,b.evaluator.runId), V9 ( N ,{ok: ! 0 ,output: "ARA_HANDS_REPL_READY" }); return } if ( typeof _.action === "string" && _.action !== "evaluate" && $.onControl){ V9 ( N ,{ok: ! 0 ,output: await $. onControl (_.action,_)}); return } if (_.action !== "evaluate" ||typeof _.code !== "string" ) throw Error ( "Invalid REPL request" ); let y = _.code,c =typeof _.runId === ...
312 `}catch{return!1}}var w7=/^( \/ .+)-sidechat-([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$/;function yQ($){let Z=w7.exec($.replace(/ \/ +$/,""));return Z?` ${ Z [ 1 ]} / repo `:null}import{randomUUID as I6}from"crypto";import{spawn as R6,spawnSync as E6}from"child_process";import{chmodSync as m9,closeSync as S6,constants as O$,fchmodSync as w6,fstatSync as b6,openSync as k6,copyFileSync as f6,existsSync as _$,lstatSync as o,statSync as y9,mkdtempSync as m6,mkdirSync as j9,realpathSync as s,renameSync as q8,rmSync as y6,writeFileSync as C8}from"fs";import{homedir as g6,tmpdir as O4}from"o ...
313 const { writeSync } = require("node:fs");
314 const { createRequire } = require("node:module");
315 const { join } = require("node:path");
316 const { createInterface } = require("node:readline");
317 const { formatWithOptions, inspect } = require("node:util");
318 const vm = require("node:vm");
320 const timeoutMs = ${ q$ };
321 const maxLogChars = 524288;
322 let activeOutput = [];
323 let activeOutputChars = 0;
324 function appendOutput(value) {
Long lines were clipped for display.
• matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.382
matchedPath = bin/vm-hands/vm-hands-entry-lite-06qnb2w1.js
matchedIdentity = npm:[redacted]:0.2.382
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-935yq8hb.js View on unpkg ;
import
{Wi
as
Hz,ij
as
V,kj
as
Jz}
from
"./vm-hands-entry-lite-tfkbj4dn.js"
;
import
{wk
as
X}
from
"./vm-hands-entry-lite-r8qg3wp1.js"
;
import
{spawnSync
as
C}
from
"child_process"
;
import
{createHash
as
Pz,randomUUID
as
Iz}
from
"crypto"
;
import
{chmodSync
as
Wz,existsSync
as
y,mkdirSync
as
bz,readdirSync
as
Sz,readFileSync
as
L,renameSync
as
wz,rmSync
as
Y,statSync
as
_z,writeFileSync
as
xz}
from
"fs"
;
import
{dirname
as
Rz,isAbsol ...
3 <Task version= "1.2" xmlns= "http://schemas.microsoft.com/windows/2004/02/mit/task" >
4 <RegistrationInfo>
Medium Install Persistence
Source writes installer persistence such as shell profile or service configuration.
bin/vm-hands/vm-hands-entry-lite-6svzqhc6.js View on unpkg · L1 5 <Description>${S(H.description)}</Description>
11 <Principal id= "Author" >
13 <LogonType>InteractiveToken</LogonType>
14 <RunLevel>LeastPrivilege</RunLevel>
18 <MultipleInstancesPolicy>${J? "StopExisting" : "IgnoreNew" }</MultipleInstancesPolicy>
19 <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
20 <StopIfGoingOnBatteries>false</StopIfGoingOnBatteries>
21 <StartWhenAvailable>true</StartWhenAvailable>
Long lines were clipped for display.
• 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-7f2kwwen.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-7f2kwwen.js View on unpkg • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.382
matchedPath = bin/vm-hands/index-7f2kwwen.js
matchedIdentity = npm:[redacted]:0.2.382
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-7f2kwwen.js View on unpkg