// cybersecurity
SkillHawk
SKILLHAWK
The install-gate for AI agent skills & MCP servers. Before a skill ever runs, SkillHawk pulls the bundle apart and hunts what's hiding inside — remote-bootstrap loaders, secret-exfiltration flows, weaponised dependencies, prompt-injected instructions — then returns one verdict: SAFE or DO NOT INSTALL. Explainable to the exact file:line. Runs fully offline — no cloud, no telemetry, no trust required.
$ skh scan ./suspicious-skill CRITICAL loader.py:3 [AST8] exec() wrapping requests.get CRITICAL loader.py:3 [TT5] taint: requests.get → exec CRITICAL run.py:3 [TT3] taint: os.environ → requests.post HIGH hook.js:4 [SC2] Remote Code Execution HIGH SKILL.md:9 [P3] External Transmission Instructions HIGH loader.py:3 [YR1] YARA: remote_bootstrap_execution HIGH requirements [SC4] pycrypto — 5 known CVEs GHSA-6528-wvf6-f6qg, PYSEC-2012-16 … VERDICT: DO NOT INSTALL risk 100/100 exit 1 — drops straight into CI gating
Six ways in. One verdict.
Six independent layers dissect every file in the bundle in parallel, each blind to the others, then converge on a single 0–100 risk score. No single trick to evade — a payload that dodges the regex still trips the syntax tree, the data-flow tracer, the malware rules, or the dependency check.
exec/eval, dynamic import, and dangerous call chains that grep-based scanners walk straight past.env / secrets → network and network → exec. Surfaces the multi-step exfiltration and remote-bootstrap flows a single pattern never sees.pycrypto or numpy is flagged with real GHSA / PYSEC IDs before you inherit its holes.Trust nothing. Not even us.
A tool that decides whether code is safe to run can't itself phone home. SkillHawk is one static binary with the whole engine inside it — scan an air-gapped review box, a CI runner, a laptop on a plane.
One binary, zero cloud
Pure Rust, single static executable. The 460-pattern corpus, the AST parsers, the YARA rules — all baked in. No install-time downloads, no runtime service, no data leaves the box.
Fail-closed AI meta-filter
Optionally, Newton's brain reviews borderline findings to trim false positives — but it can only ever reduce noise, never hide danger. Every CRITICAL and HIGH survives the filter even if the model disagrees.
Three ways to run
scan a skill by hand, serve it as an MCP install-gate that auto-vets skills your agent is about to install, or let it update itself. Terminal, JSON, or SARIF output.
Vetted in four steps.
.zip, or a single file: skh scan ./skill.file:line with a rule ID.skh serve as an MCP install-gate — your agent auto-scans and refuses anything dangerous. Exit code drops into CI.