Anonyme Zahlen
fremforge veröffentlicht Zahlen dazu, wie seine Sicherheitsfunktionen in der Praxis wirken, etwa wie viele offene Abhängigkeitsbefunde keinen Aufrufpfad zum verwundbaren Code haben oder wie lange Behebungen dauern. Organisationen können wählen, anonyme Zahlen dazu beizutragen. Die Einstellung ist aus, sofern ein Owner der Organisation sie nicht einschaltet, und keine Organisation wird je namentlich genannt.
Bisher sind keine Zahlen veröffentlicht. Eine veröffentlichte Zahl muss auf mindestens fünf beitragenden Organisationen beruhen (siehe Wann eine Zahl veröffentlicht werden darf), und fünf gibt es noch nicht. Diese Seite beschreibt die Methode vorab, damit sie geprüft werden kann, bevor eine Zahl erscheint.
Ein- oder ausschalten
Die Einstellung liegt unter Sicherheit › Berichte › Behebungskennzahlen (/<org>/_admin/security/reports/remediation), in der Karte Anonyme Zahlen beitragen, die zeigt, ob sie eingeschaltet ist, seit wann und wie viele Tage gespeichert sind. Owner der Organisation können sie ändern.
- Ein: Ab dem nächsten Morgen (UTC) wird für die Organisation pro Tag eine Zeile mit Zahlen gespeichert.
- Aus: Die Erfassung endet, und jeder bereits gespeicherte Tag der Organisation wird sofort gelöscht.
Dieselbe Einstellung gibt es über die API und in Terraform:
GET /_app/api/v1/orgs/{org}/security/anonymous-counts policy:read
PUT /_app/api/v1/orgs/{org}/security/anonymous-counts policy:write {"enabled": true}GET gibt enabled, enabled_at, stored_days und min_orgs_to_publish zurück. PUT gibt zusätzlich previous, changed und deleted_rows zurück, die beim Ausschalten gelöschten Tage. Jede Änderung steht im Audit-Log als code-security.anonymous_counts.updated.
resource "fremforge_anonymous_counts" "this" {
org = "acme"
enabled = true
}Wird die Terraform-Ressource zerstört, bleibt die Einstellung, wie sie ist. Um keine Zahlen mehr beizutragen, setze enabled = false.
Was geteilt wird
Einmal am Tag, für den vorangegangenen vollständigen UTC-Tag:
| Zahl | Was sie ist |
|---|---|
| Offene Befunde | Wie viele Befunde offen sind, nach Typ (Abhängigkeiten, Images, SAST, Secrets, Lizenzen und die übrigen) und Schweregrad, zum Zeitpunkt der Erfassung. |
| Erreichbarkeit | Wie viele offene Abhängigkeitsbefunde auf Standard-Branches erreichbar sind, keinen Aufrufpfad haben oder unbekannt sind, wie auf der Seite Behebungskennzahlen. |
| Pull Requests für Sicherheitskorrekturen | Wie viele Pull Requests für Sicherheitskorrekturen an diesem Tag geöffnet und wie viele gemergt wurden. |
| Zeit bis zur Behebung | Für an diesem Tag behobene Befunde, pro Schweregrad: wie viele, wie lange sie offen waren, und ein Histogramm dieser Zeiten in festen Klassen (unter 1 Tag, 1–2, 2–4, 4–7, 7–14, 14–30, 30–60, 60–90, 90–180 Tage und länger). |
Nie geteilt: Namen von Repositorys, Paketen, Images, Advisories oder Regeln, Code, Dateipfade und alles über Personen. Die gespeicherte Zeile enthält die Zahlen und die interne ID deiner Organisation. Die ID dient nur dazu, deine Tage zu löschen, wenn du das ausschaltest oder deine Organisation gelöscht wird, und einen Tag zu ersetzen statt einen zweiten hinzuzufügen. Nichts Veröffentlichtes oder Geteiltes trägt sie, und die Werkzeuge der fremforge-Mitarbeitenden, die die Zahlen lesen, sehen keine Identität einer Organisation.
Die Zeit bis zur Behebung schließt Befunde aus, die durch automatisches Auflösen geschlossen wurden, das einen Befund per Richtlinie schließt statt ihn zu beheben, sowie Befunde, deren Öffnungszeitpunkt nicht bekannt ist, weil sie vor Beginn der Befundhistorie erfasst wurden.
Wann eine Zahl veröffentlicht werden darf
- Nur von Organisationen, die es eingeschaltet haben. fremforge misst seine eigenen Funktionen außerdem über alle Organisationen hinweg als Zahlen, um den Dienst zu betreiben. Diese internen Messungen werden nie veröffentlicht.
- Mindestens fünf Organisationen hinter jeder Zahl. Jede Zahl wird für sich geprüft: Eine Angabe zur Zeit bis zur Behebung kritischer Befunde braucht fünf Organisationen, die im Zeitraum einen kritischen Befund behoben haben, nicht bloß fünf Organisationen insgesamt. Eine Zahl aus weniger Organisationen wird gar nicht veröffentlicht, statt gerundet oder mit Vorbehalt gezeigt zu werden.
- Keine Organisation wird genannt, und nichts wird veröffentlicht, das es erlauben würde, eine herauszugreifen.
- Die eigenen Organisationen von fremforge werden getrennt gehalten. Sie werden beim Prüfen der Zahlen gesondert ausgewiesen und sind nie Teil einer veröffentlichten Angabe.
- Beispiel-Repositorys zählen nie. Befunde und Korrektur-Pull-Requests in einem Beispiel-Repository werden weggelassen, und eine Organisation, deren einziges Repository ein Beispiel ist, trägt überhaupt keine Zahlen bei und kann daher nie eine der fünf sein.
- Zuerst kommt eine rechtliche Prüfung. Bevor eine Zahl veröffentlicht wird, durchläuft die Veröffentlichung eine rechtliche Prüfung. Es wurde noch keine Zahl veröffentlicht.
Wie die Zahlen entstehen
- Momentaufnahmen (offene Befunde, Erreichbarkeit) verwenden den jeweils letzten Tag jeder beitragenden Organisation im Zeitraum, summiert.
- Flüsse (Pull Requests, Behebungen) summieren jeden Tag im Zeitraum, üblicherweise 30 oder 90 Tage.
- Die Zeit bis zur Behebung über Organisationen hinweg wird als die Histogrammklasse angegeben, in die der Gesamtmedian fällt, zum Beispiel „7–14 Tage". Ein Median der Mediane jeder Organisation wäre nicht der Median aller Behebungen, daher berechnen wir keinen.
- Jede veröffentlichte Zahl trägt ihren Zeitraum, die Zahl der beitragenden Organisationen und einen Link auf diese Seite.
Aufbewahrung
Ein gespeicherter Tag wird 25 Monate aufbewahrt und dann gelöscht. Das Ausschalten der Einstellung löscht die Tage der Organisation sofort. Das Löschen der Organisation löscht sie ebenfalls.