Skip to content

fix(skills): activate injection scanner and harden bundled skill trust pipeline (#3050)#3051

Merged
bug-ops merged 1 commit intomainfrom
3050-bundled-skill-trust-scanner
Apr 15, 2026
Merged

fix(skills): activate injection scanner and harden bundled skill trust pipeline (#3050)#3051
bug-ops merged 1 commit intomainfrom
3050-bundled-skill-trust-scanner

Conversation

@bug-ops
Copy link
Copy Markdown
Owner

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

Summary

Test plan

  • All 7998 existing tests pass (cargo nextest run --workspace --all-features --lib --bins)
  • cargo +nightly fmt --check passes
  • cargo clippy --workspace -- -D warnings passes
  • Run agent with cargo run --features full -- --config .local/config/testing.toml — all 5 bundled skills should load as trusted after startup migration
  • Verify os-automation SKILL.md on disk matches embedded content after startup (shell boundary instruction present)
  • Verify forged .bundled marker in hub dir does not elevate skill to Trusted (check warning log)

Closes #3045, #3046, #3047, #3048, #3049, #3050

…t pipeline (#3050)

Fix five defects in the bundled skill trust and injection scanner pipeline:

- bootstrap/mod.rs: chain .with_hub_dirs() before scan_loaded() so the
  injection scanner receives hub directory context on every startup (#3045)
- agent/mod.rs: replace fresh SkillRegistry construction in reload_skills()
  with registry.reload() to preserve hub_dirs across hot-reload ticks (#3046)
- runner.rs + agent/mod.rs: guard trust elevation with a compile-time
  bundled_skill_names() allowlist; skills with a forged .bundled marker that
  are not in the allowlist are classified as Hub and a warning is emitted
  (#3049)
- runner.rs, agent/mod.rs: fix misleading comment — migration promotes
  Quarantined/Verified to Trusted; only Blocked skills are skipped (#3047)
- os-automation/SKILL.md: bump version to 1.1 to trigger re-provisioning
  and restore the missing shell boundary instruction (#3048)

Closes #3045, #3046, #3047, #3048, #3049, #3050
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment