# So bewerten wir Feststellungen

Wie Lockpick den Schweregrad festlegt, was eine bestätigte Feststellung zeigen muss, wie sicher sich jede Feststellung ist, was zuerst zu beheben ist und was eine erneute Prüfung belegen kann.

Jede Feststellung in einem Lockpick-Bericht hat einen Schweregrad, ein Urteil und eine Sicherheit. Sie beantworten unterschiedliche Fragen. Der Schweregrad sagt, wie schlimm es wäre. Das Urteil sagt, ob wir alles gesehen haben. Die Sicherheit sagt, wie stark der Nachweis ist. Pulse und Deep wenden dieselben Regeln an.

## Schweregrad

Der Schweregrad verwendet eine einzige Skala, dieselbe in der App, in der Dokumentation und in der API. Von am gravierendsten bis am wenigsten gravierend sind das **Kritisch**, **Hoch**, **Mittel**, **Niedrig** und **Info**. Pulse und Deep bewerten Feststellungen heute bis Hoch. Kritisch wird für Monitor-Hinweise verwendet. Ein Monitor-Hinweis ohne veröffentlichten Schweregrad wird als **Nicht bewertet** angezeigt.

Eine Feststellung wird nur dann **hoch** bewertet, wenn der Scan eines davon zeigt.

* **Daten, die jeder lesen kann.** Etwas hat auf eine Anfrage mit Daten geantwortet, ohne Anmeldung, ohne Cookie und ohne Zugangsdaten.
* **Ein Kunde erreicht einen anderen.** Daten oder Aktionen, die von einem Konto oder Mandanten in ein anderes gelangen.
* **Ein offengelegter Zugangsdaten- oder Sitzungswert.** Ein geheimer Schlüssel, eine Konfigurationsdatei mit Zugangsdaten oder eine Sitzung, die an jemanden übergeben wurde, der sich nie angemeldet hat.

Auch das Übernehmen einer Adresse auf deiner Domain zählt, wenn wir sehen können, dass die Adresse frei ist. Wer sie beansprucht, liefert Seiten unter deiner echten Domain aus und empfängt Cookies, die für die ganze Domain gesetzt sind.

Diese werden nie allein als hoch bewertet:

* Fehlende Sicherheits-Header, Cookie-Flags und Lücken in der Content Security Policy
* TLS-Einstellungen und Zertifikatswarnungen
* Angaben zu Softwareversion und Technologie, einschließlich einer Bibliotheksversion, die zu einem Hinweis passt
* Verzeichnislisten, Stack-Traces und Fehlerseiten
* Offene Weiterleitungen
* E-Mail-Authentifizierungseinstellungen wie DMARC und SPF

Wir melden sie trotzdem, mit Mittel oder darunter, weil es echte Lücken sind, die sich leicht schließen lassen. Wenn andere beobachtete Nachweise eine größere Geschichte vervollständigen, erzählt der Bericht diese Geschichte als Angriffskette. Die einzelne Feststellung wird nicht hochgestuft.

## Was eine bestätigte Feststellung zeigen muss

Jede Art von Feststellung hat einen Nachweis mit vier Teilen.

| Teil                   | Was er beantwortet                              |
| ---------------------- | ----------------------------------------------- |
| Quelle                 | Wo ein Angriff beginnt und wer ihn starten kann |
| Nächste Schutzmaßnahme | Der Schutz, der ihn hätte stoppen sollen        |
| Ziel                   | Was der Angreifer tatsächlich erreicht          |
| Auswirkung             | Was daraus folgt, dass er es erreicht           |

Bei einer offenen Supabase-Tabelle ist die Quelle der anonyme Schlüssel, den dein Client-Bundle absichtlich enthält. Die nächste Schutzmaßnahme ist Row-Level-Security. Das Ziel ist ein Lesezugriff ohne Anmeldung, der Zeilen zurückgab. Die Auswirkung ist, was die zurückgegebenen Spalten enthalten.

Eine Feststellung gilt nur dann als **bestätigt**, wenn der Scan jeden Teil beobachtet hat. Wurde ein Teil abgeleitet statt gesehen, wird die Feststellung als **Prüfung nötig** markiert, und es steht dabei, welcher Teil noch offen ist. Eine Art von Feststellung ohne definierten Nachweis wird nie bestätigt. Eine Feststellung ist nur **nicht zutreffend**, wenn wir einen positiven Beleg haben, dass ihre Aussage nicht gilt. Fehlende Belege reichen dafür nie. Pulse und Deep halten einen solchen Beleg heute nicht fest. Ihre Feststellungen sind deshalb entweder bestätigt oder brauchen eine Prüfung.

Der Nachweis, den du siehst, schreibt Lockpick für die jeweilige Art der Feststellung. Er zitiert nie ein Geheimnis, einen Antwortinhalt oder wie der Scan lief.

## Wie sicher wir sind

* **Hoch.** Eine Antwort deiner Website hat die Schwachstelle selbst gezeigt.
* **Mittel.** Ein öffentlicher Eintrag oder ein Muster in deinen Inhalten weist darauf hin.
* **Niedrig.** Es wird aus Headern, Versionen oder dem abgeleitet, was eine API über sich selbst aussagt.

Ein zweiter Durchgang, der dasselbe erneut zeigt, erhöht die Sicherheit um eine Stufe. Ein zweiter Durchgang, der es nicht zeigt, senkt sie um eine Stufe und hält die Feststellung in der Prüfung.

## Wie wir die Dringlichkeit bewerten

Jede Feststellung sagt auch, wann du sie beheben solltest, in vier Stufen. Der Schweregrad sagt, wie schlimm etwas wäre. Die Dringlichkeit sagt, ob du alles stehen und liegen lassen solltest.

* **Jetzt beheben.** Heute anhalten und beheben. Kundendaten, Konten oder Schlüssel sind erreichbar. Gemeint sind ein offengelegter Schlüssel, eine offene Datenbank oder API, Passwort-Hashes oder eine Angriffskette, die wir beobachtet haben.
* **Diese Woche beheben.** Jemand könnte es gegen dich verwenden. Jede andere hohe Feststellung und mittlere Feststellungen, die sich direkt oder mit einem Opfer nutzen lassen, etwa E-Mails, die sich fälschen lassen.
* **Bei Gelegenheit.** Es erleichtert einen Angriff. Allein ist es kein Angriff. Fehlende Sicherheits-Header, Cookie-Flags und andere Härtungslücken sowie niedrige Feststellungen.
* **Nichts zu tun.** Gut zu wissen. Es gibt nichts zu beheben.

Ein Skill, Plugin, Marketplace oder MCP-Server ist nicht dein Code, den du beheben musst. Du entscheidest, ob du ihn installierst, also nennt sein Check dieselben vier Stufen in Worten zur Installation.

* **Noch nicht installieren.** Das macht die Installation unsicher, eine kritische Feststellung, die wir bestätigt haben, oder eine in einem Hook. Warte auf eine Korrektur oder wähle etwas anderes.
* **Vor der Installation prüfen.** Lies diesen Teil oder frag den Autor danach, bevor du installierst.
* **Wissenswert.** Kein Grund zu warten. Es hilft zu wissen, was es tut.
* **Nichts zu tun.** Es gibt nichts zu prüfen.

Eine Feststellung ist nie dringender als das Urteil oben. Bei Nichts Riskantes gefunden heißt jede Feststellung höchstens Wissenswert. Bei Mit Vorsicht installieren heißt eine Feststellung höchstens Vor der Installation prüfen. Nur was ein Repository zu Nicht installieren macht, heißt Noch nicht installieren. Ein App-Repository behält die Wörter oben, von Jetzt beheben bis Nichts zu tun.

Daneben sagt eine Karte in einem Wort, wie sicher wir sind. **Bestätigt** heißt, wir haben alles gesehen oder es beim zweiten Lesen erneut gesehen. **Wahrscheinlich** heißt, wir haben es einmal gesehen, oder ein Teil ist noch offen. **Möglich** heißt, es deutet auf ein Problem hin, das wir nicht bestätigen konnten.

Eine Gruppe von Feststellungen ist so dringend wie ihr dringendstes Mitglied. Das Abzeichen oben im Bericht ist seine dringendste Karte, also steht dort Jetzt beheben nur, wenn eine Karte es sagt. Der Schnellcheck, Skill Check, E-Mails, die CLI und die MCP-Tools verwenden dieselben Wörter. Die Dringlichkeit ändert nie die Note oder die Reihenfolge der Liste.

## Was du zuerst beheben solltest

Der Bericht listet die Punkte danach auf, wie direkt jemand sie nutzen könnte, nicht nach dem Schweregrad.

1. Feststellungen, die jemand allein nutzen kann, bestätigte zuerst
2. Feststellungen, die ein Opfer oder einen zweiten Schritt brauchen, etwa E-Mails, die gefälscht werden können
3. Härtungslücken, die dem Angreifer die Arbeit erleichtern

Innerhalb jeder Gruppe kommen bestätigte Feststellungen vor solchen, die geprüft werden müssen. Stärkere Nachweise kommen vor schwächeren, und erst danach kommt der höhere Schweregrad.

## Was eine erneute Prüfung belegt

**Erneut prüfen** vergleicht einen neuen Scan mit dem früheren. **Diesen Eintrag erneut einlesen** vergleicht eine frische Lesung deiner öffentlichen DNS-Einträge mit der früheren Feststellung. Jede frühere Feststellung endet in einem von drei Zuständen.

* **Behoben.** Die Ressource oder der Eintrag hinter der Feststellung wurde erneut gelesen, und die Feststellung war nicht mehr da.
* **Noch offen.** Dieselbe Feststellung wurde erneut erkannt.
* **Nicht eindeutig.** Die neue Lesung konnte das, worauf die Feststellung beruht, nicht lesen, oder die beiden Scans sind nicht vergleichbar.

Eine Feststellung wird nie als behoben markiert, weil ein Ticket geschlossen oder eine Aufgabe abgehakt wurde. Ein offengelegter Schlüssel wird nicht widerrufen, nur weil du ihn von deiner Website entfernst. Widerrufe ihn deshalb auch beim Anbieter.