Sicherheitsübersicht und Zeitleiste

Bromures Schutzfunktionen laufen alle auf dem Host, im Proxy und im virtuellen Netzwerk-Switch: der Anmeldedaten-Tausch, die Ausgangs-Firewall, die Schutzmechanismen, die Lieferketten-Prüfungen, die Prompt-Injection-Erkennung und der Schutz personenbezogener Daten. Jedes Mal, wenn eine davon eine Entscheidung trifft — Anmeldedaten tauscht, eine Verbindung blockiert, ein Paket prüft, eine Nachricht zurückhält — hält sie das fest. Das Fenster Sicherheits-Zeitleiste zeigt diese Entscheidungen: eine Übersicht der letzten 24 Stunden und eine Zeitleiste jedes Ereignisses.

Es beantwortet eine andere Frage als das Tracing. Ein Trace hält den Verkehr selbst fest — „was hat der Agent gesendet?“ — und nur, wenn Sie Tracing einschalten. Die Sicherheits-Zeitleiste hält fest, was die Sicherheits-Engines über diesen Verkehr entschieden haben, und sie ist immer an: jede Maschine, registriert oder nicht, im privaten Modus oder nicht, ohne etwas einzurichten.

Das Fenster öffnen

Wählen Sie Fenster → Sicherheits-Zeitleiste…, oder drücken ⌘K und nehmen Sicherheits-Zeitleiste. Das Fenster öffnet auf dem Tab Übersicht; das segmentierte Steuerelement oben links wechselt zwischen Übersicht und Zeitleiste. Es gibt ein Fenster für die ganze App; den Menüpunkt erneut zu wählen holt es nach vorn.

Der Tab Übersicht

Das Fenster Sicherheits-Zeitleiste auf dem Tab Übersicht: „Letzte 24 Stunden“ mit fünf Kacheln (4 Blockiert, 5 Erlaubt, 2 Vermittelte Zugangsdaten, 2 Geprüfte Pakete, 0 Ersetzte personenbezogene Daten), eine Tabelle Schutzfunktionen mit je einer Zeile für Payments API, Web app und Data pipeline und den Spalten Firewall, Lieferkette, Schutzmechanismen, Prompt-Injection, Schutz personenbezogener Daten und Anmeldedaten-Vermittlung, und eine Liste Letzte Blockierungen mit einer Firewall-Blockierung, einer Schutzmechanismen-Blockierung und einer Prompt-Injection-Blockierung

Die Übersicht ist mit Letzte 24 Stunden überschrieben — „Was Bromures Sicherheits-Engines für Ihre Agenten entschieden haben.“ Sie hat drei Teile.

Kacheln

Fünf Kacheln zählen die Ereignisse der letzten 24 Stunden:

KachelZählt
BlockiertJedes Ereignis, dessen Entscheidung eine Blockierung war (rot in der Zeitleiste), von jeder Engine.
ErlaubtJedes Ereignis, dessen Entscheidung war, etwas durchzulassen (grün in der Zeitleiste), von jeder Engine.
Vermittelte ZugangsdatenEreignisse der Anmeldedaten-Vermittlung: Anmeldedaten-Tausche, blockierte Abfluss-Versuche, und Hosts, die Sie aus dem Kompromittierungs-Alarm erlaubt haben.
Geprüfte PaketeLieferketten-Ereignisse: jeder Paketabruf, den der Proxy gesehen hat.
Ersetzte personenbezogene DatenDie Zahl der Werte personenbezogener Daten, die der Schutz personenbezogener Daten durch Stellvertreter ersetzt hat — Werte, nicht Anfragen.

Klicken Sie eine Kachel, um zum Tab Zeitleiste zu springen. Vermittelte Zugangsdaten, Geprüfte Pakete und Ersetzte personenbezogene Daten öffnen ihn auf ihre Engine gefiltert; Blockiert und Erlaubt öffnen ihn über alle Engines, auf dieses Ergebnis gefiltert.

Schutzfunktionen

Die Tabelle Schutzfunktionen listet jede Maschine auf diesem Mac, mit ihrer Farbe, und zeigt, welche Schutzfunktionen sie an hat — ein grünes Häkchen für an, ein grauer Strich für aus:

SpalteAngehakt, wenn
FirewallDie Maschine hat Regeln für ausgehende Verbindungen in ihrem Schutzmechanismen-Bereich, oder verweigert nicht zugeordneten Verkehr.
LieferketteMindestens eine Lieferketten-Schicht ist an (die Altersschranke, OSV, socket.dev, das Entfernen von Skripten oder die Lockfile-Rückfrage).
SchutzmechanismenDie Schutzmechanismen schränken tatsächlich etwas ein: ein Dienst mit einer Schreibrichtlinie außer Aus, ein Datenbank-Schutzmechanismus, eine Regel für ausgehende Verbindungen, oder eine Anmeldung, die auf Vor Verwendung fragen steht. Die unsichere Umgehung pro Anfrage (X-bromure-insecure) zählt nicht, da sie lockert statt einzuschränken.
Prompt-InjectionMindestens ein Prompt-Injection-Detektor ist an.
Schutz personenbezogener DatenDer Hauptschalter des Schutzes personenbezogener Daten ist an, mit mindestens einer Kategorie.
Anmeldedaten-VermittlungImmer: der Anmeldedaten-Tausch kann nicht abgeschaltet werden.

Nutzen Sie sie, um eine Maschine zu erkennen, die mit weniger Schutz läuft als die anderen. Zum Ändern öffnen Sie die Einstellungen jener Maschine (siehe Einstellungsreferenz).

Letzte Blockierungen

Letzte Blockierungen listet die neuesten Blockierungen der letzten 24 Stunden, die neuesten zuerst, bis zu acht: was blockiert wurde, die Engine und die Entscheidung, und wie lange es her ist. Die Liste ist verborgen, wenn nichts blockiert wurde.

Der Tab Zeitleiste

Das Fenster Sicherheits-Zeitleiste auf dem Tab Zeitleiste: ein Feld Ereignisse filtern…, das Aufklappmenü Alle Engines, „8 Ereignisse“, die Schaltflächen Exportieren… und Leeren, und eine Tabelle mit den Spalten Zeit, Workspace, Engine, Bedingung und Entscheidung, die Zeilen für Schutz personenbezogener Daten, Prompt-Injection, Lieferkette, Firewall und Anmeldedaten-Vermittlung listet, farbcodiert in Blau, Rot und Grün

Die Zeitleiste ist eine Tabelle jedes Ereignisses, die neuesten zuerst:

SpalteZeigt
ZeitDatum und Uhrzeit der Entscheidung.
WorkspaceDie Maschine, auf der es passierte. Spiegeln Sie ferne Macs, liest sie Mac · Maschine.
EngineWelche Engine entschied, mit ihrem Symbol.
BedingungWas die Engine sah: den Host, das Paket, die Stelle, den Schlüssel… Überfahren für den vollen Text; der Text lässt sich auswählen und kopieren.
EntscheidungWas sie entschied, farbcodiert.
(letzte Spalte)Bei Firewall-Zeilen eine Schnellaktions-Schaltfläche: Erlauben…, Blockieren… oder Regel… — siehe Firewall-Schnellaktionen. Bei einem von OSV oder socket.dev blockierten Paket fügt Erlauben… → … in diesem Workspace immer erlauben es den vertrauenswürdigen Paketen des Arbeitsbereichs hinzu (danach Jetzt zugelassen) — siehe Einem blockierten Paket vertrauen.

Die Farben lesen sich im ganzen Fenster gleich:

  • Grün — erlaubt: durchgelassen, bestanden, signiert.
  • Rot — blockiert: verweigert, abgelehnt, zurückgehalten.
  • Blau — informativ: eine Umformung, die weder Durchlassen noch Blockieren ist, etwa ein Anmeldedaten-Tausch, eine altersgefilterte Versionsliste oder entfernte Installationsskripte.

Die Symbolleiste über der Tabelle filtert sie:

  • Ereignisse filtern… passt auf Text in Engine, Bedingung, Entscheidung sowie Maschinen- und Mac-Namen.
  • Das Engine-Aufklappmenü (standardmäßig Alle Engines) listet die Engines, die Ereignisse haben.
  • Das Ergebnis-Aufklappmenü (standardmäßig Alle Ergebnisse) engt die Tabelle auf Blockiert oder Erlaubt ein.
  • Spiegeln Sie mindestens einen fernen Mac, erscheint ein Maschinen-Aufklappmenü: Alle Maschinen, Dieser Mac, oder ein ferner Mac.
  • Die Ereigniszahl („8 Ereignisse“) spiegelt die Filter.

Leeren räumt das Fenster. Es verbirgt die Ereignisse nur: sie bleiben auf der Disk, aber geleerte Ereignisse kommen beim Neustart der App nicht zurück. Exportieren… ist unten beschrieben.

Die Engines

EngineWas ihre Zeilen festhaltenBeispielentscheidungen
Anmeldedaten-VermittlungAnmeldedaten-Tausche auf dem Draht (Zugangsdaten), Abfluss-Versuche, und aus dem Kompromittierungs-Alarm erlaubte Hosts.„getauscht in sk-a…9f“ (blau); „blockiert — Abfluss-Versuch, VM pausiert“ (rot), oder „blockiert — Abfluss-Versuch (Alarme aus, VM nicht pausiert)“, wenn die Maschine Abfluss-Alarme abgeschaltet hat; „vom Nutzer für diese Sitzung erlaubt“ (grün)
Anmeldedaten verwendetSSH-Signaturen und AWS-SigV4-Signierungen, die der Host für den Agenten ausgeführt hat.„signiert“ (grün)
FirewallUrteile der Ausgangs-Firewall, je Host, Port und Protokoll, mit der Regel, die entschieden hat — oder „Standardrichtlinie“, wenn keine Regel passte —, für direkte Verbindungen und für solche über die Proxy-Einstellungen gleichermaßen. Der Host ist der Name, nach dem das Programm gefragt hat (www.wikipedia.org), nicht der CDN-Name, zu dem er auflöst. Ein Ziel wird erst wieder gemeldet, wenn seit der letzten Meldung eine Minute vergangen ist, oder sofort nach einer Regeländerung; zugelassene Verbindungen werden nur aufgeführt, wenn die Maschine sie protokolliert, und ihre Wiederholungen werden mit einem Zähler zu einer Zeile gefaltet. Eine offene Verbindung, die gekappt wurde, weil sich die Regeln geändert haben, bekommt eine eigene Zeile.„erlauben — allow tcp github.com:443“ (grün); „verweigern — Standardrichtlinie“ (rot); „Verbindung geschlossen — ‚allow tcp github.com:443‘ lässt sie nicht mehr zu“ (rot); „verweigern“ (rot) für Verbindungen, die unabhängig von Regeln verworfen werden (IPv6, QUIC, IP-Fragmente)
SchutzmechanismenBlockierungen durch Schreibrichtlinien (Schutzmechanismen), mit Methode und Pfad.„blockiert — …“ (rot)
LieferketteJeder Paketabruf, auch .deb-Downloads von apt (Lieferketten-Schutz).„geprüft“, „geladen“ (grün); „geprüft — Versionen neuer als die Abkühlzeit verborgen“, „Installationsskripte entfernt“ (blau); „blockiert — …“ (rot)
Prompt-InjectionDetektor-Treffer, mit Detektor, Quelle und einer kurzen Stelle (Prompt-Injection-Erkennung).„protokollieren“, „erlaubt“ (grün); „blockiert“ (rot)
Schutz personenbezogener DatenAnfragen, in denen personenbezogene Daten ersetzt wurden, mit Zahlen je Art und dem Host — nie die Werte (Schutz personenbezogener Daten) — und Anfragen, deren Prüfung das Modellbudget erschöpfte.„durch Stellvertreter ersetzt“ (blau); „teilweise — Modellbudget erreicht; nur Musterregeln“ (blau)
Agenten-DelegationJede Nachricht, die ein Agent einem anderen durch Delegation sandte.„weitergegeben“ (blau); „zurückgehalten — Prompt-Injection“ (rot)
Upstream-TLSUpstream-Zertifikate, denen der Host nicht zu trauen bereit war, und Verwendungen der unsicheren Umgehung pro Anfrage.„blockiert — …“ (rot); „erlaubt — Zertifikatsprüfung übersprungen (X-bromure-insecure); keine Anmeldedaten eingesetzt“ (grün)

Firewall-Schnellaktionen

Firewall-Zeilen können die Regeln für ausgehende Verbindungen der Maschine sofort ändern. Nutzen Sie die Schaltfläche in der letzten Spalte der Zeile, oder klicken Sie die Zeile mit rechts an. Die Änderung wird in der Maschine gesichert und gilt sofort, wenn sie läuft — ohne Neustart.

  • Eine blockierte Verbindung — host:port erlauben fügt eine Erlaubnisregel für genau diesen Host, dieses Protokoll und diesen Port hinzu, ganz oben eingereiht, damit sie gegen die blockierende Regel gewinnt. Ist der Host eine Subdomain, wird auch Ganz domain:port erlauben angeboten (etwa github.com für api.github.com), was jede Subdomain abdeckt — außer unter CDN- und Shared-Hosting-Domains (cloudflare.net, cloudfront.net, amazonaws.com, github.io, herokuapp.com…), wo „ganz“ jeden Kunden dieses Anbieters bedeuten würde. Die anderen Namen, über die der Host aufgelöst wurde (seine CDN-Aliasse), werden danach als exakte Hosts angeboten. Jeder bietet Immer, 15 Minuten lang, 1 Stunde lang oder Bis der Workspace stoppt; eine befristete Regel schaltet sich nach Ablauf der Zeit selbst aus. Gibt es dieselbe Regel schon, sagt das Menü zuerst, wie sie steht (ausgeschaltet, oder an bis wann), damit erneutes Erlauben sie nie stillschweigend verkürzt. Hat eine Verweigerungsregel sie blockiert, lässt sich auch diese Regel ausschalten oder entfernen.
  • Eine durch eine Regel zugelassene Verbindung — Regel ausschalten behält die Regel, lässt sie aber nicht mehr greifen (im Editor wieder ankreuzen, um sie zurückzuholen); Regel entfernen löscht sie. Verbindungen, die die Änderung jetzt verweigert, werden gekappt.
  • Eine zugelassene Verbindung, weil keine Regel passte — host blockieren (oder Ganz domain blockieren) fügt eine Verweigerungsregel für jedes Protokoll und jeden Port dorthin hinzu.

Hier erstellte Regeln nutzen den Namen, nach dem das Programm gefragt hat, denselben Namen, den der Proxy prüft, sodass sie halten, wie auch immer das Programm sich verbindet.

Haben sich die Regeln geändert, seit die Zeile aufgezeichnet wurde — ein blockierter Host inzwischen erlaubt, oder umgekehrt —, zeigt die Schaltfläche Jetzt zugelassen oder Jetzt blockiert, und ihr Menü nennt die Regel (oder die Standardrichtlinie), die jetzt entscheidet, statt dieselbe Änderung noch einmal anzubieten.

Schnellaktionen erscheinen nur bei Zeilen, die eine Regeländerung beeinflussen kann: nicht bei verworfenen IPv6-, QUIC- oder Fragment-Paketen und nicht bei HTTP-Methoden-Blockierungen durch web-Regeln. Bei Zeilen eines entfernten Macs ist die Schaltfläche ausgegraut: Ändern Sie die Regeln dieser Maschine in ihren Einstellungen auf dem Mac, auf dem sie läuft.

Hinweis: Sind die Einstellungen der Maschine geöffnet, übernimmt die Regeltabelle die Änderung. Ungesicherte Bearbeitungen bleiben erhalten: Die Änderung wird Regel für Regel mit ihnen zusammengeführt, und ein Hinweis über der Tabelle sagt es. Lassen sich Ihre Bearbeitungen nicht zusammenführen (eine Regel, die sich noch nicht parsen lässt), bietet der Hinweis Neu laden (die gesicherten Regeln übernehmen) oder Meine Änderungen behalten.

Die Zeitleiste hält nur Sicherheitsentscheidungen fest. Dateilesevorgänge, Befehle, Werkzeugaufrufe und Modellnutzung stehen nicht darin; sie gehören zum Tracing.

Ereignisse exportieren

Exportieren… (in der Symbolleiste beider Tabs) sichert Ereignisse als CSV-Datei, standardmäßig bromure-security-<datum>.csv benannt. Vom Tab Zeitleiste sichert es genau, was die Tabelle zeigt, mit den angewandten Filtern; vom Tab Übersicht sichert es jedes Ereignis im Fenster. Die Zeilen stehen älteste zuerst, mit den Spalten time (ISO 8601), machine („This Mac“ oder der Name des fernen Macs), workspace, engine, condition, decision und outcome (allowed, blocked oder info).

Speicherung und Aufbewahrung

  • Jedes Ereignis wird an eine Tagesdatei in ~/Library/Application Support/BromureAC/security-timeline/ angehängt, eine JSON-Zeile je Ereignis, benannt <yyyy-MM-dd>.jsonl (UTC-Daten).
  • Dateien, die älter als 90 Tage sind, werden gelöscht.
  • Beim Start lädt das Fenster die neuesten 5.000 Ereignisse und hält höchstens 5.000 im Speicher; ältere bleiben in den Dateien.
  • Ereignisse enthalten nur Vorschauen: Token-Vorschauen wie sk-a…f9q3, Ausschnitt-Vorschauen, Zahlen personenbezogener Daten. Kein geheimer oder persönlicher Wert wird geschrieben.

Ferne Macs

Die Engines laufen auf dem Mac, der die Maschinen beherbergt. Spiegelt ein ferner Client einen anderen Mac, bekommt er dessen neueste Ereignisse und zeigt sie in seinem eigenen Sicherheits-Zeitleiste-Fenster, neben den lokalen. Die Ereignisse jedes gespiegelten Macs werden von denen dieses Macs getrennt gehalten, damit das Maschinen-Aufklappmenü sie trennen kann und die Spalte Workspace den Mac nennt.

Verhältnis zur Enterprise-Telemetrie

Auf einem bei bromure.io registrierten Mac werden dieselben Engine-Ereignisse auch als Cloud-Ereignisse an die Organisation gesendet (credential.token_swap, egress.firewall, supply_chain.fetch, prompt_injection.detection, privacy.pii_swap und andere), sofern die Maschine nicht im Privaten Modus ist. Die lokale Sicherheits-Zeitleiste ist davon unabhängig: sie hält jedes Ereignis fest, ob der Mac registriert ist oder nicht und ob der private Modus an ist oder nicht. Siehe Tracing & Audit und Enterprise.