T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:24- Finding
Unpinned Remote Code and Dependency Retrieval with Local Execution
- Content
View full analysis
- Remediation
View remediation
test "$(git rev-parse HEAD)" = "" ``` 2. **Bundle auditable implementation source** - Include the scripts and source needed by the Skill in the published artifact. - Ensure the reviewed package corresponds exactly to the code executed after installation. 3. **Lock and verify npm dependencies** - Commit a reviewed `package-lock.json`. - Use `npm ci` instead of `npm install` to enforce the lockfile. - Review transitive dependencies and retain npm integrity hashes. - Use an approved registry and prevent dependency substitution. 4. **Restrict lifecycle-script execution** - Use `npm ci --ignore-scripts` where possible. - Explicitly review and separately invoke any lifecycle scripts that are genuinely required. - Perform installation and building in a sandbox with minimal filesystem, credential, and network access. 5. **Avoid unpinned `npx` execution** - Invoke a verified local binary from the locked dependency tree. - If package retrieval is unavoidable, specify an exact reviewed version and verify package provenance and integrity. - Configure `npx` so it fails rather than downloading an absent executable unexpectedly. 6. **Apply runtime least privilege** - Run the desktop service as a dedicated, non-administrative account where practical. - Do not expose unrelated environment variables or credentials to the installation process. - Restrict outbound connections to the explicitly selected AI provider. - Verify that ports `3847` and `9222` are bound only to l ...[truncated 352 chars]
