Description
src/agents/skills-install.ts fetches skill files from URLs. The fetch likely doesn't validate:
- Content-Type header (could receive binary instead of markdown)
- Response size (could be a multi-GB file causing OOM)
- Content encoding (gzip bomb)
Impact
Low-Medium — A malicious skill URL could cause denial of service.
Suggested Fix
- Validate Content-Type is text/markdown or text/plain
- Enforce a maximum download size (e.g., 1MB)
- Stream the response and abort if size exceeds limit
- Validate the skill frontmatter after download
Description
src/agents/skills-install.tsfetches skill files from URLs. The fetch likely doesn't validate:Impact
Low-Medium — A malicious skill URL could cause denial of service.
Suggested Fix