AI Security Review
scanned 7d ago · by lpm-firewall-aiLPM treats this as warn-only first-party agent extension lifecycle risk. Install-time setup creates first-party chainlesschain skill packs in the user's desktop data directory. This is an agent extension lifecycle risk, but inspection did not confirm unconsented mutation of a foreign AI-agent surface or malicious payload behavior.
Decision evidence
public snapshot- package.json runs postinstall: node scripts/postinstall.mjs
- scripts/postinstall.mjs imports src/lib/skill-packs/generator.js during install
- src/lib/skill-packs/generator.js writes SKILL.md and handler.js under getElectronUserDataDir()/skills
- Generated handlers can later spawn chainlesschain commands with shell:true after command/arg validation
- Postinstall does not fetch remote code, harvest credentials, or mutate foreign agent config
- Generated skill packs are package-owned chainlesschain desktop skills, not a broad third-party AI-agent control surface
- src/lib/skill-packs/generator.js validates command domain and rejects shell metacharacters in generated direct/hybrid handlers
- src/runtime/agent-core.js shell execution is runtime agent functionality behind policy/approval paths, not install-time behavior
- src/commands/update.js self-update uses semver validation before npm install -g
- Network endpoints inspected are package-aligned or user-invoked providers/search/update APIs
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 unpkgPackage source references child process execution.
src/auth/npm-auth.jsView on unpkg · L6This package version adds a dangerous source file absent from the previous stored version; route for source-aware review.
src/runtime/agent-core.jsView on unpkgPackage source references a known benign dynamic code generation pattern.
src/lib/plugin-ecosystem.jsView on unpkg · L86Package source references dynamic require/import behavior.
scripts/postinstall.mjsView on unpkg · L6Package source references weak cryptographic algorithms.
src/harness/prompt-compressor.jsView on unpkg · L680A single source file combines environment access, network access, and code or shell execution; review context before blocking.
src/lib/mcp-oauth.jsView on unpkg · L30Source combines command execution, command-output handling, and outbound requests; review data flow before blocking.
src/lib/mcp-oauth.jsView on unpkg · L30Source gates dangerous network, credential, or execution behavior behind CI, host, platform, time, or geo fingerprint checks.
src/commands/init.jsView on unpkg · L58Package source invokes a package manager install command at runtime.
src/commands/update.jsView on unpkg · L2