AI Security Review
scanned 6d ago · by lpm-firewall-aiNo confirmed malicious attack surface was established. Risky primitives are present, including obfuscated challenge modules, user-invoked shell execution, Docker/nc spawning, and ICOA API calls, but they match the advertised CTF CLI behavior and are not install-time or hidden exfiltration paths.
Decision evidence
public snapshot- dist/commands/ctf4ai-demo.js and dist/commands/ctf4vla.js are heavily obfuscated despite being CLI command modules.
- dist/commands/ctf4ai-demo.js supports user-entered ! commands via execSync during an active CTF4AI session.
- dist/lib/sandbox.js and dist/lib/interactive-spawn.js invoke docker/nc/ssh-style tools, but only from explicit CLI actions.
- package.json postinstall only prints an install progress/banner and catches errors.
- dist/index.js registers CLI commands; no import-time exfiltration or lifecycle attack observed.
- dist/lib/tool-man.js is a static CTF tool cheatsheet; reverse-shell-like strings are netcat documentation examples.
- dist/lib/gemini.js sends chat only to configured ICOA/CTFd server, defaulting to https://practice.icoa2026.au.
- dist/lib/config.js stores config under ~/.icoa with chmod 0600 and does not harvest unrelated files.
- Network and shell capabilities are package-aligned for a CTF competition CLI and user-triggered.
Source & flagged code
12 flagged · loading sourcePackage defines install-time lifecycle scripts.
package.jsonView on unpkgInstall-time lifecycle script is not statically allowlisted and needs review.
package.jsonView on unpkgA single source file combines environment access, network access, and code or shell execution; review context before blocking.
dist/repl.jsView on unpkg · L1Source combines command execution, command-output handling, and outbound requests; review data flow before blocking.
dist/repl.jsView on unpkg · L1Source contains an obfuscator-style string-array loader that reconstructs and executes hidden code.
dist/commands/ctf4ai-demo.jsView on unpkg · L1Package source references dynamic require/import behavior.
dist/commands/ctf4ai-demo.jsView on unpkg · L1Source writes installer persistence such as shell profile or service configuration.
dist/commands/env.jsView on unpkg · L1Source matches reverse-shell style process and socket wiring.
dist/lib/tool-man.jsView on unpkg · L1A package entrypoint or install-time lifecycle script reaches a source file with blocking dangerous behavior.
dist/lib/tool-man.jsView on unpkg · L1Source gates dangerous network, credential, or execution behavior behind CI, host, platform, time, or geo fingerprint checks.
dist/commands/demo2.jsView on unpkg · L1This package version adds a dangerous source file absent from the previous stored version.
dist/commands/ctf4vla.jsView on unpkg