AI Security Review
scanned 2h ago · by lpm-firewall-aiLPM treats this as warn-only first-party agent extension lifecycle risk. An explicit CLI skill-install flow can add a PR workflow that runs an AI coding agent and publishes a visual recap. The workflow is not installed at npm install time and requires user opt-in or an explicit flag.
Decision evidence
public snapshot- `dist/cli/skills.js` can, after an interactive opt-in or `--with-github-action`, write `.github/workflows/pr-visual-recap.yml`.
- `dist/cli/recap.js` publishes recap content with a bearer token to the configured Plans action endpoint.
- The generated workflow invokes coding agents and can use configured provider/GitHub secrets.
- `package.json` declares only `prepublishOnly`; there is no `preinstall`, `install`, `postinstall`, or `prepare` hook.
- `bin/agent-native.js` only loads the bundled CLI or explicitly spawns a local `tsx` fallback.
- `dist/cli/skills.js` presents the workflow as optional, defaults the confirmation to false, and avoids prompting in CI/noninteractive mode.
- `dist/cli/recap.js` writes the workflow only from explicit CLI setup/install flows and refuses differing existing files unless `--force` is supplied.
- The scanner's `eval` hit in `dist/server/prompts/framework-core.js` is instructional text prohibiting `eval()`, not evaluation code.
Source & flagged code
31 flagged · loading sourcePackage contains a possible secret pattern.
dist/server/onboarding-html.jsView on unpkg · L69Hardcoded password in dist/server/onboarding-html.js
dist/server/onboarding-html.jsView on unpkg · L329Hardcoded password in dist/server/onboarding-html.js
dist/server/onboarding-html.jsView on unpkg · L415Hardcoded password in dist/server/onboarding-html.js
dist/server/onboarding-html.jsView on unpkg · L501Hardcoded password in dist/server/onboarding-html.js
dist/server/onboarding-html.jsView on unpkg · L931Package source references child process execution.
bin/agent-native.jsView on unpkg · L2Package source references dynamic require/import behavior.
bin/agent-native.jsView on unpkg · L34Package source references dynamic code evaluation.
dist/server/prompts/framework-core.jsView on unpkg · L35Package source references weak cryptographic algorithms.
corpus/core/src/cli/migrate.tsView on unpkg · L16A single source file combines environment access, network access, and code or shell execution; review context before blocking.
dist/terminal/pty-server.jsView on unpkg · L84Source appears to send environment or credential material to an external endpoint.
dist/cli/pr-visual-recap-workflow.jsView on unpkg · L1A package entrypoint or install-time lifecycle script reaches a source file with blocking dangerous behavior.
dist/cli/pr-visual-recap-workflow.jsView on unpkg · L1Source reaches cloud instance metadata or link-local credential endpoints.
dist/server/design-token-utils.jsView on unpkg · L3Source spawns a local helper that also contains network and dynamic execution context; review data flow before blocking.
dist/cli/index.jsView on unpkg · L1Hardcoded password in corpus/core/src/server/onboarding-html.ts
corpus/core/src/server/onboarding-html.tsView on unpkg · L92Hardcoded password in corpus/core/src/server/onboarding-html.ts
corpus/core/src/server/onboarding-html.tsView on unpkg · L366Hardcoded password in corpus/core/src/server/onboarding-html.ts
corpus/core/src/server/onboarding-html.tsView on unpkg · L463Hardcoded password in corpus/core/src/server/onboarding-html.ts
corpus/core/src/server/onboarding-html.tsView on unpkg · L561Hardcoded password in corpus/core/src/server/onboarding-html.ts
corpus/core/src/server/onboarding-html.tsView on unpkg · L1036Hardcoded password in corpus/templates/clips/app/i18n/fr-FR.ts
corpus/templates/clips/app/i18n/fr-FR.tsView on unpkg · L1407Hardcoded password in corpus/templates/clips/app/i18n/ar-SA.ts
corpus/templates/clips/app/i18n/ar-SA.tsView on unpkg · L1383Hardcoded password in corpus/templates/clips/app/i18n/de-DE.ts
corpus/templates/clips/app/i18n/de-DE.tsView on unpkg · L1412Hardcoded password in corpus/templates/clips/app/i18n/en-US.ts
corpus/templates/clips/app/i18n/en-US.tsView on unpkg · L1373Hardcoded password in corpus/templates/clips/app/i18n/es-ES.ts
corpus/templates/clips/app/i18n/es-ES.tsView on unpkg · L1405Hardcoded password in corpus/templates/plan/app/i18n/fr-FR.ts
corpus/templates/plan/app/i18n/fr-FR.tsView on unpkg · L472Hardcoded password in corpus/templates/plan/app/i18n/ar-SA.ts
corpus/templates/plan/app/i18n/ar-SA.tsView on unpkg · L649Hardcoded password in corpus/templates/plan/app/i18n/de-DE.ts
corpus/templates/plan/app/i18n/de-DE.tsView on unpkg · L661Hardcoded password in corpus/templates/plan/app/i18n/en-US.ts
corpus/templates/plan/app/i18n/en-US.tsView on unpkg · L639Hardcoded password in corpus/templates/plan/app/i18n/es-ES.ts
corpus/templates/plan/app/i18n/es-ES.tsView on unpkg · L470Hardcoded password in corpus/templates/analytics/server/lib/demo-source.ts
corpus/templates/analytics/server/lib/demo-source.tsView on unpkg · L28