AI Security Review
scanned 6d ago · by lpm-firewall-aiNo confirmed malicious attack surface was found. Risky primitives are tied to an interactive CTF/competition CLI and its declared AI/exam features, while install-time code is cosmetic.
Decision evidence
public snapshot- package.json defines postinstall hook
- dist/commands/ctf4ai-demo.js is obfuscated
- dist/repl.js and dist/commands/shell.js expose user-invoked shell execution
- dist/lib/log-sync.js can upload session.log to configured ICOA server
- dist/postinstall.js only prints install progress/banner
- dist/lib/tool-man.js reverse-shell hit is a CTF tool cheatsheet entry for nc/socat, not socket wiring
- dist/lib/gemini.js sends chat to configured ICOA AI endpoint with competition context
- dist/repl.js shell execution requires interactive CLI input and has sandbox/risk logging paths
- dist/lib/config.js stores config under ~/.icoa with chmod 0600
- Network endpoints are ICOA competition/translation/audit APIs aligned with package purpose
Source & flagged code
11 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 · L1