T08 · Insecure Dependencies
- Location
SKILL.md:45- Finding
Unpinned and Unauditable Third-Party Verification Dependency
- Content
View full analysis
- Remediation
View remediation
``` 2. Provide and enforce a lockfile containing registry resolution and integrity metadata. Use `npm ci` in controlled deployments so dependency resolution cannot silently change. 3. Review and document the dependency's source, maintainers, transitive dependencies, lifecycle scripts, and cryptographic-verification behavior before deployment. 4. Disable npm lifecycle scripts during installation where compatible: ```bash npm ci --ignore-scripts ``` 5. Consider vendoring a minimal, auditable verifier or publishing its reviewed source alongside the Skill. 6. Pin the accepted signature algorithm to Ed25519/EdDSA and reject algorithm substitution, missing signatures, unknown key identifiers, malformed claims, stale verdicts, and untrusted issuers. 7. Restrict JWKS retrieval to an explicit HTTPS allowlist. For the documented use case, permit only the intended Fidacy endpoint or a configured set of trusted issuer endpoints. 8. Reject redirects to non-allowlisted hosts, non-HTTPS schemes, embedded credentials, unusual ports, loopback addresses, link-local addresses, private network ranges, and hostnames that resolve to such addresses. 9. Apply network timeouts, response-size limits, content-type validation, key-cache controls, and safe failure behavior. Verification or network errors must result in rejection rather than approval. 10. Document precisely whether the JWS or its claims leave the local process. If telemetry exists, make it opt-in, minimize collected data, and prohibit transmission of credentials or unrelated sensitive context. ]]>
