registry  /  @hasna/sandboxes  /  0.2.1

@hasna/sandboxes@0.2.1

Universal cloud sandbox manager for AI coding agents - supports e2b, Daytona, Modal, Kernel

Static Scan Results

scanned 3h ago · by rust-scanner

Static analysis flagged 14 finding(s) at 72.0% confidence. This version is warn-only unless an AI or security-team review confirms malicious behavior.

Static reason
One or more suspicious static signals were detected.

Decision evidence

public snapshot
Behavioral surface
Source
ChildProcessCryptoEnvironmentVarsEvalFilesystemNetworkShell
Supply chain
HighEntropyStringsUrlStrings
ManifestNo manifest risk signals triggered.
scanned 6 file(s), 1.42 MB of source, external domains: deb.nodesource.com, github.com, json-schema.org, raw.githubusercontent.com

Source & flagged code

6 flagged · loading source
package.jsonView file
scripts.postinstall = mkdir -p $HOME/.hasna/sandboxes 2>/dev/null || true
High
Install Time Lifecycle Scripts

Package defines install-time lifecycle scripts.

package.jsonView on unpkg
scripts.postinstall = mkdir -p $HOME/.hasna/sandboxes 2>/dev/null || true
Medium
Ambiguous Install Lifecycle Script

Install-time lifecycle script is not statically allowlisted and needs review.

package.jsonView on unpkg
dist/index.jsView file
206} L207: async exec(sandboxId, command, opts) { L208: const sandbox = await this.getInstance(sandboxId);
High
Child Process

Package source references child process execution.

dist/index.jsView on unpkg · L206
711const cmd = `mkdir -p ${this.shellEscape(dirPath)} && echo ${encoded} | base64 -d > ${this.shellEscape(path)}`; L712: const result = await this.exec(sandboxId, `sh -c ${this.shellEscape(cmd)}`); L713: const execResult = result;
High
Shell

Package source references shell execution.

dist/index.jsView on unpkg · L711
dist/server/index.jsView file
8358resolveSigningSecret: () => resolveSigningSecret, L8359: resolveCloudDatabaseUrl: () => resolveCloudDatabaseUrl, L8360: pingCloud: () => pingCloud, ... L9930: try { L9931: const raw = readFileSync(configPath, "utf-8"); L9932: return JSON.parse(raw); ... L23914: { name: "list_projects", description: "List all projects" }, L23915: { name: "describe_tools", description: "List all available tools" }, L23916: { name: "search_tools", description: "Search tools by keyword" },
High
Remote Agent Bridge

Source exposes local file and command tools to a remote model endpoint.

dist/server/index.jsView on unpkg · L8358
3998sourceCode = this.opts.code.process(sourceCode, sch); L3999: const makeValidate = new Function(`${names_1.default.self}`, `${names_1.default.scope}`, sourceCode); L4000: const validate = makeValidate(this, this.scope.get());
Low
Eval

Package source references a known benign dynamic code generation pattern.

dist/server/index.jsView on unpkg · L3998

Findings

4 High4 Medium6 Low
HighInstall Time Lifecycle Scriptspackage.json
HighChild Processdist/index.js
HighShelldist/index.js
HighRemote Agent Bridgedist/server/index.js
MediumAmbiguous Install Lifecycle Scriptpackage.json
MediumNetwork
MediumEnvironment Vars
MediumStructural Risk Force Deep Review
LowNon Install Lifecycle Scripts
LowScripts Present
LowEvaldist/server/index.js
LowFilesystem
LowHigh Entropy Strings
LowUrl Strings