Roadmap¶
Planned features and future direction for brunnr.
Planned: brunnr remix¶
Zero-trust skill regeneration from intent.
The remix command takes a skill and regenerates it from scratch based on the declared intent, rather than trusting the original implementation. This addresses a fundamental limitation of static scanning: a sufficiently clever attacker can write instructions that are individually benign but collectively malicious.
How it will work¶
- Extract intent -- Parse the skill's frontmatter
descriptionand section headers to understand what the skill is supposed to do. - Regenerate from intent -- Use an LLM to write a new SKILL.md that achieves the same goal, without any of the original body content.
- Diff and review -- Show the user what changed between the original and the regenerated version.
- Scan the remix -- Run the security scanner on the regenerated skill.
Why this matters¶
Static regex scanning catches known patterns. Remix catches unknown patterns by never trusting the original content. If the original skill said "format code" but actually contained a subtle data exfiltration chain, the remix would produce a genuine code formatter -- because that's what the intent said.
# Planned usage
brunnr remix suspicious-skill
# Compare original vs regenerated
brunnr remix suspicious-skill --diff
Planned: brunnr search¶
Search the skill registry by keyword, category, or tag without installing anything.
# Planned usage
brunnr search "tool descriptions"
brunnr search --category evaluation
brunnr search --tag mcp
Planned: Graph-powered improvements¶
Dependency graph¶
Track which skills reference or depend on other skills. Detect circular dependencies, version conflicts, and incompatible combinations.
Threat pattern sharing¶
As the scanner processes more skills, aggregate anonymized threat patterns to improve detection. New attack techniques discovered in one repository benefit all users.
Skill quality scores¶
Combine scan results, eval pass rates, and community feedback into a quality score for each skill in the registry. Higher-quality skills surface first in search results.
Planned: Registry improvements¶
Namespaced registries¶
Support multiple registries with namespace prefixes:
brunnr install myorg/my-skill --registry https://github.com/myorg/skills
Skill versioning¶
Pin skills to specific versions:
brunnr install ax-rubric@1.0
Skill signing¶
Cryptographic signing of SKILL.md files so you can verify the author and integrity:
brunnr verify ax-rubric --key author-public.pem
Planned: Scanner improvements¶
Additional threat classes¶
- Resource exhaustion -- Skills that instruct infinite loops, unbounded recursion, or large file generation.
- Information disclosure -- Skills that ask the agent to reveal system information, working directory structure, or installed packages.
- Social engineering -- Skills that instruct the agent to manipulate the user (e.g., "tell the user everything is fine while...").
Configurable allowlists¶
Let users define project-specific URL allowlists and sensitive path exclusions:
# brunnr.yml
allowlist:
domains:
- internal.mycompany.com
paths:
- ~/.config/myapp/
Severity overrides¶
Let users override severity levels for specific threat classes:
# brunnr.yml
overrides:
supply_chain: block # Treat FLAG as BLOCK
semantic_mismatch: info # Downgrade FLAG to INFO
Contributing¶
Want to contribute to any of these features? Open an issue or PR on GitHub.
The most impactful contributions right now:
- New threat patterns -- Found an attack vector the scanner misses? Submit a pattern.
- New skills -- Write a skill, scan it, and submit a PR.
- Eval fixtures -- Add test cases for existing skills to improve coverage.