AI Security Review
scanned 2d ago · by lpm-firewall-aiLPM treats this as warn-only first-party agent extension lifecycle risk. No install-time attack behavior is present. Explicit `looop create` and `looop update` can install and later update platform-owned AI-agent instructions and skills in a game repository from a downloaded engine artifact.
Decision evidence
public snapshot- `looop create`/`looop update` reconcile an engine-provided agent surface into game repositories.
- `lib/agent-surface.mjs` writes `.claude/skills/**`, a managed `AGENTS.md` block, and `.looop/agent-surface.json`; it can remove tracked managed files.
- `lib/create.mjs` creates `.agents/skills` as a symlink to `.claude/skills`.
- `lib/engine.mjs` downloads an authenticated engine tarball and installs it before agent-surface reconciliation.
- `package.json` has no `preinstall`, `install`, or `postinstall` lifecycle hook.
- Agent-surface mutation is reached only through explicit `looop create` or `looop update`, not import or install.
- Surface reconciliation preserves altered/unowned files and records ownership hashes.
- Network use is package-aligned: login, engine retrieval, publishing, feedback, and a local API proxy to `play.looop.games`.
Source & flagged code
3 flagged · loading source`lib/agent-surface.mjs` writes `.claude/skills/**`, a managed `AGENTS.md` block, and `.looop/agent-surface.json`; it can remove tracked managed files.
lib/agent-surface.mjsView on unpkg`lib/create.mjs` creates `.agents/skills` as a symlink to `.claude/skills`.
lib/create.mjsView on unpkg`lib/engine.mjs` downloads an authenticated engine tarball and installs it before agent-surface reconciliation.
lib/engine.mjsView on unpkg