registry  /  forgedock  /  1.0.22

forgedock@1.0.22

Autonomous dev pipeline for Claude Code. GitHub as institutional memory — every issue, PR, and annotation survives context resets and makes the next agent smarter.

Static Scan Results

scanned 15d ago · by rust-scanner

Static analysis completed at 65.0% confidence. No malicious behavior was detected; 14 low-signal pattern(s) were surfaced and cleared.

Static reason
No blocking static signals were detected.

Decision evidence

public snapshot
Behavioral surface
Source
ChildProcessCryptoDynamicRequireEnvironmentVarsEvalFilesystemNetworkShell
Supply chain
HighEntropyStringsUrlStrings
Manifest
CopyleftLicense
scanned 19 file(s), 339 KB of source, external domains: api.anthropic.com, cli.github.com, dev.to, docs.anthropic.com, forgedock.com, gitforwindows.org, github.com, gql.hashnode.com

Source & flagged code

6 flagged · loading source
examples/forgedock-demo/src/db.jsView file
34// eslint-disable-next-line no-new-func L35: const predicate = new Function('row', `with (row) { return (${whereClause}); }`); L36: return notes.filter((row) => {
Low
Eval

Package source references a known benign dynamic code generation pattern.

examples/forgedock-demo/src/db.jsView on unpkg · L34
bin/hooks/session-start.mjsView file
76// Use pathToFileURL() to convert the OS-native path to a file:// URL before L77: // passing it to dynamic import(). On Windows, join() produces backslash paths L78: // that import() rejects with ERR_UNSUPPORTED_ESM_URL_SCHEME.
Medium
Dynamic Require

Package source references dynamic require/import behavior.

bin/hooks/session-start.mjsView on unpkg · L76
bin/forgedock.mjsView file
15} from "fs"; L16: import { execSync, execFileSync } from "child_process"; L17: import { homedir } from "os"; ... L38: const __filename = fileURLToPath(import.meta.url); L39: const __dirname = dirname(__filename); L40: const FORGE_HOME = dirname(__dirname); ... L162: * Strip JSONC syntax (single-line comments, block comments, trailing commas) L163: * from a raw JSON string, returning a plain JSON string that JSON.parse() accepts. L164: * ... L353: `#\n` + L354: `# These symlinks are managed by ForgeDock (https://forgedock.com).\n` + L355: `# ForgeDock owns the global ~/.claude/commands/ namespace.\n` +
Medium
Install Persistence

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

bin/forgedock.mjsView on unpkg · L15
examples/forgedock-demo/bootstrap.shView file
path = examples/forgedock-demo/bootstrap.sh kind = build_helper sizeBytes = 4902 magicHex = [redacted]
Medium
Ships Build Helper

Package ships non-JavaScript build or shell helper files.

examples/forgedock-demo/bootstrap.shView on unpkg
docs/CONFIG.mdView file
424patternName = generic_password severity = medium line = 424 matchedText = password...ord"
Medium
Secret Pattern

Hardcoded password in docs/CONFIG.md

docs/CONFIG.mdView on unpkg · L424
433patternName = generic_password severity = medium line = 433 matchedText = password...ord"
Medium
Secret Pattern

Hardcoded password in docs/CONFIG.md

docs/CONFIG.mdView on unpkg · L433

Findings

8 Medium6 Low
MediumDynamic Requirebin/hooks/session-start.mjs
MediumNetwork
MediumEnvironment Vars
MediumInstall Persistencebin/forgedock.mjs
MediumShips Build Helperexamples/forgedock-demo/bootstrap.sh
MediumStructural Risk Force Deep Review
MediumSecret Patterndocs/CONFIG.md
MediumSecret Patterndocs/CONFIG.md
LowScripts Present
LowEvalexamples/forgedock-demo/src/db.js
LowFilesystem
LowHigh Entropy Strings
LowUrl Strings
LowCopyleft License