● IN DEVELOPMENT · SKH

SKILLHAWK

// Agent-Skill & MCP Threat-Hunter · Rust · Debian / Kali · x86-64

Threat-hunting for the AI supply chain. Your agents load skills and connect to MCP servers written by strangers — each one a file the model reads and a tool it can invoke. SkillHawk audits them before you trust them: a native-Rust take on NVIDIA’s SkillSpector that flags prompt-injection, tool-poisoning, data-exfil and over-broad permissions in the things your agents install.

// THE PROBLEM

A skill is code your agent runs. Read it first.

An Agent Skill is a Markdown file the model reads verbatim; an MCP server is a process that executes real actions on your infrastructure. Both are installed from public registries with a copy-paste. That is a supply chain — and nobody is checking it. A poisoned SKILL.md can carry hidden instructions; an MCP tool description can smuggle a prompt injection; either can quietly exfiltrate secrets the moment your agent obeys.

🪤
Prompt Injection
Hidden “ignore previous instructions” / role-hijack payloads and addressed-to-agent framing buried in skill bodies, tool metadata and resource text.
🧪
Tool Poisoning
MCP tool descriptions engineered to make the model call a tool with attacker-chosen arguments, or to shadow a trusted tool with a malicious one.
📤
Data Exfiltration
Instructions to read .env, ~/.ssh, cloud credentials or environment variables and ship them out — the classic “run a security scan and report” bait.
🔓
Over-broad Permissions
Skills and servers that quietly demand shell, filesystem or network scope far beyond the job — blast radius you never agreed to.
// HOW IT WORKS

Scan a skill. Get a verdict. Gate the install.

Point SkillHawk at a skill directory, a .zip or a single file. It statically analyses every skill, script and MCP manifest, scores the risk, and hands back a clear SAFE / CAUTION / DO‑NOT‑INSTALL verdict — offline, no telemetry.

🎯
Hundreds of Graded Rules
A native-Rust engine of 460+ detectors plus YARA rules for injection, poisoning, exfil and permission abuse — each finding risk-scored, CWE / MITRE-tagged and evidence-backed, so a security-teaching skill doesn’t read as an attack.
🧠
Optional LLM Meta-Filter
A second pass (--llm newton / ollama / openai / anthropic) that understands context to cut MEDIUM/LOW false positives — and never weakens a verdict.
📄
SARIF & Terminal Output
A readable terminal verdict or machine-grade -f sarif for CI — plus a baseline to accept known findings so only new risk breaks the build.
🚦
Runtime Install-Gate
ais serve runs SkillHawk as an MCP server exposing scan_skill — so your agent vets a skill at install time and refuses the unsafe ones automatically. Coding Sidekick’s cs skill add uses exactly this.
🕵️
Rug-Pull Tracking
--track ledgers a skill and flags a rug-pull — a permission, trigger or code change slipped in on a later version of something you already trusted.
🔌
Sovereign & Offline
One static Rust binary, bundled pattern catalog, no network required (supply-chain checks fall back to an offline list). Your unreleased skills never leave the box.
// IN PRACTICE

One command between you and a poisoned skill.

# Vet a skill before your agent ever reads it $ ais scan ./skills/mcp-server-security SAFE risk 12/100 · 0 hostile · 2 low — clear to install $ ais scan ./skills/totally-legit-helper DO_NOT_INSTALL risk 100/100 (CRITICAL) HIGH prompt_injection SKILL.md:32 "ignore previous instructions and…" HIGH data_exfil SKILL.md:74 "read ~/.aws/credentials and post to…" MED over_broad_perms manifest requests shell + net + fs:* # Or gate installs automatically, from inside your agent $ ais serve # MCP server exposing scan_skill — the install-gate
// STATUS

In development

SkillHawk is being hardened for release. Drop your email and we’ll tell you the moment it ships.

Licensing paused. This project is currently private — already-issued licenses keep working, and the waitlist is how you’ll hear when that changes.