AI & ML
Ich habe mein eigenes Repo angegriffen — mein PR-Bot hat den Angriff selbst blockiert
AgentGuard DEV Community
4 views
Coding-Agents sind die neue Benchmark für Dev-Teams: Claude Code, Cursor, Codex & Co. lesen dein Repo — und vertrauen ihm. Ich habe mich gefragt: Was passiert, wenn jemand eine Anweisung ins Repo schmuggelt, die der Agent bereitwillig ausführt?
Also habe ich AgentGuard gebaut — ein CI-Gate für Agent-Konfigurationen (AGENTS.md, Skills, MCP-Server, Hooks). Und ich habe mein eigenes Repo mit 12 gezielten Angriffen bestückt. Das ehrliche Protokoll:
1. Die Angriffe waren leicht zu verstecken
12 Payloads: eine versteckte Instruction-Override-Anweisung in der AGENTS.md, unsichtbare Zero-Width-Zeichen in einer Skill-Datei, ein typ-squatted MCP-Server-Host, ein Hook, der Netzwerk-Inhalt in eine Shell piped, ein committeter API-Key, ein Agent mit wildem Bash-Zugriff … Jeder davon wirkt in einem PR-Review völlig normal.
AgentGuard erkennt alle 12 — deterministisch, ohne LLM im Scan-Pfad — mit 47 Unit-Tests, die das für immer beweisen (12/12 erkannt, 0 False Positives im sauberen Kontroll-Repo).
2. Der Realitätscheck: 30 Repos, 5 mit kritischen Befunden
Ich habe 30 öffentliche Repos über die GitHub-Code-Suche nach AGENTS.md gescannt — darunter Google, Microsoft und Nextcloud. 5 mit kritischen Befunden. Der spannendste: ein unsichtbares Zeichen direkt vor einem Bash-Block in einer Agenten-Spec. Zufall oder Absicht? Genau dafür ist das Tool da. Jeder Befund wurde manuell byte-genau geprüft und ist öffentlich: Echtwelt-Befunde.
3. Doppeltes Dogfooding
Zwei Dinge passierten, die ich nicht besser hätte inszenieren können:
(a) GitHubs eigene Push-Protection blockierte einen meiner Pushes — ein Fake-Token in meiner eigenen Testdatei löste GH013: Push cannot contain secrets aus. Der größte Code-Host der Welt hat an meinem Repo demonstriert, was AgentGuard bei deinem fängt.
(b) Wochen später, nach dem v0.2.1-Bypass-Schutz, blockierte unser eigenes Gate unseren eigenen Pull-Request beim Selbsttest — die neue Regel ignoriert jede .agentguard-ignore, die in einem PR mitgeliefert wird, und unser Selbsttest-Workflow hatte sich auf das alte Verhalten verlassen. Roter Check. Merge verweigert. Funktioniert wie designed. Die ganze Geschichte steht im Changelog.
Gestern hat mein eigenes Sicherheits-Tool meinen eigenen Pull-Request geblockt. Das ist die beste Demo, die ein Sicherheitsprodukt haben kann.
4. Was in v0.2.1 kam
Fail-closed Gates: Ein Tippfehler in exit-on deaktiviert das Gate nicht mehr still — es bricht laut ab.
PR-Bypass-Schutz: Eine im PR mitgelieferte .agentguard-ignore wird ignoriert; Ausnahmen kommen nur aus dem vertrauenswürdigen Workflow.
Gehärteter Pro-Server: HMAC-Längenprüfung, 1-MB-Webhook-Body-Limit, Installation pro Repo, sicheres Tarball-Entpacken (Größenlimit, Symlink-/Traversal-Abweisung).
Neue Secret-Muster: Private Keys, GitHub-PATs, npm, Stripe, Slack-Webhooks. Details in SECURITY.md.
5. Der Bot blockierte einen Angriff live
Die GitHub-App kommentiert jeden PR mit Note und Befunden und setzt ein Check-Run-Gate. Der Beweis ist ein echter Pull-Request: Ein gepflanzter Angriff bekam Note E, einen roten Check und keinen Merge — live ansehen.
6. Die Landingpage zeigt jetzt den Moment
Die Landingpage hat ein Live-Scan-Terminal im Hero: Es tippt sich durch Dateien, findet die gepflanzte Anweisung und endet im grünen MERGE-GEBLOCKT-Moment — genau das Gefühl, das dieses Produkt verkauft: Dein Agent liest dein Repo. Dein Gate liest mit. Gemessene Qualität statt Deko: Lighthouse 100/100/100/100 auf Desktop und Mobile, LCP 179 ms, CLS ~0, kein Horizontal-Scroll bis 320 px.
Probier es aus
MIT-lizenziert, kostenlos für öffentliche Repos auf dem GitHub Marketplace. Schick dein Repo und bekomm einen kostenlosen Erst-Scan — oder stell die Anfrage direkt: Audit/Trial/RedTeam-Formular.
🔗 Code: https://github.com/agentguard-dev/agentguard
🛒 Marketplace: https://github.com/marketplace/actions/agentguard-security
📊 Verifizierte Befunde: https://github.com/agentguard-dev/agentguard/blob/main/docs/REAL-WORLD-FINDINGS.md
🔴 Live-Demo (Angriff geblockt): https://github.com/agentguard-dev/agentguard-demo/pull/2
🌐 Landingpage: https://agentguard-dev.github.io/agentguard/
Read original: https://dev.to/agentguard/ich-habe-mein-eigenes-repo-angegriffen-mein-pr-bot-hat-den-angriff-selbst-blockiert-3cfo
← Previous
A beginner's guide to the Qwen3.8-Flash-Next model by Qwen on Huggingface
Next →
A free way to practice UI and UX with real design problems
Related
A beginner's guide to the Qwen3.8-Flash-Next model by Qwen on Huggingface
AI & ML
2
DEV Community
Translating 300-Page Books with Claude: Taming Token Limits and Context Windows
AI & ML
3
DEV Community
Slop-Creep: When Building Gets Cheaper Than Thinking
AI & ML
2
Dev.to (EN Zone)
Which to Use: MCP, Function Calling, or Plugins
AI & ML
1
Dev.to (EN Zone)
Comments0
No comments yet — be the first