AI Security Review
scanned 2h ago · by lpm-firewall-aiUser-launched CTF modes load obfuscated modules that invoke Gemini, fetch package-aligned competition resources, and may spawn local tools/viewers. The install hook only prints a progress animation; no confirmed install-time attack surface exists.
Decision evidence
public snapshot- dist/commands/ctf4ai-demo.js is heavily obfuscated and dynamically imports child_process.
- dist/commands/ctf4vla.js is heavily obfuscated, fetches challenge content, writes it, and spawns a local viewer.
- dist/commands/ctf4ai-demo.js creates a Gemini chat session for an interactive CTF prompt-injection exercise.
- dist/lib/config.js persists CLI state under ~/.icoa.
- dist/index.js imports the obfuscated CTF modules at CLI startup.
- package.json postinstall only loads dist/postinstall.js.
- dist/postinstall.js only renders installation progress to stdout.
- No preinstall hook or observed lifecycle network, shell, file, or agent-config mutation.
- dist/lib/tool-man.js contains command-reference text; no socket or process implementation.
- No .ssh, .npmrc, AI-agent configuration, credential harvesting, or exfiltration path was found.
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; route for source-aware review.
dist/commands/ctf4vla.jsView on unpkg