registry  /  @bbk1ng/agent-orch  /  0.4.0

@bbk1ng/agent-orch@0.4.0

Run local coding agents in a cross-audit loop on any git repo — author, cross-audit, test-gate, merge. Educational; not for production.

Static Scan Results

scanned 2h ago · by rust-scanner

Static analysis flagged 12 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
ChildProcessCryptoEnvironmentVarsFilesystemNetworkShell
Supply chain
HighEntropyStringsUrlStrings
ManifestNo manifest risk signals triggered.
scanned 54 file(s), 303 KB of source, external domains: api.github.com, cli.github.com, github.com, registry.npmjs.org

Source & flagged code

4 flagged · loading source
package.jsonView file
scripts.postinstall = node bin/orch.js completion install
High
Install Time Lifecycle Scripts

Package defines install-time lifecycle scripts.

package.jsonView on unpkg
scripts.postinstall = node bin/orch.js completion install
Medium
Ambiguous Install Lifecycle Script

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

package.jsonView on unpkg
src/resume.jsView file
24export function lookup(orchDir, task, author) { L25: try { return JSON.parse(readFileSync(file(orchDir, task, author), "utf8")); } L26: catch { return null; } // ENOENT / parse error → no record
Low
Weak Crypto

Package source references weak cryptographic algorithms.

src/resume.jsView on unpkg · L24
src/cli.jsView file
4import { createInterface } from "node:readline"; L5: import { execFileSync, spawn } from "node:child_process"; L6: import { load, configPath, parseRoleSpec, parseRoleSpecs } from "./config.js"; ... L157: autoResolveConflicts: false # deprecated alias: true = conflictResolution: auto L158: autoResolveConflictPaths: ["CHANGELOG.md", "docs/index.html", "package-lock.json", "package.json", "src/version.js", "version.js"] L159: ... L455: return new Promise((resolve) => { L456: const rl = createInterface({ input: process.stdin, output: process.stdout }); L457: rl.question(question, (ans) => { rl.close(); resolve(/^y(es)?$/i.test(String(ans).trim())); }); ... L632: notify, L633: log: (m) => process.stderr.write(`▶ ${m}\n`), L634: resolveIntegrationConflict,
Medium
Install Persistence

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

src/cli.jsView on unpkg · L4

Findings

1 High5 Medium6 Low
HighInstall Time Lifecycle Scriptspackage.json
MediumAmbiguous Install Lifecycle Scriptpackage.json
MediumNetwork
MediumEnvironment Vars
MediumInstall Persistencesrc/cli.js
MediumStructural Risk Force Deep Review
LowNon Install Lifecycle Scripts
LowScripts Present
LowWeak Cryptosrc/resume.js
LowFilesystem
LowHigh Entropy Strings
LowUrl Strings