Security Checks
FeatureDrop includes layered safeguards for source code and manifest content.
Recommended order
pnpm typecheck
pnpm security-check
npx featuredrop validate --pattern "features/**/*.md"
pnpm test
pnpm build
pnpm size-checkLayer 1: Static source audit
pnpm security-checkScans for risky patterns:
| Pattern | Risk |
|---|---|
eval(...) | Arbitrary code execution |
new Function(...) | Arbitrary code execution |
direct .innerHTML = ... | XSS vector |
non-allowlisted dangerouslySetInnerHTML | XSS vector |
Layer 2: Manifest safety
npx featuredrop validate --pattern "features/**/*.md"Checks include:
- URL safety for
url,image,cta.url - Duplicate IDs
- Dependency cycles
- Date ordering (
showNewUntilafterreleasedAt) - Unsafe metadata keys
⚠️
If you build custom headless renderers and use dangerouslySetInnerHTML, sanitize content explicitly.
Layer 3: GitHub security workflows
.github/workflows/ci.ymlrunspnpm security-check.github/workflows/codeql.ymlruns CodeQL scans
Report vulnerabilities via GitHub Security Advisories. See SECURITY.md (opens in a new tab).