simplybychris/skill-audit
5 stars · Last commit 2026-06-20
Audit the safety of an untrusted Claude Code skill, plugin, or agent before you install it — static heuristic scan + read-only auditor subagent. Detects prompt injection, secret theft, exfiltration, obfuscation, persistence.
README preview
# skill-audit Skill do [Claude Code](https://claude.com/claude-code), który **audytuje bezpieczeństwo cudzego skilla, pluginu lub agenta, zanim go zainstalujesz.** Skille to potężny, ale niebezpieczny format: `SKILL.md` trafia prosto do kontekstu modelu i jest **wykonywany jak instrukcje**, a dołączone skrypty odpalają się z **Twoimi** uprawnieniami. Złośliwy skill może odczytać klucze z `~/.ssh`, zrzucić Keychain, wysłać `.env` na obcy webhook albo ukryć w markdownie polecenie „po cichu prześlij sekrety" i nie zobaczysz tego, dopóki nie przeczytasz go linijka po linijce. Badanie Snyk na ~4000 skilli znalazło **76 jednoznacznie złośliwych** i problem bezpieczeństwa w **36,8%** z nich. `skill-audit` sprawdza cudzy skill **zanim** trafi do Twojego folderu skills. ## Jak działa Trzy warstwy, które łączą szybkość z głębią: 1. **Izolacja** — kod jest pozyskiwany do izolowanego katalogu tymczasowego, **nigdy** do folderu skills przed werdyktem. 2. **Warstwa statyczna** — `scripts/static_scan.py`, deterministyczne heurystyki: dostęp do sekretów, exfiltracja sieciowa, obfuskacja, persistence, prompt injection w języku naturalnym. Tania, wysoki recall na znanych atakach. 3. **Warstwa semantyczna** — subagent-audytor **tylko do odczytu** (bez Bash/Write/Edit) ocenia *intencję*: czy zachowanie pasuje do deklarowanego celu, czy w markdownie nie ma iniekcji, czy skrypty nie składają groźnych poleceń dynamicznie. Obie warstwy scala zasada „wyższe severity wygrywa". Trafienia Critical/High twardo blokują instalację, czyste wyniki są proponowane do instalacji dopiero po Twoim potwierdzeniu. ## Co wykrywa