So funktioniert der Denofy-Scanner
Was der Scanner prüft, wie aus einem Scan eine Note von A bis F wird, was er nicht kann – und 14 Demo-Pakete, die jede Note zeigen.
Aktualisiert am 17. Okt. 2026 2 Min. Lesezeit
Jede auf Denofy veröffentlichte Version durchläuft denselben automatischen Scanner, bevor sie installiert werden kann. Das Ergebnis steht öffentlich auf der Paketseite unter Prüfung. Es ist eine automatische Analyse, keine Garantie: Der Scanner findet bekannte Muster, er beweist nicht, dass ein Paket harmlos ist.
Was der Scanner prüft#
- Struktur – gibt es eine gültige Hauptdatei (
SKILL.md, Regel, Subagent …) mit der Frontmatter, die die Tools brauchen? Sind die Pfade sicher und die Größenlimits eingehalten? - Kompatibilität – lässt sich das Paket für jedes angegebene Tool installieren?
- Sicherheitsmuster – 25 Muster-Regeln über alle Dateien: Remote-Skripte, die in
eine Shell gepipt werden, Zugriff auf SSH-Schlüssel oder Zugangsdaten, dynamisches
eval, rohe IP-Adressen, unsichtbares Unicode, Prompt-Injection-Phrasen und mehr. Jeder Befund wird nach Kontext gewichtet: dasselbecurl … | shzählt in einem Skript mehr als im Fließtext und nur als Information, wenn der Text sagt „mach das nie“. - Lizenz – passt die angegebene Lizenz zur LICENSE-Datei und zum Repository?
- Änderungen – welche Risiken sind seit der Vorversion neu?
Der Scanner formuliert sein Ergebnis als „der Scanner hat n Muster gefunden“. Ein Muster ist ein Grund, den Code zu lesen, kein Urteil.
Von Befunden zur Note#
Jede Version startet mit 100 Punkten; Befunde, Lizenzprobleme und Strukturfehler kosten Punkte, und manche Regeln deckeln die Note. Sicherheits- und Qualitätsnote nutzen dieselbe Skala:
| Note | Punkte |
|---|---|
| A | ≥ 90 |
| B | ≥ 80 |
| C | ≥ 70 |
| D | ≥ 60 |
| F | unter 60 |
Ein kritischer Befund bedeutet immer F, ein hoher höchstens C, und ein vom Autor in
denofy.yml erlaubter Befund höchstens B. Alle Regeln und Punkte stehen auf
der Sicherheits-Methodik.
Der Scanner in Aktion: 14 Demo-Pakete#
Diese Pakete sind harmlose Testfälle (reservierte .invalid-Domains, IP-Adressen aus dem
Dokumentationsbereich, Skripte, die nie ausgeführt werden). Sie sind nicht gelistet – weder in
der Suche noch in Rankings – und nicht installierbar: Die Paketseite zeigt „Gesperrt: kritische
Funde“ statt eines Installationsbefehls, Download-API und CLI verweigern sie. Das gilt auch für
jedes Paket mit Note F oder einem kritischen Fund. Öffne eines, um den vollständigen Bericht zu
sehen:
| Demo-Paket | Note | Status |
|---|---|---|
| Clean packagescanner-demo-01-clean | 100/100 | Verifiziert |
| Link to an unknown domainscanner-demo-02-unknown-link | 99/100 | Verifiziert |
| No licensescanner-demo-03-no-license | 89/100 | Warnung |
| sudo in the instructionsscanner-demo-04-sudo-in-docs | 88/100 | Warnung |
| Finding allowed in denofy.ymlscanner-demo-05-allowed-exception | 95/100 | Warnung |
| Two medium findingsscanner-demo-06-two-medium | 68/100 | Warnung |
| Reference to the SSH folderscanner-demo-07-ssh-reference | 75/100 | Warnung |
| URL with a raw IP addressscanner-demo-08-raw-ip | 75/100 | Warnung |
| Dynamic eval in a scriptscanner-demo-09-eval | 74/100 | Warnung |
| Two high findingsscanner-demo-10-two-high | 49/100 | Warnung |
| Broken structurescanner-demo-11-broken-structure | 80/100 | Fehlgeschlagen |
| Remote script piped into a shellscanner-demo-12-pipe-to-shell | 38/100 | Fehlgeschlagen |
| Invisible Unicodescanner-demo-13-invisible-unicode | 75/100 | Warnung |
| Several problems at oncescanner-demo-14-mixed | 0/100 | Warnung |
Was der Scanner nicht kann#
- Er führt das Paket nicht aus und kann nicht beurteilen, ob Anweisungen sinnvoll sind.
- Neue Angriffsmuster findet er erst, wenn es eine Regel dafür gibt.
- Ein sauberer Scan einer Version sagt nichts über die nächste; prüfe bei Updates die Änderungen.
Nicht einverstanden?#
Jeder Fund hat einen Link Diesen Fund anfechten, jede Note einen Link Diese Note anfechten. Er öffnet das Kontaktformular mit Paket, Version und Regel-ID (bzw. Note) im Betreff. Ein Fund bedeutet, dass die Dateien einem Muster entsprechen, das mit einem Risiko in Verbindung gebracht wird – nicht, dass der Autor Schaden wollte. Moderatoren können eine Version manuell freigeben; Regelkorrekturen werden auf alle Pakete angewendet.