Loading npm security reports…
@reason-machines/cli-linux-arm64@0.2.329: Manual Review npm | LPM Firewall
Allowed — no malicious behavior detected
No malicious behavior detected. 31 low-signal pattern(s) reviewed.
AI Security Reviewscanned 6d ago · by lpm-firewall-ai The manifest shows no lifecycle scripts, but the package ships a large native executable whose bounded analysis cannot resolve its behavior. The inspected runtime also conditionally invokes local-login forwarding, while the recipient and complete transfer path remain unclear, so manual review is warranted.
Static reason
High-risk behavior combination matched malicious policy.; source matched previously finalized malicious package; routed for review
Trigger
Running the packaged CLI; local-login forwarding is additionally gated by the localLogins setting.
Impact
Potential access to local service login tokens remains unresolved; the evidence does not establish an attack or credential theft.
Mechanism
The JavaScript runtime invokes a local-login handover helper when enabled, but the native executable’s full behavior and the complete credential recipient path could not be established from the available analysis.
AI rationale
The manifest shows no lifecycle scripts, but the package ships a large native executable whose bounded analysis cannot resolve its behavior. The inspected runtime also conditionally invokes local-login forwarding, while the recipient and complete transfer path remain unclear, so manual review is warranted.
Evidence
.lpm-inspection-0plzjJ/0-81b5509cc66e.txt bin/ara bin/vm-hands/vm-hands-entry-lite-wtk1v493.js
Network endpoints2
api.reasonmachines.ai staging-api.reasonmachines.ai
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 the Linux ARM64 Reason CLI package. The package includes a native executable whose bounded embedded-source analysis cannot establish its full behavior. The runtime source calls local-login forwarding only when the localLogins setting is enabled, but the recipient and complete transfer path remain unresolved. Evidence against
The manifest contains no lifecycle scripts, so the inspected metadata does not show install-time execution. Behavioral surface
Source ChildProcess Crypto DynamicRequire EnvironmentVars Eval Filesystem Network Shell WebSocket
Supply chain HighEntropyStrings Minified PossibleObfuscation UrlStrings
scanned 53 file(s), 5.35 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, 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
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-wx03jedr.js
High Child Process bin/runtime/srt/sandbox-runtime.mjs
High Shell
High Eval bin/vm-hands/vm-hands-entry-lite-669hk342.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-wx03jedr.js
High External Ai Agent Control Surface Mutation bin/vm-hands/index-wx03jedr.js
High Cross File Remote Execution Context bin/vm-hands/vm-hands-executor-n2w3v0fs.js
High Semantic Analysis Limited bin/vm-hands/index-wx03jedr.js
High
Affected versions and remediation This report applies to @reason-machines/cli-linux-arm64@0.2.329 .
See all versions of @reason-machines/cli-linux-arm64 for other recorded verdicts.
Review the evidence and your use of @reason-machines/cli-linux-arm64@0.2.329 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-17 17:57:42.331Z (UTC) .
Think this verdict is wrong? Dispute it on GitHub or read how reports are produced .
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-669hk342.js View file 1 // @bun
L2: import{_h as s}from"./vm-hands-entry-lite-5a0kyaxa.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-669hk342.js View on unpkg · L1 bin/vm-hands/vm-hands-entry-lite-xjyd9xvx.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.330
matchedPath = bin/vm-hands/vm-hands-entry-lite-g5w3cema.js
matchedIdentity = npm:[redacted]:0.2.330
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-xjyd9xvx.js View on unpkg 305 }
L306: `.trim();import{Buffer as X9}from"buffer";import{randomUUID as z1}from"crypto";class rQ extends Error{code;constructor($){super($==="hands_repl_private_profile_attribute_denied"?"P...
L307: `):W;J({status:F.statusCode??502,headers:z,body:Buffer.concat(B)})})}),G=setTimeout(()=>V.destroy(Error("hands_browser_fetch_timeout")),X7);V.once("close",()=>clearTimeout(G)),V.on...
Medium Dynamic Require
Package source references dynamic require/import behavior.
bin/vm-hands/vm-hands-entry-lite-xjyd9xvx.js View on unpkg · L305 1 // @bun
L2: import{A as iJ0}from"./vm-hands-entry-lite-0yghpjef.js";import{$h as an,Xh as NV0,Yh as rn,Zh as EJ,ai as X0}from"./vm-hands-entry-lite-5a0kyaxa.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-wx03jedr.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-wx03jedr.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-wx03jedr.js View on unpkg • stage = ast_semantic_analysis; reason = ast_path_work_budget_exceeded; limitedFiles = 1
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-wx03jedr.js View on unpkg • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.363
matchedPath = bin/vm-hands/index-80ep9259.js
matchedIdentity = npm:[redacted]:0.2.363
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-wx03jedr.js View on unpkg bin/vm-hands/vm-hands-executor-n2w3v0fs.js View file 1 Cross-file remote execution chain: bin/vm-hands/vm-hands-executor-n2w3v0fs.js spawns bin/vm-hands/vm-hands-entry-lite-669hk342.js; helper contains network access plus dynamic code execution.
L1: // @bun
L2: import{u as Tq}from"./vm-hands-entry-lite-q5thp2ap.js";import{Na as Lq,rb as Uq,ta as Bq,vb as Fq}from"./vm-hands-entry-lite-xjyd9xvx.js";import"./vm-hands-entry-lite-nj8bmc9y.js";...
L3: `).filter(Boolean);K=Z.length;let W=$.map((T)=>{try{return Number(JSON.parse(T).elapsed_ms)||0}catch{return 0}});if(W.length)X("vm_hands.srt_server_starts",{count:W.length,elapsed_...
L4: `).filter(Boolean).slice(0,1000);if(!W.length)return null;let T={},L=0;for(let w of W)try{let R=JSON.parse(w),B=typeof R.code==="string"&&/^[a-z_]{1,40}$/.test(R.code)?R.code:"othe...
L5: `).find((O)=>O.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-n2w3v0fs.js View on unpkg · L1 • path = bin/ara
kind = native_binary
sizeBytes = 102869136
magicHex = [redacted]
Medium Ships Native Binary
Package ships native binary artifacts.
bin/ara View on unpkg bin/vm-hands/vm-hands-entry-lite-0p3hac9d.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.330
matchedPath = bin/vm-hands/vm-hands-entry-lite-dj69r683.js
matchedIdentity = npm:[redacted]:0.2.330
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-0p3hac9d.js View on unpkg bin/vm-hands/vm-hands-entry-lite-henbtxfe.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-x64-musl@0.2.358
matchedPath = bin/vm-hands/vm-hands-entry-lite-3ms5bb0b.js
matchedIdentity = npm:[redacted]:0.2.358
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-henbtxfe.js View on unpkg bin/vm-hands/vm-hands-entry-lite-wtk1v493.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.330
matchedPath = bin/vm-hands/vm-hands-entry-lite-qq1091m3.js
matchedIdentity = npm:[redacted]:0.2.330
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-wtk1v493.js View on unpkg • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.330
matchedPath = bin/vm-hands/status-wdwrnxja.js
matchedIdentity = npm:[redacted]:0.2.330
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-ysdt3ep8.js View on unpkg bin/vm-hands/vm-hands-entry-lite-nj8bmc9y.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64@0.2.349
matchedPath = bin/vm-hands/vm-hands-entry-lite-k2cvr710.js
matchedIdentity = npm:[redacted]:0.2.349
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-nj8bmc9y.js View on unpkg bin/vm-hands/vm-hands-entry-lite-nwcza0v8.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.330
matchedPath = bin/vm-hands/vm-hands-entry-lite-ydjye6jz.js
matchedIdentity = npm:[redacted]:0.2.330
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-nwcza0v8.js View on unpkg bin/vm-hands/vm-hands-entry-lite-rd9vsaew.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-x64-musl@0.2.358
matchedPath = bin/vm-hands/vm-hands-entry-lite-dyy62gt3.js
matchedIdentity = npm:[redacted]:0.2.358
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-rd9vsaew.js View on unpkg bin/vm-hands/vm-hands-entry-lite-sggk0bqc.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.330
matchedPath = bin/vm-hands/vm-hands-entry-lite-sggk0bqc.js
matchedIdentity = npm:[redacted]:0.2.330
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-sggk0bqc.js View on unpkg bin/vm-hands/vm-hands-entry-lite-xbe3dat0.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.330
matchedPath = bin/vm-hands/vm-hands-entry-lite-j7ee0rr6.js
matchedIdentity = npm:[redacted]:0.2.330
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-xbe3dat0.js View on unpkg bin/vm-hands/vm-hands-runtime-jnz4rqxa.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.363
matchedPath = bin/vm-hands/vm-hands-runtime-t85zeqf7.js
matchedIdentity = npm:[redacted]:0.2.363
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-runtime-jnz4rqxa.js View on unpkg Known Malware Source Similarity
bin/vm-hands/index-wx03jedr.js
High Known Malware Source Similarity bin/vm-hands/vm-hands-entry-lite-0p3hac9d.js
High Known Malware Source Similarity bin/vm-hands/vm-hands-entry-lite-henbtxfe.js
High Known Malware Source Similarity bin/vm-hands/vm-hands-entry-lite-wtk1v493.js
High Known Malware Source Similarity bin/vm-hands/status-ysdt3ep8.js
High Known Malware Source Similarity bin/vm-hands/vm-hands-entry-lite-nj8bmc9y.js
High Known Malware Source Similarity bin/vm-hands/vm-hands-entry-lite-nwcza0v8.js
High Known Malware Source Similarity bin/vm-hands/vm-hands-entry-lite-rd9vsaew.js
High Known Malware Source Similarity bin/vm-hands/vm-hands-entry-lite-sggk0bqc.js
High Known Malware Source Similarity bin/vm-hands/vm-hands-entry-lite-xbe3dat0.js
High Known Malware Source Similarity bin/vm-hands/vm-hands-entry-lite-xjyd9xvx.js
High Known Malware Source Similarity bin/vm-hands/vm-hands-runtime-jnz4rqxa.js
Medium Dynamic Require bin/vm-hands/vm-hands-entry-lite-xjyd9xvx.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 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 bin/vm-hands/vm-hands-entry-lite-669hk342.js View file Lines 1-21 javascript
2 import {_h as s} from "./vm-hands-entry-lite-5a0kyaxa.js" ; var mc = {}; s (mc,{ xor :() => Zl, xid :() => kl, void :() => Bl,
bin/vm-hands/vm-hands-entry-lite-xjyd9xvx.js View file Lines 285-325 javascript
285 // parse top-level await or return. Those programs retain the prior async
286 // block behavior; a syntax failure occurs before any user code executes.
287 if ( ! statementList || ! (error instanceof SyntaxError )) throw error;
1 // @bun
L2: import{A as iJ0}from"./vm-hands-entry-lite-0yghpjef.js";import{$h as an,Xh as NV0,Yh as rn,Zh as EJ,ai as X0}from"./vm-hands-entry-lite-5a0kyaxa.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-wx03jedr.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-wx03jedr.js View on unpkg · L239 bin/vm-hands/vm-hands-executor-n2w3v0fs.js View file Lines 1-11 javascript
2 import {u as Tq} from "./vm-hands-entry-lite-q5thp2ap.js" ; import {Na as Lq,rb as Uq,ta as Bq,vb as Fq} from "./vm-hands-entry-lite-xjyd9xvx.js" ; import "./vm-hands-entry-lite-nj8bmc9y.js" ; import
• path = bin/ara
kind = native_binary
sizeBytes = 102869136
magicHex = [redacted]
Medium Ships Native Binary
Package ships native binary artifacts.
bin/ara View on unpkg bin/vm-hands/vm-hands-entry-lite-0p3hac9d.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.330
matchedPath = bin/vm-hands/vm-hands-entry-lite-dj69r683.js
matchedIdentity = npm:[redacted]:0.2.330
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-0p3hac9d.js View on unpkg bin/vm-hands/vm-hands-entry-lite-henbtxfe.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-x64-musl@0.2.358
matchedPath = bin/vm-hands/vm-hands-entry-lite-3ms5bb0b.js
matchedIdentity = npm:[redacted]:0.2.358
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-henbtxfe.js View on unpkg bin/vm-hands/vm-hands-entry-lite-wtk1v493.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.330
matchedPath = bin/vm-hands/vm-hands-entry-lite-qq1091m3.js
matchedIdentity = npm:[redacted]:0.2.330
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-wtk1v493.js View on unpkg • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.330
matchedPath = bin/vm-hands/status-wdwrnxja.js
matchedIdentity = npm:[redacted]:0.2.330
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-ysdt3ep8.js View on unpkg bin/vm-hands/vm-hands-entry-lite-nj8bmc9y.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64@0.2.349
matchedPath = bin/vm-hands/vm-hands-entry-lite-k2cvr710.js
matchedIdentity = npm:[redacted]:0.2.349
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-nj8bmc9y.js View on unpkg bin/vm-hands/vm-hands-entry-lite-nwcza0v8.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.330
matchedPath = bin/vm-hands/vm-hands-entry-lite-ydjye6jz.js
matchedIdentity = npm:[redacted]:0.2.330
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-nwcza0v8.js View on unpkg bin/vm-hands/vm-hands-entry-lite-rd9vsaew.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-x64-musl@0.2.358
matchedPath = bin/vm-hands/vm-hands-entry-lite-dyy62gt3.js
matchedIdentity = npm:[redacted]:0.2.358
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-rd9vsaew.js View on unpkg bin/vm-hands/vm-hands-entry-lite-sggk0bqc.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.330
matchedPath = bin/vm-hands/vm-hands-entry-lite-sggk0bqc.js
matchedIdentity = npm:[redacted]:0.2.330
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-sggk0bqc.js View on unpkg bin/vm-hands/vm-hands-entry-lite-xbe3dat0.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.330
matchedPath = bin/vm-hands/vm-hands-entry-lite-j7ee0rr6.js
matchedIdentity = npm:[redacted]:0.2.330
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-xbe3dat0.js View on unpkg bin/vm-hands/vm-hands-runtime-jnz4rqxa.js View file • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.363
matchedPath = bin/vm-hands/vm-hands-runtime-t85zeqf7.js
matchedIdentity = npm:[redacted]:0.2.363
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-runtime-jnz4rqxa.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-669hk342.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
})();"
);
289 value = await program ();
291 const output = render (value);
292 return logs. length === 0 ? output : value === undefined ? logs. join ( " \n " ) : logs. join ( " \n " ) + " \n " + output;
294 function install ( name , value ) { Object. defineProperty (globalThis, name, { value, configurable: false , enumerable: false , writable: false }); }
295 install ( "browser" , browser); install ( "context" , context); install ( "page" , page);
296 install ( "state" , state); install ( "browserState" , state);
297 install ( "a11y" , a11y); install ( "view" , view); install ( "routeFulfill" , routeFulfill); install ( "console" , replConsole);
298 install ( "__araHandsRepl" , Object. freeze ({ version, evaluate }));
300 `.trim(),nQ=String.raw`
302 const bridge = globalThis.__araHandsRepl;
303 if ( ! bridge || typeof bridge.evaluate !== "function" ) throw new Error ( "Reason Hands browser bridge is not installed" );
304 return await bridge. evaluate ( typeof input === "string" ? input : input && input.code);
306 `.trim();import{Buffer as X9}from"buffer";import{randomUUID as z1}from"crypto";class rQ extends Error{code;constructor($){super($==="hands_repl_private_profile_attribute_denied"?"Private browser attribute read denied.":$);this.code=$;this.name="HandsReplBrowserDispatcherError"}}var tQ=new Set(["__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__","__proto__","constructor","prototype"]),iQ=/^hands_[A-Za-z0-9_-]{8,128}$/,K1=2048,eQ=32,$Z=1e4,V1=new Set(["href","src","alt","title","role","aria-label","aria-expanded","aria-checked","aria-selected","aria-disabled","placeholder ...
307 ` ): W ; J ({status: F .statusCode ?? 502 ,headers:z,body:Buffer. concat ( B )})})}), G = setTimeout (() => V . destroy ( Error ( "hands_browser_fetch_timeout" )), X7 ); V . once ( "close" ,() => clearTimeout ( G )), V . on ( "error" , Y ), V . end ($. postDataBuffer () ??void 0 )})} async function G7 ( $ , Q , Z = () => {}, X = { lookup :( J ) => p1 ( J ,{all: ! 0 }),fetch: Y7 }){ let J =new WeakSet, Y =new WeakMap, K = ( V ) => { let G = Y . get ( V ); if ( G ) return G ; let F = ( async () => { if ( ! $.newCDPSession) return ; let B =await $. newCDPSession ( V ), H =new Map; B . on ( "Network.loadingFinished" ,({ requestId : z }) => H . delete (z)), B . on ( "Network.loadingFailed" ,({ requestId : z }) => H . delete (z)), B . on ( "Fetch.requestPaused" ...
Medium Dynamic Require
Package source references dynamic require/import behavior.
bin/vm-hands/vm-hands-entry-lite-xjyd9xvx.js View on unpkg · L305 308 `)}function Z8($){try{d1($)}catch{}}async function _Z($){if($.managedBrowser&&$.driverModuleDirectory!==void 0)throw Error("hands_browser_ambiguous_driver_configuration");let Q=$.launch||$.targetContext?null:$.managedBrowser?await s8($.managedBrowser,{executablePath:$.browserExecutablePath}):await G9({executablePath:$.browserExecutablePath,driverModuleDirectory:$.driverModuleDirectory});if(Q?.status==="unavailable")throw Error(` hands_browser_${Q.reason} `);let Z=Q?.status==="resolved"?Q.executablePath:$.browserExecutablePath;if(!Z||!R9(Z))throw Error("hands_browser_unavailable");let X=$.launch? ...
309 Viewing ${ W0 } (${ M0 . sourceWidth }x${ M0 . sourceHeight } source, sent at ${ M0 . width }x${ M0 . height }, ${ Math . round ( r0 . length / 1024 ) }KB).` } if ( H0 > 640 ) H0 = Math. round ( H0 * 0.75 );else U0 = Math. max ( 30 , U0 - 15 )}throw Error ( `view(): could not reduce the image under ${ Math . round ( CZ / 1024 ) }KB` )}finally{await y0.close().catch(()=>{ return })}},m = ZZ ({browser:$.targetContext?. browser () ?? N ,context: M ,page:k,a11y:f,view:_, readWorkspaceFile :( b ) => qZ ($.workspaceRoot,b),privateProfile:$.privateProfile,beforeNavigation:$.beforeNavigation,recording:$.recording,screenshotExport:$.screenshotExport, actionRecorder :() => { let b = J ,y = Y ;retur ...
310 ${y} `}catch{return` ${l}
311 Screen capture unavailable. `}}return l})(),m,c=new Promise((l,o)=>{m=setTimeout(()=>o(Error("REPL evaluation timed out after 105 seconds")),e1)});try{return await Promise.race([_,c])}catch(l){if(l instanceof Error&&l.message.includes("timed out"))_.catch(()=>{return}),await w.resetEvaluator(M).catch(()=>{return});throw l}finally{if(m)clearTimeout(m)}},T=Promise.resolve(),S=new Set,g=new Set;Z8($.socketPath);let E=u0.createServer((N)=>{S.add(N),N.once("close",()=>{S.delete(N),g.delete(N)}),N.setEncoding("utf8");let M="",D=!1;N.on("data",(w)=>{if(D)return;if(M+=w,M.length>t1){D=!0,K9(N,{ok:!1,er ...
312 ` ); 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" )g. 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), K9 ( N ,{ok: ! 0 ,output: "ARA_HANDS_REPL_READY" }); return } if ( typeof _.action === "string" && _.action !== "evaluate" && $.onControl){ K9 ( N ,{ok: ! 0 ,output: await $. onControl (_.action,_)}); return } if (_.action !== "evaluate" ||typeof _.code !== "string" ) throw Error ( "Invalid REPL request" ); let m = _.code,c =typeof _.runId === ...
313 `}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 PZ($){let Q=W7.exec($.replace(/ \/ +$/,""));return Q?` ${ Q [ 1 ]} / repo `:null}import{randomUUID as V6}from"crypto";import{spawn as F6,spawnSync as H6}from"child_process";import{chmodSync as b9,closeSync as U6,constants as F$,fchmodSync as W6,fstatSync as B6,openSync as L6,copyFileSync as N6,existsSync as U$,lstatSync as t,statSync as k9,mkdtempSync as M6,mkdirSync as N9,realpathSync as n,renameSync as H8,rmSync as j6,writeFileSync as U8}from"fs";import{homedir as C6,tmpdir as K4}from"o ...
314 const { writeSync } = require("node:fs");
315 const { createRequire } = require("node:module");
316 const { join } = require("node:path");
317 const { createInterface } = require("node:readline");
318 const { formatWithOptions, inspect } = require("node:util");
319 const vm = require("node:vm");
321 const timeoutMs = ${ z$ };
322 const maxLogChars = 524288;
323 let activeOutput = [];
324 let activeOutputChars = 0;
325 function appendOutput(value) {
Long lines were clipped for display.
• matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.330
matchedPath = bin/vm-hands/vm-hands-entry-lite-g5w3cema.js
matchedIdentity = npm:[redacted]:0.2.330
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-xjyd9xvx.js View on unpkg • 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-wx03jedr.js View on unpkg • stage = ast_semantic_analysis; reason = ast_path_work_budget_exceeded; limitedFiles = 1
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-wx03jedr.js View on unpkg • matchType = normalized_sha256
matchedPackage = @reason-machines/cli-linux-arm64-musl@0.2.363
matchedPath = bin/vm-hands/index-80ep9259.js
matchedIdentity = npm:[redacted]:0.2.363
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-wx03jedr.js View on unpkg "./vm-hands-entry-lite-n8gsyjq7.js"
;
import
"./vm-hands-entry-lite-9y8v419y.js"
;
import
"./vm-hands-entry-lite-rnwjp0tk.js"
;
import
"./vm-hands-entry-lite-669hk342.js"
;
import
"./vm-hands-entry-lite-asr8j2d4.js"
;
import
"./vm-hands-entry-lite-sggk0bqc.js"
;
import
"./vm-hands-entry-lite-8afzattm.js"
;
import
"./vm-hands-entry-lite-djy0ww6h.js"
;
import
"./vm-hands-entry-lite-kbz9zfha.js"
;
import
"./vm-hands-entry-lite-n5ec0fjy.js"
;
...
3 `).filter(Boolean);K=Z.length;let W=$.map((T)=>{try{return Number(JSON.parse(T).elapsed_ms)||0}catch{return 0}});if(W.length)X("vm_hands.srt_server_starts",{count:W.length,elapsed_ms:W.slice(0,8)})}catch{}},j=null,g=!1,h=q.srtCgroup??"/sys/fs/cgroup/reason-srt",I=()=>{j??=Wq()},x=0,V=()=>{try{let Z=P(xq,"utf8"),$=Z.slice(x>Z.length?0:x);x=Z.length;let W=$.split(`
4 `).filter(Boolean).slice(0,1000);if(!W.length)return null;let T={},L=0;for(let w of W)try{let R=JSON.parse(w),B=typeof R.code==="string"&&/^[a-z_]{1,40}$/.test(R.code)?R.code:"other";if(T[B]=(T[B]??0)+1,typeof R.elapsed_ms==="number")L=Math.max(L,R.elapsed_ms)}catch{T.unparsed=(T.unparsed??0)+1}return X("vm_hands.srt_fallbacks",{count:W.length,codes:T,max_elapsed_ms:L}),{count:W.length,codes:T,max_elapsed_ms:L}}catch{return null}},f=!1,u=(Z,$,W)=>{if(f)throw Error("vm_hands_pool_held");return jq(Z,$,W)},d=(Z)=>($,W,T)=>Cq("/bin/sh",["-c",` echo $$ > ${ wq ( F ( Z , "cgroup.procs" ))} || exit 125 ; exec ...
5 `).find((O)=>O.startsWith("0::"))??"").slice(3,80)}catch{}return{pid:N,comm:v,cgroup:D}})}),new M("vm_hands_kill_unverified",` ${ B . length } process (es) the run started survived it `);j=null}if(g=!1,w)q.onSrtReset?.();if(R.length)throw X("vm_hands.kill_survivors",{pids:R.slice(0,16)}),new M("vm_hands_kill_unverified",` ${ R . length } payload - uid process (es) outside the payload cgroup `);z.clear();for(let B of $q())try{e(F(Q,H,B))}catch{}}finally{f=!1,W()}if(_)setTimeout(()=>{if(!G.size)_.arm()},100).unref?.()},async killProbe(){let Z=Date.now()+r;if(c(F(l,"cgroup.events"))){await p(l,Z,"probe");try{e(l ...
6 ` ). find (( G ) => G . startsWith ( "0::" ))?. slice ( 3 ) === Q } catch { return! 1 }} function b ( q , Q , J = "/proc" ){ try { let G = P ( F ( J , String (q), "cgroup" ), "utf8" ). split ( `
7 ` ). find (( z ) => z. startsWith ( "0::" ))?. slice ( 3 ) ?? "" ; return G === Q || G . startsWith ( `${ Q }/` )} catch { return! 1 }} var yq = 100 ; function Wq (){ try { return Math. floor ( Number ( P ( "/proc/uptime" , "utf8" ). split ( " " )[ 0 ]) * yq)} catch { return 0 }} async function p ( q , Q , J ){ try { m ( F (q, "cgroup.freeze" ), "1" )} catch ( X ){ throw new M ( "vm_hands_kill_unverified" , `${ J } cgroup.freeze: ${ X instanceof Error ? X . message : String ( X ) }` )} while ( ! / ^ populated 0 $ / m . test ( P ( F (q, "cgroup.events" ), "utf8" ))){ if (Date. now () > Q ) throw new M ( "vm_hands_kill_unverified" , `${ J } cgroup still populated (left frozen)` ); for ( let X of fq (q)){ if ( ! Rq ( X ,q)) continue ; try {process.ki ...
8 `).find((z)=>z.startsWith("0::"))??""}catch{return!1}let G=X.slice(3);return G===J||G.startsWith(` ${ J } / `)}function fq(q){let Q=[],J=(X)=>{try{for(let z of P(F(X,"cgroup.procs"),"utf8").split(`
9 `))if(/^ \d +$/.test(z))Q.push(Number(z))}catch{}let G=[];try{G=s(X,{withFileTypes:!0}).filter((z)=>z.isDirectory()).map((z)=>z.name)}catch{}for(let z of G)J(F(X,z))};return J(q),Q}function qq(q,Q="/proc"){let J=[];for(let X of s(Q)){if(!/^ \d +$/.test(X))continue;let G;try{G=P(F(Q,X,"stat"),"utf8")}catch{continue}let z=G.slice(G.lastIndexOf(")")+2).split(" "),K=Number(z[1]),C=Number(z[6]),j=Number(z[19]);if(!((C&2097152)!==0||K===2||X==="2")&&z[0]!=="Z"&&j>=q)J.push(Number(X))}return J}function Xq(q,Q="/proc"){let J=[];for(let X of s(Q)){if(!/^ \d +$/.test(X))continue;let G;try{G=P(F(Q,X,"status"), ...
10 ` ). find (( z ) => z. startsWith ( "0::" )) ?? "" } catch {t. delete (q); return } if ( G . slice ( 3 ) === J ){t. delete (q); return } setTimeout ( X , 1 )}; X ()} function nq ( q ){ let Q = {person:q.personCgroup ?? F ( "/sys/fs/cgroup" , E , H ),model:q.payloadCgroup ?? F (Mq, H )}, J = q.entry ?? process.argv[ 1 ] ?? "" , X = {}, G = ( K ) => K . startsWith ( "model:" ) && q.bindCgroup ? q. bindCgroup ( K . slice ( 6 )) : Q [ K . startsWith ( "model" ) ? "model" : "person" ], z = ( K ) => { let C = K . startsWith ( "model" ) ? "model" : "person" ,j =new Map,g = String (q.payloadUid),h = String (q.payloadGid), I = Bun. spawn ([ "/bin/sh" , "-c" , `echo $$ > ${ wq ( F ( G ( K ), "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-n2w3v0fs.js View on unpkg · L1 Long lines were clipped for display.