Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
guardskill — # Schreibgeschützter Scanner für Git-Einstellungen Schreibgeschützter Scanner für Git-Einstellungen, die es einem Repository ermöglichen, Code in Coding-Agenten (Claude Code, Codex, Cursor, Copilot) auszuführen. Deckt die GitSpawn-Klasse und CVE-2026-45033 ab. Keine Abhängigkeiten, kein Netzwerk, keine Telemetrie. | Kitploit
Tools/GitHubGitHub/soemoescode/guardskill
Statische AnalyseSchwachstellenscannerCode-AnalyseKonfigurationsprüfungDevSecOpsLieferkettensicherheitKI-Sicherheit
GitHubsoemoescode/guardskill

guardskill

Repository anzeigen
vor 7h 2mNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →

Über

# Schreibgeschützter Scanner für Git-Einstellungen Schreibgeschützter Scanner für Git-Einstellungen, die es einem Repository ermöglichen, Code in Coding-Agenten (Claude Code, Codex, Cursor, Copilot) auszuführen. Deckt die GitSpawn-Klasse und CVE-2026-45033 ab. Keine Abhängigkeiten, kein Netzwerk, keine Telemetrie.

Teilen

GuardSkill

Ein Repository, das dafür sorgen kann, dass Ihr Coding-Agent Code ausführt, sobald er den Ordner öffnet. GuardSkill prüft das, bevor Sie es tun.

root@kitploit:~
npx guardskill .

Nur lesend. Keine Netzwerkaufrufe, keine Telemetrie, keine Konfiguration, kein Konto. Es liest die Git-Konfiguration und Hook-Skripte, gibt aus, was es gefunden hat, und beendet sich.


Das Problem

Coding-Agenten sammeln Kontext, indem sie gewöhnliche Git-Befehle ausführen — git status, git diff — sobald sie ein Projekt öffnen. Git liest seine Einstellungen aus der eigenen .git/config des Repositorys, und mehrere dieser Einstellungen benennen ein Programm, das Git ausführen soll. Setzen Sie einen Befehl in core.fsmonitor ein, und er wird mit Ihren Rechten, außerhalb jeder Sandbox, ausgeführt, bevor Sie irgendetwas eingegeben haben.

Zwei öffentliche Forschungsarbeiten machen das konkret:

  • GitSpawn — Manifold Security meldete acht Befunde in sieben Coding-Agenten (Claude Code, OpenAI Codex, Cursor, Goose, Grok Build, Qwen Code, Hermes Agent), mehrere davon zum Zeitpunkt der Veröffentlichung noch nicht gepatcht. Ihre Anmerkung zur Zustellung ist wichtig: Das Klonen einer feindseligen URL löst es nicht aus, weil bei einem Klon nicht übertragen wird. Das Repository muss — eine ZIP-Datei, ein freigegebenes Laufwerk, ein Synchronisationsordner, ein USB-Stick, ein Agent, der ein Archiv entpackt. (, )
.git/config
als Dateien mit bereits enthaltenem .git-Verzeichnis ankommen
Manifold Security
The Hacker News
  • CVE-2026-45033 — GitHub Copilot CLI, CVSS 8.5. Ein irgendwo im Projektbaum verstecktes Bare-Repository reicht aus: Git entdeckt es beim Durchlaufen der Verzeichnisse und wendet dessen Konfiguration an, einschließlich Schlüsseln, die Befehle ausführen. Behoben in @github/copilot 1.0.43 durch Erzwingen von safe.bareRepository=explicit. (GitHub Advisory)
  • Die in beiden Beiträgen empfohlene Abhilfe auf Nutzerseite ist dieselbe: Prüfen Sie die Git-Konfiguration, bevor Sie das Verzeichnis mit einem Agenten öffnen. Das ist von Hand über einen Baum hinweg mühsam. Dieses Tool erledigt es in einer Sekunde.

    Was es prüft

    GuardSkill durchläuft den Baum und findet jede Git-Konfiguration, die ein Agent aufgreifen könnte: das eigene .git des Projekts, jedes verschachtelte .git, das als Inhalt angekommen ist, jedes in einem Unterverzeichnis versteckte Bare-Repository, die .git-Datei, die ein Submodul oder verknüpftes Worktree hinterlässt, sowie die Konfigurationen, die Git neben der Hauptkonfiguration aufbewahrt — config.worktree und jede .git/modules/<name>/config. Jede davon wird untersucht.

    KlassePrüfungen
    Direkte Ausführungsschlüsselcore.fsmonitor, core.sshCommand, core.gitProxy, core.pager, core.editor, sequence.editor, diff.external, uploadpack.packObjectsHook
    Indirekte Ausführungsschlüsselfilter.*.clean / .smudge / .process, diff.*.textconv, merge.*.driver, mergetool.*.cmd, difftool.*.cmd, credential.helper
    Shell-Aliasejedes alias.*, dessen Wert mit ! beginnt
    Von anderswo geladene Konfigurationinclude.path, includeIf.*.path
    Hookscore.hooksPath-Überschreibungen, aktive (Nicht-.sample)-Skripte in .git/hooks sowie Hook-Skripte, die einen Download in eine Shell leiten oder vor der Ausführung Base64 dekodieren
    Transporteprotocol.allow und protocol.<name>.allow, die auf always zurückgesetzt wurden, sowie jede Remote- oder Submodul-URL, die den ext::-Transport verwendet, der den Rest der Zeile an eine Shell übergibt
    StrukturBare-Repositories innerhalb des Baums (der CVE-2026-45033-Vektor), verschachtelte .git-Verzeichnisse, die keine registrierten Submodule sind, .git-Dateien, die auf ein Git-Verzeichnis innerhalb des Baums zeigen

    Verwendung

    root@kitploit:~
    npx guardskill .                      # aktuelles Projekt scannen
    npx guardskill ~/code/some-project    # einen bestimmten Pfad scannen
    npx guardskill . --json               # maschinenlesbar
    npx guardskill . --out report.md      # zusätzlich einen Markdown-Bericht schreiben
    npx guardskill . --fail-on critical   # Build nur bei kritischen Befunden fehlschlagen lassen
    npx guardskill . --exclude test/fixtures   # ein Verzeichnis überspringen
    

    Exit-Codes: 0 nichts auf oder über der Schwelle, 1 Befunde auf oder über der Schwelle (Standard-Schwelle: high), 2 der Scan selbst ist fehlgeschlagen.

    In CI:

    root@kitploit:~
    - name: Check for git execution vectors
      run: npx guardskill . --fail-on high
    

    Beispielausgabe:

    root@kitploit:~
    GuardSkill - git execution-vector scan (read-only)
    Path: /Users/dev/projects/inherited-project
    Git configurations inspected: 2   Directories walked: 148
    
    [CRITICAL] vendor/payload.git - Bare git repository found inside the project tree
      what   Git discovers bare repositories while walking directories and applies their
             configuration, including keys that execute commands.
      found  bare repository at vendor/payload.git
      do     Do not open this project with a coding agent until you have inspected the directory.
    
    [CRITICAL] vendor/payload.git/config:3 - core.fsmonitor runs an external command
      found  core.fsmonitor = /tmp/.x/run.sh
    
    2 critical, 0 high, 0 medium, 0 low.
    Nothing was changed - this scan only reads.
    

    Falschpositive

    Ein Sicherheitstool, das ständig falschen Alarm schlägt, wird deinstalliert. Die Suite läuft gegen 29 realistische, saubere Repositories — git-lfs, git-crypt, husky, die .githooks-Konvention, registrierte Submodule, Credential-Helper, benutzerdefinierte Editoren und Pager, Signierungskonfiguration — und der Build schlägt fehl, wenn eines davon einen Befund über der informativen Stufe erzeugt. Sie läuft gegen 22 Repositories, die um ein bekanntes Angriffsmuster herum aufgebaut sind, und schlägt fehl, wenn eines übersehen oder von der falschen Regel erfasst wird.

    Darüber hinaus gibt es eine Evasion-Suite: Jeder Fall darin wurde gefunden, indem eine Version von GuardSkill angegriffen wurde, die ihre eigenen Tests bereits bestanden hatte, und sie läuft bei jedem Commit, damit eine zukünftige Änderung nicht stillschweigend einen davon wieder öffnet. Sie deckt denselben Schlüssel ab, der auf jede Art geschrieben ist, die Git noch akzeptiert (Groß-/Kleinschreibung, Anführungszeichen, Zeilenfortsetzungen, CRLF, ein Byte-Order-Mark, ein Schlüssel in der Abschnittszeile), Payloads, die nach vertrauten Tools benannt sind, Hook-Verzeichnisse namens .husky, um routinemäßig auszusehen, und Konfigurationen, die dort versteckt sind, wo die erste Version nie gesucht hat. Eine Robustheits-Suite füttert sie mit binären, leeren, abgeschnittenen und 200.000 Zeilen langen Konfigurationen, nicht lesbaren Verzeichnissen, Symlink-Schleifen und Zeigern, die aus dem Baum herausführen, und verlangt einen Bericht statt eines Stack-Traces.

    Zwei bewusste Designentscheidungen:

    • Hook-Manager werden erkannt, nicht markiert. husky, lefthook, pre-commit und ein .githooks-Verzeichnis werden als informativ (low) gemeldet und nicht als Risiko — aber GuardSkill liest die Skripte trotzdem und stuft auf critical hoch, wenn eines davon Code abruft oder dekodiert, bevor es ihn ausführt.
    • include / includeIf wird immer gemeldet. Ein Include kann später jeden Schlüssel auf dieser Liste einführen, was genau die Art ist, wie man einen verstecken würde. Eine gemeinsam genutzte ~/.gitconfig, die Sie selbst geschrieben haben, ist ein normaler Befund, den man verwerfen kann.
    • Ein Hook-Verzeichnis wird nach seinen Skripten beurteilt, nicht nach seinem Namen. .husky, das npm test ausführt, ist informativ, und der Befund listet auf, was ausgeführt wird. Dasselbe Verzeichnis, das etwas aus /tmp ausführt, ist es nicht.
    • Ein unvollständiger Durchlauf liest sich nie als sauberes Ergebnis. Wenn die Traversierung an ihrem Tiefen- oder Größenlimit stoppt, sagt der Bericht das, statt „keine Befunde“ zu drucken.

    Was es nicht tut

    Es ändert niemals etwas. Es führt nichts aus, was es findet. Es tätigt keine Netzwerkaufrufe und sammelt keine Telemetrie — führen Sie es offline aus, und es verhält sich identisch. Es scannt noch keine npm-Abhängigkeiten, .claude/settings.json, .vscode/tasks.json oder MCP-Serverdefinitionen; das ist die nächste Klasse, nicht diese. Und es ist ein Signal, kein Urteil: Lesen Sie den Befund, sehen Sie sich die Beweise an, entscheiden Sie selbst.

    Als Agent-Skill verwenden

    SKILL.md in diesem Repository ermöglicht es einem Coding-Agenten, den Scan selbst auszuführen, bevor er ein unbekanntes Projekt öffnet. Kopieren Sie das Verzeichnis in Ihren Skills-Ordner oder weisen Sie Ihren Agenten auf das Repository hin.

    Entwicklung

    root@kitploit:~
    npm test        # regeneriert die Fixtures und führt dann die Suite aus
    

    Fixtures werden von Code generiert (test/fixtures/generate.js), nicht von Hand committet, sodass die Erweiterung des sauberen oder verwundbaren Satzes nur wenige Zeilen umfasst. Neue Erkennungsregeln kommen in rules/git-exec-keys.json — eine Regel ohne Fixture auf beiden Seiten wird nicht gemergt.

    Roadmap

    Kontinuierliche Überwachung, Slack/Teams-Benachrichtigungen und Auto-Fix-Pull-Requests sind als kostenpflichtige Ebene geplant. Der Scanner selbst bleibt kostenlos und MIT-lizenziert. Erkennungsregeln bleiben im offenen Repository — ein Sicherheitstool, dessen Regeln Sie nicht lesen können, ist keins, dem Sie vertrauen sollten.

    Lizenz und Herkunft

    MIT. Entwickelt und gepflegt von Helios IT Solutions, einem niederländischen IT-Dienstleister. Sicherheitsprobleme: siehe SECURITY.md.

    Tool herunterladen