Vor der Installation, nicht danach
Ein Codex Skill, der fremde Skills prüft, bevor du sie installierst oder verwendest. Automatischer Musterscan plus manuelle Kontext- und Berechtigungsprüfung — ohne den Prüfgegenstand auszuführen.
Der Codex Skill Auditor ist eine Sicherheits-Erstprüfung für neue, externe oder unbekannte Agent-Skills. Er verbindet einen standardmäßig schreibgeschützten Musterscan (read-only) über zehn Befundkategorien mit einer manuellen Prüfung von Herkunft, Inhalt, Berechtigungen und externen Datenquellen.
Geprüft wird auf Netzwerkzugriffe, Codeausführung, Verschleierung, Rechteausweitung, Prompt Injection, Persistenz, Secrets-Zugriff, Zeitbomben, Codex-Steuerdateien und externe Fremdinhalte. Gefährliche Kombinationen werden zeilennah automatisch gestoppt und zusätzlich innerhalb desselben Markdown-Abschnitts als hoher Prüfhinweis erkannt.
Das visuelle Skill-Inventar zeigt den Status aller gefundenen Skills auf einen Blick:
Der Skill steht unter MIT-Lizenz, benötigt außer Python 3 keine zusätzlichen Pakete und führt den geprüften Skill nicht aus. Ein grüner Scan bedeutet nur „keine offensichtlichen Befunde im geprüften Stand“ — niemals „sicher“.
Das Problem
Ein Skill ist eine Anweisung an deinen Agenten. Manche bringen zusätzlich Scripts mit. Beides kann feindlich sein.
Ein fremder Skill kann Codex zu unnötigen Datei-, Netzwerk- oder Konfigurationszugriffen anweisen. Auch eine Sandbox ersetzt nicht die Prüfung dessen, was innerhalb erlaubter Grenzen gelesen oder verändert werden soll. Der Auditor macht Risiken sichtbar, bevor der Skill installiert oder ausgeführt wird.
Oben der Normalfall. Unten der Punkt.
Zehn Befundkategorien. Codeblöcke, Sicherheitswarnungen und Negativbeispiele bleiben sichtbar, werden aber als Kontext statt automatisch als Angriff gewertet.
Ausgehende Verbindungen — und besonders die Kombination aus „liest ein Geheimnis" und „schickt es irgendwohin".
Alles, was zur Laufzeit fremden Code nachlädt oder auswertet.
Kodierte Nutzlast statt lesbarem Code. Ein legitimer Skill hat selten einen Grund dazu.
Paketinstallationen, Rechtevergabe und Eingriffe in die Shell-Umgebung.
Angriffe auf den Agenten statt auf das System: Rollenwechsel, gefälschte System-Tags, Umgehungsrhetorik gegen die Prüfung selbst.
Alles, was sich über die Session hinaus festsetzt oder deine Konfiguration umschreibt.
Zugriffe auf Orte, an denen bei dir Schlüssel liegen.
Logik, die am Prüftag harmlos ist und sich später anders verhält — datums- oder versionsabhängig.
Anweisungen, die Agentenregeln, Plugins, MCP-Server oder Hooks dauerhaft verändern sollen.
Web-, Social-Media- oder nutzergenerierte Inhalte können indirekte Prompt Injection enthalten.
Drei Schweregrade plus eine vierte Stufe, die nicht einzelne Muster bewertet, sondern deren Zusammenspiel.
Muster, die für sich genommen bereits einen Angriff darstellen. Nicht installieren, ohne die Fundstelle gelesen zu haben.
Muster mit hohem Missbrauchspotenzial, die in seltenen Fällen legitim sind. Manuelle Bewertung im Kontext erforderlich.
Auffälligkeiten, die einen Blick verdienen — oft harmlos, aber nicht wortlos durchwinken.
Zeilennahe gefährliche Kombinationen führen zum automatischen Stopp. Weiter auseinanderliegende Bestandteile im selben Markdown-Abschnitt erscheinen als High-Hinweis für die manuelle Prüfung. So werden Umgehungen sichtbar, ohne jede lange Dokumentation pauschal abzulehnen.
Der Scan ist der schnelle Teil. Die manuellen Phasen sind der Teil, den eine Regex nicht abdecken kann — und deshalb Pflicht.
Woher kommt der Skill, wer hat ihn veröffentlicht, wie alt ist das Repo, wer sonst nutzt ihn. Herkunft entscheidet, wie streng der Rest gelesen wird.
audit.py prüft das gesamte Verzeichnis in zehn Kategorien. Standardmäßig wird nichts gespeichert; JSON oder Reportdateien entstehen nur nach ausdrücklicher Wahl.
Der Prompt-Text selbst wird gelesen. Social Engineering hat keine Keywords, nach denen man greppen könnte — nur Formulierungen, die dem Agenten etwas anderes sagen als dir.
Braucht der Skill wirklich, was er anfasst? Ein Textformatierer mit Netzwerkzugriff ist kein Beweis für einen Angriff, aber eine berechtigte Frage.
🟢 / 🟡 / 🔴 mit Fundstellen. Eine strukturierte Erstbewertung als Entscheidungsgrundlage — die Entscheidung triffst du.
Ein Durchlauf von der Übergabe des Verzeichnisses bis zum Befund — gezeigt mit der Claude-Code-Edition. Das Prüfprinzip ist dasselbe, die Codex-Pfade und Regeln sind angepasst.
Das Video wird erst nach Klick von YouTube geladen. Vorher werden keine Daten an Google übertragen. Beim Start gelten die Datenschutzbestimmungen von Google.
Konsolenausgabe für den Menschen, audit-result.json für alles andere. Mehrere Verzeichnisse auf einmal ergeben eine Übersichtstabelle.
Beispielausgabe — Formatierung je nach Version
Der Scanner findet installierte Codex Skills und zeigt ihren Prüfstatus nicht nur als Rohdaten, sondern auf Wunsch als selbstenthaltenes HTML-Dashboard.
Maschinen prüfen Dateien. Menschen brauchen eine Übersicht, die sie in Sekunden verstehen.
Das Dashboard gruppiert Skills nach Status und zeigt Name, Kurzbeschreibung, Herkunft und Pfad. Frühere Reports werden über den Inhalts-Hash zugeordnet. Wurde ein Skill seit der Prüfung verändert, erscheint er orange als „veraltet“.
Die HTML-Datei lädt keine externen Schriften, Scripts oder CDNs. Sie wird nur geschrieben, wenn du selbst ein Ziel angibst.
python audit.py --inventory --inventory-html ./skill-inventar.htmlZwei reale Prüfungen haben die Erkennung verändert. Sie zeigen, warum weder ein roter noch ein grüner Scan allein genügt.
Der offizielle Skill security-best-practices enthielt viele Warnungen und Negativbeispiele. V1.0.0 kombinierte weit getrennte Begriffe und meldete fälschlich Rot.
Der über skills.sh gefundene Skill brand-voice las fremde Web- und Social-Media-Inhalte ein. Der erste Musterscan blieb grün; die manuelle Prüfung erkannte das Risiko indirekter Prompt Injection.
Rot heißt: stoppen und verstehen. Grün heißt: trotzdem nachdenken. V1.0.2 kombiniert deshalb zeilennahe Präzision, abschnittsweite Hinweise und die verpflichtende manuelle Gesamtbewertung.
Am einfachsten direkt mit Codex. Alternativ lädst du das Repository manuell herunter. Zusätzliche Python-Pakete sind nicht erforderlich.
1 — Direkt mit Codex installieren
$skill-installer Installiere den Skill aus https://github.com/ki-stuff/codex-skill-auditor2 — Oder manuell laden
git clone https://github.com/ki-stuff/codex-skill-auditor.gitDanach nach ~/.agents/skills/codex-skill-auditor/ kopieren. Unter Windows entspricht das C:\Users\DEIN-NAME\.agents\skills\codex-skill-auditor\. Die SKILL.md muss direkt in diesem Zielordner liegen.
3 — Mit Codex verwenden
$codex-skill-auditor Prüfe den Skill in C:\Pfad\zum\fremden-skill, bevor ich ihn installiere.Codex erkennt neue oder geänderte Skills normalerweise automatisch. Falls er nicht erscheint, starte Codex einmal neu.
4 — Scanner direkt starten
python ~/.agents/skills/codex-skill-auditor/scripts/audit.py ./neuer-skillOhne --output bleibt der Lauf read-only.
Kurze, belastbare Antworten zur Sicherheitsprüfung von Codex Skills.
Ja. Ein Codex Skill besteht mindestens aus einer SKILL.md und kann zusätzlich Scripts, Konfigurationen oder externe Abhängigkeiten enthalten. Problematisch können eingeschleuste Anweisungen, ausführbarer Code, unnötige Berechtigungen und fremde Datenquellen sein.
Prompt Injection ist ein Angriff auf den Agenten statt auf das Betriebssystem. Der Skill-Text enthält Anweisungen, die Codex bei Verwendung des Skills umsteuern können: etwa Aufforderungen wie „ignore previous instructions", Rollenzuweisungen oder gefälschte System-Tags. Dafür ist kein ausführbarer Code notwendig.
In fünf Ebenen: Herkunft und exakten Inhaltsstand klären, Musterscan ausführen, Treffer im Kontext lesen, Berechtigungen und externe Datenquellen prüfen und erst danach die manuelle Gesamtbewertung treffen.
Der Codex Skill Auditor automatisiert den Musterscan und führt durch die übrigen Ebenen.
Nein. Er ist eine pragmatische Erstprüfung. Er erkennt bekannte Muster, aber keine neuartigen Verschleierungstechniken und keine reinen Prosa-Angriffe ohne passende Keywords. Ein sauberer Scan bedeutet „keine offensichtlichen Auffälligkeiten", nicht „geprüft und sicher".
Der automatische Scanner benötigt Python 3 und lokalen Dateizugriff. Er ist für Codex in der Desktop-App, der CLI oder einer geeigneten Entwicklungsumgebung gedacht. Die manuellen Prüfschritte bleiben zusätzlich erforderlich.
Nichts. Der Skill-Auditor steht unter MIT-Lizenz auf GitHub und hat außer Python 3 keine Abhängigkeiten. Kein npm-Paket, kein Build-Schritt, keine Hooks.
Ein Sicherheitswerkzeug, das seine Grenzen verschweigt, ist selbst ein Risiko. Deshalb hier statt im Kleingedruckten.
Ein sauberer Scan ist kein Freibrief. Er ist der Anfang der Prüfung.