feat(security): add content scanning for SKILL.md files#6
Merged
Conversation
Implement security scanning layer for SKILL.md content with risk labels, sanitization, and UI warnings. Includes database schema updates, API integration, CLI warnings, and comprehensive documentation.
This was referenced Mar 5, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add content security scanning to detect prompt injection, invisible characters, and suspicious patterns in SKILL.md files at registration time.
content-scanner.ts): Pure function detecting DANGER patterns (invisible Unicode, ANSI escapes, prompt injection, JS protocol URLs, shell injection) and CAUTION patterns (HTML tags, URL shorteners, base64 blocks, env access)risk_labelcolumn to skills table (safe/caution/danger/unknown)Policy: warn + display, never block. Scanner is regex-based — catches low-hanging fruit, not APT-level attacks.
Phase 5 of the Identifier Redesign + Security plan.
Test plan
pnpm buildfor both web and CLI)