AI Security Review
scanned 2h ago · by lpm-firewall-aiUser-invoked CTF/exam modes can execute a user-entered shell command and send competition telemetry. The package contains opaque command modules, limiting auditability, but no malicious install-time behavior was confirmed.
Decision evidence
public snapshot- `dist/commands/ctf4ai-demo.js` is deliberately obfuscated and dynamically imports `execSync` to execute `!`-prefixed user input.
- `dist/lib/exam-sandbox.js` collects AI CLI detections and shell-audit records, including command input and configured account/exam identity.
- `dist/lib/exam-sandbox.js` POSTs audit and AI-binary reports to `https://practice.icoa2026.au/api/icoa/exam-audit` and `/api/icoa/exam-ai-binaries`.
- `dist/commands/ctf4vla.js` downloads server-provided base64 video to a temp file and opens it through a platform viewer.
- `package.json` postinstall only loads `dist/postinstall.js`; that file prints an installation progress banner.
- No postinstall file writes, network requests, child processes, credential reads, or AI-agent configuration mutations were found.
- The reported shell execution is an explicit interactive `!` command feature, not import-time execution.
- `dist/lib/tool-man.js` is static CTF tool documentation; its reverse-shell wording is instructional text, not socket/process implementation.
- Configuration persistence in `dist/lib/config.js` is package-owned under `~/.icoa/`.
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