Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
AgentsWorkStudio runtime bridge service for machine-level agent runtime integration
AI Security Review
scanned 26d ago · by lpm-firewall-ai
No confirmed malicious attack surface. Installation adjusts this package’s executable bit and performs the disclosed Playwright browser setup; runtime networking and tool management are package-aligned, configured capabilities.
Static reason
One or more suspicious static signals were detected.
Trigger
npm postinstall; later explicit CLI/service or authenticated runtime use
Impact
Browser download/system-dependency attempt at install; runtime actions require package use and configuration.
Mechanism
Playwright provisioning and configured runtime bridge operations
Rationale
The flagged primitives implement disclosed browser provisioning and a configured runtime-agent bridge. Source inspection found no concrete unconsented install-time AI-agent control-surface mutation or exfiltration chain.
1#!/usr/bin/env node
L2: import{existsSync as D,readFileSync as B}from"node:fs";import E from"node:os";import x from"node:path";import M from"cors";import I from"express";import{adapterRegistry as O}from"....
L3:
High
Child Process
Package source references child process execution.
1#!/usr/bin/env node
L2: import{existsSync as D,readFileSync as B}from"node:fs";import E from"node:os";import x from"node:path";import M from"cors";import I from"express";import{adapterRegistry as O}from"....
L3:
1import{Router as F}from"express";import I from"axios";import{spawn as N}from"node:child_process";import{createHash as $,timingSafeEqual as M}from"node:crypto";import{getBridgeVersi...
L2: [output truncated]`:r}function oe(r,t){return new Promise((e,s)=>{const n=N(r,t,{shell:!1,windowsHide:!0});let a="",i="";n.stdout.on("data",o=>{a+=o.toString("utf8")}),n.stderr.on(...
L3:
High
Command Output Exfiltration
Source combines command execution, command-output handling, and outbound requests; review data flow before blocking.
1Trigger-reachable command-output exfiltration chain: scripts.start -> dist/index.js -> dist/routes/instance.js
L1: import{Router as F}from"express";import I from"axios";import{spawn as N}from"node:child_process";import{createHash as $,timingSafeEqual as M}from"node:crypto";import{getBridgeVersi...
L2: [output truncated]`:r}function oe(r,t){return new Promise((e,s)=>{const n=N(r,t,{shell:!1,windowsHide:!0});let a="",i="";n.stdout.on("data",o=>{a+=o.toString("utf8")}),n.stderr.on(...
L3:
High
Trigger Reachable Command Output Exfiltration
A manifest entrypoint or package-local install chain reaches command-output exfiltration behavior.
1import{Router as F}from"express";import I from"axios";import{spawn as N}from"node:child_process";import{createHash as $,timingSafeEqual as M}from"node:crypto";import{getBridgeVersi...
L2: [output truncated]`:r}function oe(r,t){return new Promise((e,s)=>{const n=N(r,t,{shell:!1,windowsHide:!0});let a="",i="";n.stdout.on("data",o=>{a+=o.toString("utf8")}),n.stderr.on(...
L3:
1import{spawn as E}from"node:child_process";import{EventEmitter as x}from"node:events";import*as w from"node:fs";import*as T from"node:net";import*as O from"node:os";import*as h fro...
L2: `)):t}return this.sdkModule}async waitForServer(t,e,o,r){const i=Date.now()+o;for(;Date.now()<i;){try{if((await t.session.list({query:{directory:e}})).data!==void 0)return}catch{}a...
High
Same File Env Network Execution
A single source file combines environment access, network access, and code or shell execution; review context before blocking.
1import{Router as F}from"express";import I from"axios";import{spawn as N}from"node:child_process";import{createHash as $,timingSafeEqual as M}from"node:crypto";
1import{spawnSync as f}from"node:child_process";import{createInterface as X}from"node:readline/promises";import{existsSync as g,mkdirSync as T,readFileSync as Z,rmSync as ee,unlinkSync as F,writeFileSync as
1Trigger-reachable command-output exfiltration chain: scripts.start -> dist/index.js -> dist/routes/instance.js
L1: import{Router as F}from"express";import I from"axios";import{spawn as N}from"node:child_process";import{createHash as $,timingSafeEqual as M}from"node:crypto";import{getBridgeVersi...
L2: [output truncated]`:r}function oe(r,t){return new Promise((e,s)=>{const n=N(r,t,{shell:!1,windowsHide:!0});let a="",i="";n.stdout.on("data",o=>{a+=o.toString("utf8")}),n.stderr.on(...
L3:
High
Trigger Reachable Command Output Exfiltration
A manifest entrypoint or package-local install chain reaches command-output exfiltration behavior.
2`)):t}return this.sdkModule}async waitForServer(t,e,o,r){const i=Date.now()+o;for(;Date.now()<i;){try{if((await t.session.list({query:{directory:e}})).data!==void 0)return}catch{}await new Promise(s=>setTimeout(s,300))}throw new Error(`OpenCode server (port ${r}) did not start within ${o}ms`)}recordStartupOutput(t,e){const o=e.trim();o&&(t.startupOutput=[...t.startupOutput??[],o].slice(-8))}formatStartupExitMessage(t,e){const o=t.signal?`signal ${t.signal}`:`code ${t.code??"unknown"}`,r=(e??[]).join(`
High
Same File Env Network Execution
A single source file combines environment access, network access, and code or shell execution; review context before blocking.
3`).trim();return r?`OpenCode server exited during startup (${o}): ${r}`:`OpenCode server exited during startup (${o}). Please check whether opencode serve can run in this workspace.`}dispatchInitialPrompt(t,e){this.sendMessage(t,e).catch(o=>{const r=o instanceof Error?o.message:String(o);this.emitEvent({type:"error",sessionId:t,timestamp:new Date().toISOString(),data:{text:`OpenCode initial prompt failed: ${r}`}})})}startSseLoop(t,e){e.sseActive=!0;const o=new AbortController;e.sseAbortController=o,this.runSseLoop(t,e,o).catch(r=>{o.signal.aborted||console.error("[OpencodeSdkAdapter] SSE loop ...