T09 · Insecure Skill Coding Practices
- Location
spec/input.schema.json:10- Finding
Unbounded External Vote Input Can Cause Resource Exhaustion
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill largely does what it claims, but it needs review because unbounded external vote data can be persisted and may exhaust storage or runtime resources in deployment automation.
Before installing in CI/CD automation, require bounded input sizes, maxItems/maxLength limits for external votes and nested strings, artifact-size checks, rate limits, and a dedicated non-privileged state directory. Also update or audit the dependency set. I found no evidence of intentional deception, exfiltration, credential theft, or destructive system behavior.
spec/input.schema.json:10Unbounded External Vote Input Can Cause Resource Exhaustion
fast-uri 3.1.0 is directly present as a transitive dependency of ajv and is associated with multiple high-severity URI parsing issues including host confusion and potential SSRF bypasses. Because this skill is a deployment-governance component that likely validates and interprets structured request data, flawed URI canonicalization in dependency code could undermine security decisions if attacker-controlled URLs, hosts, or schema formats are processed.
Dependency has known vulnerabilities (CVEs). Using packages with unpatched security flaws exposes the environment to known exploits.
Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.
"demo": "node --import tsx run.js --input ./examples/input.json"
},
"dependencies": {
"ajv": "^8.17.1",
"ajv-formats": "^3.0.1",
"consensus-guard-core": "^1.1.15",
"tsx": "^4.20.3"
Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.
},
"dependencies": {
"ajv": "^8.17.1",
"ajv-formats": "^3.0.1",
"consensus-guard-core": "^1.1.15",
"tsx": "^4.20.3"
},
Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.
"dependencies": {
"ajv": "^8.17.1",
"ajv-formats": "^3.0.1",
"consensus-guard-core": "^1.1.15",
"tsx": "^4.20.3"
},
"license": "MIT",
Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.
"ajv": "^8.17.1",
"ajv-formats": "^3.0.1",
"consensus-guard-core": "^1.1.15",
"tsx": "^4.20.3"
},
"license": "MIT",
"engines": {
This .mjs code performs a state-changing write via writeArtifact, which can affect persisted board data. The file contains no confirmation prompt, user-facing log/print, or inline comment/docstring disclosing that the handler will write a decision record.
No suspicious patterns detected.