Behebungsfrist (SLA)
Jeder offene Befund (SAST, Abhängigkeiten, Container-Images, Malware) trägt neben seinem Schweregrad eine SLA-Pill. Die Pill wird aus einer Eingabe berechnet, dem Alter des Befunds, und aus einer Konfiguration, der SLA-Richtlinie deiner Organisation pro Schweregrad.
Standardwerte
Ohne weitere Einstellung erhält jede Organisation diese Zielwerte:
| Schweregrad | Standard-SLA |
|---|---|
| Kritisch | 7 Tage |
| Hoch | 30 Tage |
| Mittel | 90 Tage |
| Niedrig | keine SLA |
Diese Standardwerte entsprechen gängigen Patch-Rhythmen in Unternehmen, wie sie in NIST SP 800-40r4 und ähnlichen Rahmenwerken genannt werden. Verschärfe sie, wenn deine Audit-Anforderungen es verlangen.
Zustände der Pill
Die Farbe der Pill zeigt ihren Zustand, ihr Text die Tage.
- Innerhalb (grün): innerhalb der SLA, weniger als 80 % des Weges bis zur Frist. Die Pill zeigt das Alter des Befunds gegenüber der SLA, zum Beispiel
12/30 T.. - Fast fällig (gelb): zwischen 80 % und 100 % der Frist. Plane die Behebung für diese Woche ein. Die Pill zeigt die verbleibenden Tage, zum Beispiel
noch 5 Tage. - Überschritten (rot): Frist abgelaufen. Wird im wöchentlichen Digest und in der Übersichtskachel „SLA-Verletzungen" gezählt. Die Pill zeigt, wie weit die Frist überschritten ist, zum Beispiel
3 T. über SLA. - Keine SLA (grau): Für den Schweregrad gibt es keine Richtlinie (Standard für
low). Die Pill zeigtKeine SLA.
Die Schwelle von 80 % der Frist für fast fällig ist bewusst gewählt: Die meisten Korrekturen brauchen echten Aufwand für Umsetzung, Review und Rollout, und die Warnung vor Ablauf der Frist verschafft dir diesen Vorlauf.
Richtlinie pro Organisation festlegen
Die SLA pro Organisation bearbeitest du unter Sicherheit › Priorisieren › Behebungsfrist (SLA) (/<org>/_admin/security/prioritise/sla). Wähle pro Schweregrad eine kürzere Frist: Die Berechnung der Überschreitungen liest die Zeile security_sla_policy des Mandanten sofort, ohne erneuten Scan. Die oben genannten Standardwerte gelten, bis du sie überschreibst. Wenn du eine SLA-Form brauchst, die nicht auf Zeit basiert (z. B. Werktage, Feiertagskalender), eröffne ein Support-Ticket.
Nicht erreichbare Befunde (optionaler Multiplikator)
Für Befunde in Abhängigkeiten und Container-Images berechnet fremforge ein Erreichbarkeits-Urteil. Deine Organisation kann die SLA von Befunden mit dem Urteil nicht erreichbar (unreachable) um einen ganzzahligen Faktor von 1 bis 4 verlängern; den Multiplikator stellst du auf derselben Seite ein, Sicherheit › Priorisieren › Behebungsfrist (SLA). Der Standardwert 1 bedeutet aus.
| Urteil | SLA |
|---|---|
Kein Aufrufpfad (unreachable) | Die volle SLA × Multiplikator |
| Erreichbar, unbekannt oder nicht analysiert | Immer die volle SLA |
| Bekanntermaßen ausgenutzt: gelistet von der EU (ENISA EUVD) oder den USA (CISA KEV) | Die volle SLA, bei jedem Schweregrad und unabhängig vom Urteil |
| Kritisch mit EPSS in den oberen 10 % | Die volle SLA, unabhängig vom Urteil |
Die Frist zählt immer ab dem Zeitpunkt, an dem der Befund zum ersten Mal gesehen wurde. Findet ein späterer Scan einen Aufrufpfad oder kann er nicht entscheiden, gilt sofort wieder die volle SLA, sodass ein Befund direkt auf Überschritten springen kann. Eine verlängerte Pill zeigt ×2 (oder ×3, ×4), und ihr Tooltip nennt beide Fristen; bei eingeschaltetem Multiplikator erklärt der Tooltip einer Pill mit voller SLA, warum sie nicht verlängert ist. SAST-, Lizenz-, Secret- und Malware-Befunde haben kein Urteil und behalten die volle SLA.
Der Multiplikator ändert nur Fristen. Was einen Pull Request blockiert, bleibt unverändert, und kein Befund wird ausgeblendet oder verworfen.
Befunde auf geschützten Release-Branches zeigen ebenfalls ein Fälligkeitsdatum aus dieser Richtlinie, werden aber weder bei SLA-Verletzungen noch in der SLA-Kachel oder einer SLA-Kennzahl gezählt.
Hinweis zum Geltungsbereich der SLA. Die Tabelle oben ist die Uhr für die Behebung von Befunden: wie lange du Zeit hast, einen Befund gegen deinen Code zu schließen. Davon zu unterscheiden sind zwei andere SLAs, die an anderer Stelle bei fremforge dokumentiert sind:
- Die Plattform-CVE-Patch-SLA (Kritisch 48 h / Hoch 72 h / Mittel 7 Tage) regelt, wie schnell fremforge seinen eigenen Stack patcht; siehe die Zusagen zur Plattformsicherheit unter Sicherheit und Lieferkette.
- Die SLA für die Offenlegung von Schwachstellen (Korrektur bei Kritisch in 24 h / Offenlegung 30 Tage nach der Korrektur usw.) gilt für von Forschenden gemeldete Schwachstellen in fremforge selbst; siehe Offenlegung von Schwachstellen.
Über die REST-API
Die SLA-Richtlinie pro Schweregrad lässt sich über die öffentliche API setzen, praktisch, wenn du eine einheitliche Haltung über viele Organisationen hinweg aus einem Konfigurationsskript oder einer Compliance-Pipeline durchsetzen willst.
- Richtlinie aktualisieren
PUT /_app/api/v1/orgs/:slug/security/sla-policyBody:{ "critical_sla_days": 3, "high_sla_days": 14, "medium_sla_days": 60, "low_sla_days": null, "unreachable_sla_multiplier": 2 }
Jedes Tagesfeld akzeptiert 1–365 Tage oder null, um einen Schweregrad ohne SLA zu lassen; ein fehlendes Tagesfeld gilt als null. unreachable_sla_multiplier akzeptiert eine ganze Zahl von 1 (aus) bis 4; anders als bei den Tagesfeldern bleibt der gespeicherte Wert erhalten, wenn du es weglässt. GET /_app/api/v1/orgs/:slug/security liefert die Richtlinie. Jede Änderung wird als code-security.sla_policy.updated im Audit-Log erfasst, mit dem vorherigen Multiplikator, wenn er sich geändert hat. Erfordert ein Personal Access Token (PAT) mit dem Scope policy:write:
curl -X PUT \
-H "Authorization: Bearer ${FREMFORGE_PAT}" \
-H "Content-Type: application/json" \
-d '{"critical_sla_days":3,"high_sla_days":14,"medium_sla_days":60,"low_sla_days":null}' \
https://frem.sh/_app/api/v1/orgs/acme/security/sla-policyDie vollständige OpenAPI-Spezifikation findest du in der Referenz der öffentlichen REST-API.
Der Compliance-Bericht misst die SLA-Einhaltung über einen frei wählbaren Zeitraum: Befunde, die innerhalb ihrer SLA behoben wurden, danach behoben wurden oder nach Ablauf noch offen sind, pro Schweregrad. Bei eingeschaltetem Multiplikator misst er jeden Befund an derselben Frist wie seine Pill und zeigt die SLA der Richtlinie neben der verlängerten.
Wie Überschreitungen in andere Seiten einfließen
- Widget Offene Sicherheits-PRs unter
/<org>/_admin/overviewhebt die überschrittene Empfehlung mit dem höchsten Schweregrad zuerst hervor. - Wöchentlicher Digest zählt Überschreitungen in der Zusammenfassung oben.
- SIEM-Weiterleitung sendet Audit-Ereignisse
code-security.sla.breached, wenn ein Befund die Grenze zum ersten Mal überschreitet. Bei eingeschaltetem Multiplikator enthält das Ereignis eines verlängerten Befunds zusätzlichfull_sla_daysundunreachable_sla_multiplier.
Die Zahl im Digest, die Übersichtskachel und das SIEM-Ereignis verwenden alle dieselben Fristen wie die Pills, einschließlich Multiplikator. Die Befund-API liefert sie ebenfalls, als Objekt sla an jedem Befund zu Abhängigkeiten und Images (state, sla_days, due_at, full_sla_days, full_due_at, unreachable_multiplier, exempt). exempt ist known_exploited (mit exempt_sources: euvd, cisa_kev) oder exploit_likely (kritisch, EPSS in den oberen 10 %), wenn ein eingeschalteter Multiplikator aus diesem Grund nicht angewendet wurde, sonst null.
Siehe auch
- OSV-Empfehlungen: die Korrekturliste, die den Kreis schließt.
- Push-Schutz: Secrets werden bereits beim Pre-Receive behandelt statt mit einer SLA-Uhr.