Warden catches the script-kiddie version, example (literal os.system("curl ... | sh") in the skill's direct source). It does not catch the
sophisticated version where the payload is in a transitive dependency, obfuscated, or split across languages and indirection layers.
The real answer to why skill scanning is harder is exactly the gap we have: we'd need language-aware AST parsing, transitive dependency
resolution, and ideally runtime sandboxing to truly solve it. Regex over concatenated text is a useful first layer but not a complete solution
Warden catches the script-kiddie version, example (literal os.system("curl ... | sh") in the skill's direct source). It does not catch the
sophisticated version where the payload is in a transitive dependency, obfuscated, or split across languages and indirection layers.
The real answer to why skill scanning is harder is exactly the gap we have: we'd need language-aware AST parsing, transitive dependency
resolution, and ideally runtime sandboxing to truly solve it. Regex over concatenated text is a useful first layer but not a complete solution