Primary finding
Security scanner uses PCRE tokens (\s, \b) with grep -E, causing widespread false negatives
- skills/skill-security-scan/scan.sh:196
- skills/skill-security-scan/scan.sh:81
- skills/skill-security-scan/scan.sh:97
- skills/skill-security-scan/scan.sh:106-109
- skills/skill-security-scan/scan.sh:113-118
- skills/skill-security-scan/scan.sh:136-141
- skills/skill-security-scan/scan.sh:144-145
grep -E implements POSIX ERE, which does not support \s (whitespace) or \b (word boundary). These tokens are used throughout HIGH/MEDIUM/LOW patterns, so many intended matches (e.g., "rm -rf /", "curl http://...") will not be detected, producing false negatives and potentially allowing dangerous skills to pass.
Recommendation
Either: (a) rewrite patterns to POSIX ERE using [[:space:]]+, explicit separators, and avoid \b; or (b) switch to grep -P (PCRE) if available, with a runtime check/fallback to POSIX patterns. Example fixes: replace '\s+' with '[[:space:]]+', replace '\b' with '(^|[^[:alnum:]_])' around tokens; audit all patterns accordingly.