registry  /  @rulemetric/cli  /  0.3.0

@rulemetric/cli@0.3.0

The RuleMetric CLI. Manages instructions, sessions, evals, and (as of the user-management release) organizations.

Static Scan Results

scanned 9d ago · by rust-scanner

Static analysis flagged 11 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
Manifest
NoLicense
scanned 215 file(s), 654 KB of source, external domains: rulemetric.com, www.apple.com

Source & flagged code

3 flagged · loading source
dist/commands/evals/run.jsView file
49} L50: this.log(`Running ${evals.length} eval(s) for "${target.name}" v${target.version}`); L51: this.log(`Config: ${flags["runs-per-eval"]} run(s) per eval, parallel=${flags.parallel}, iteration=${flags.iteration}`);
Low
Eval

Package source references a known benign dynamic code generation pattern.

dist/commands/evals/run.jsView on unpkg · L49
dist/chunk-L674RNKQ.jsView file
1// src/lib/hooks-config.ts L2: import { execSync } from "node:child_process"; L3: import { existsSync, mkdirSync, readFileSync, writeFileSync, unlinkSync } from "node:fs"; ... L94: try { L95: existing = JSON.parse(readFileSync(configPath, "utf-8")); L96: } catch { ... L120: function writeCursorUserHooks() { L121: return writeCursorHooksToDir(join(homedir(), ".cursor")); L122: } ... L186: } L187: settings["http.proxy"] = `http://localhost:${gatewayPort}`; L188: settings["http.proxyStrictSSL"] = existsSync(certPath);
High
Sandbox Evasion Gated Capability

Source gates dangerous network, credential, or execution behavior behind CI, host, platform, time, or geo fingerprint checks.

dist/chunk-L674RNKQ.jsView on unpkg · L1
1// src/lib/hooks-config.ts L2: import { execSync } from "node:child_process"; L3: import { existsSync, mkdirSync, readFileSync, writeFileSync, unlinkSync } from "node:fs"; ... L94: try { L95: existing = JSON.parse(readFileSync(configPath, "utf-8")); L96: } catch { ... L120: function writeCursorUserHooks() { L121: return writeCursorHooksToDir(join(homedir(), ".cursor")); L122: } ... L186: } L187: settings["http.proxy"] = `http://localhost:${gatewayPort}`; L188: settings["http.proxyStrictSSL"] = existsSync(certPath);
Medium
Install Persistence

Source writes installer persistence such as shell profile or service configuration.

dist/chunk-L674RNKQ.jsView on unpkg · L1

Findings

1 High4 Medium6 Low
HighSandbox Evasion Gated Capabilitydist/chunk-L674RNKQ.js
MediumNetwork
MediumEnvironment Vars
MediumInstall Persistencedist/chunk-L674RNKQ.js
MediumStructural Risk Force Deep Review
LowScripts Present
LowEvaldist/commands/evals/run.js
LowFilesystem
LowHigh Entropy Strings
LowUrl Strings
LowNo License