Skip to content

feat(skills): malicious skill trust tier enforcement (#1853)#1878

Merged
bug-ops merged 7 commits intomainfrom
security-malicious-skill-trust
Mar 15, 2026
Merged

feat(skills): malicious skill trust tier enforcement (#1853)#1878
bug-ops merged 7 commits intomainfrom
security-malicious-skill-trust

Conversation

@bug-ops
Copy link
Copy Markdown
Owner

@bug-ops bug-ops commented Mar 15, 2026

Summary

Extends the skill trust enforcement subsystem based on findings from arXiv 2602.06547 (empirical study: 157 confirmed malicious SKILL.md files, 26.1% community skill vulnerability prevalence).

  • Fix QUARANTINE_DENIED tool IDs: replace dead "file_write" with actual executor IDs (write, edit, delete_path, move_path, copy_path, create_directory) and add memory_save, fetch
  • Fix execute_tool_call_confirmed incorrectly delegating to the unconfirmed path
  • Add zeph-tools::patterns module: relocate RAW_INJECTION_PATTERNS + strip_format_chars from zeph-mcp for shared access
  • Add SkillContentScanner (zeph-skills::scanner): scans skill body at load time using injection patterns, emits WARN with match count; documented as advisory-only
  • Add scan_on_load = true config flag to TrustConfig
  • Integrate scanner in bootstrap for skills below Trusted tier
  • Add --scan-skills-on-load CLI flag, /skill scan TUI command, --init wizard step, --migrate-config step

Test plan

  • cargo +nightly fmt --check passes
  • cargo clippy --workspace --features full -- -D warnings passes (0 warnings)
  • cargo nextest run --config-file .github/nextest.toml --workspace --features full --lib --bins passes (5868 tests)
  • Verify QUARANTINE_DENIED blocks bash, write, edit, delete_path, move_path, copy_path, create_directory, memory_save, web_scrape, fetch for Quarantined skills
  • Verify SkillContentScanner emits WARN on injection pattern match
  • Verify scan_on_load = false disables scanner

Follow-up

Extend TrustLevel enforcement in response to empirical study findings
(arXiv 2602.06547): 157 confirmed malicious SKILL.md files, 26.1%
vulnerability prevalence in community skills.

Changes:
- Fix QUARANTINE_DENIED tool IDs: replace dead "file_write" with actual
  FileExecutor IDs (write, edit, delete_path, move_path, copy_path,
  create_directory) and add memory_save and fetch
- Fix execute_tool_call_confirmed delegating to unconfirmed path
- Add zeph-tools::patterns module: relocate RAW_INJECTION_PATTERNS and
  strip_format_chars from zeph-mcp for shared access
- Add SkillContentScanner in zeph-skills::scanner: scans skill body at
  load time using injection patterns, emits WARN with match count;
  documented as advisory-only (not a security boundary)
- Add scan_on_load config flag (default: true) to TrustConfig
- Integrate scanner in bootstrap: called for skills below Trusted tier
- Add --scan-skills-on-load CLI flag
- Add /skill scan TUI command
- Update --init wizard with scan_on_load step
- Add --migrate-config step for scan_on_load

Follow-up: #1876 (MCP tool namespace bypass in QUARANTINE_DENIED)
@github-actions github-actions bot added documentation Improvements or additions to documentation skills zeph-skills crate rust Rust code changes core zeph-core crate dependencies Dependency updates config Configuration file changes enhancement New feature or request size/XL Extra large PR (500+ lines) labels Mar 15, 2026
@bug-ops bug-ops enabled auto-merge (squash) March 15, 2026 20:32
@bug-ops bug-ops merged commit b47fb5e into main Mar 15, 2026
20 checks passed
@bug-ops bug-ops deleted the security-malicious-skill-trust branch March 15, 2026 21:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

config Configuration file changes core zeph-core crate dependencies Dependency updates documentation Improvements or additions to documentation enhancement New feature or request rust Rust code changes size/XL Extra large PR (500+ lines) skills zeph-skills crate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

security: malicious skill trust tier enforcement (community skill security empirical study)

1 participant