Zum Hauptinhalt springen
Version: 1.0.0

Werkzeugreferenz

Fünf Werkzeuge. Alle schreibgeschützt, alle idempotent, keines in der Lage, irgendetwas zu verändern.

Jedes Werkzeug liefert Text auf Englisch und Französisch, und jedes kann statt Daten ein Fehlerergebnis zurückgeben — siehe Fehlerbilder, den Abschnitt, den zweimal zu lesen sich lohnt.


bits_recommend​

Ziel hinein, Agenten heraus.

ParameterTypPflicht
goalZeichenkette, max. 2000 Byteja
osZeichenkettenein
archZeichenkettenein

Liefert Agenten in einer Rangfolge samt Begründung, warum jeder passt, und — sofern Ihr Ziel eine Plattform impliziert — die Plattformsicht des jeweiligen Agenten, damit Sie nie auf etwas verwiesen werden, das zwar eine Binärdatei ausliefert, aber noch keinen Enrolment-Pfad hat.

Jede Antwort trägt einen Block zur Katalogvollständigkeit:

"catalogue": { "state": "complete", "agents_expected": 4, "agents_read": 4, "as_of": "..." }
Warum es diesen Block gibt

„Nichts davon passt" wird nur dann ausgegeben, wenn state den Wert complete hat. Würde der Katalog nur teilweise gelesen — etwa weil sich der Datensatz eines Agenten nicht laden lässt —, dann würde ein naives Werkzeug stillschweigend antworten „dafür haben wir nichts", und Sie würden sich anderswo umsehen. Nichts wäre dabei fehlgeschlagen. Prüfen Sie state, bevor Sie auf eine negative Antwort hin handeln.


bits_explain​

ParameterTypPflicht
agentbitcollector | bitscanner | bitenforcer | bitmapperja
topicobserves | never_touches | privileges | platforms | heartbeat | where_results_landnein

Liefert, was der Agent beobachtet, was er ausdrücklich nie berührt, was Ihnen erhöhte Rechte einbringen und wo seine Ergebnisse landen.

Die Themen never_touches und privileges sind die nützlichen. Rechte ändern nicht nur, was ein Agent tun darf — sie ändern, was seine Ausgabe bedeutet. Ein unprivilegiert laufender bitcollector kann lauschende Sockets keinen Prozessen zuordnen; sein Port-Inventar ist also real, seine Prozesszuordnung fehlt jedoch — und er sagt das, statt null zu melden.


bits_platforms​

ParameterTypPflicht
agenteiner der vier Slugsja

Liefert drei getrennte Fakten je Plattform, nie eine einzige Spalte:

FaktBedeutung
cataloguedfür dieses Betriebssystem und diese Architektur existiert eine signierte Release-Binärdatei
enrolablefür diesen Agenten existiert heute ein Enrolment-Pfad
observabledieser Agent meldet nach dem Enrolment einen Heartbeat

sowie einen Zustand je Plattform: platform_supported, platform_not_built oder platform_unknown.

Warum drei Fakten und nicht einer

Ein Agent kann auf einer Plattform catalogued sein, noch keinen Enrolment-Pfad haben und nie einen Heartbeat melden — alles zugleich. bitenforcer ist heute genau das: Er liefert signierte Linux-Binärdateien aus, ist noch nicht enrolable und sendet konstruktionsbedingt nie einen Heartbeat, weil er keinen Zustellweg hat. Das als „supported: yes" darzustellen wäre wahr und würde Sie dazu verleiten, auf Telemetrie zu warten, die nie kommt.

platform_unknown ist der dritte Zustand, und es gibt ihn, damit ein fehlgeschlagener Katalogzugriff niemals als „diese Plattform wird nicht unterstützt" gemeldet werden kann.


bits_plan_config​

ParameterTypPflicht
agenteiner der vier Slugsja
profileminimal | standard | strictja
destinationcontrol_plane — nur bitcollector; ohne diesen Parameter konfiguriert der Plan keinen Exporternein
privilegeroot | capabilities | unprivileged — wie der Agent tatsächlich laufen wirdnein

Die beiden optionalen Hinweise machen den Plan immer nur vorsichtiger, wenn sie fehlen oder nicht erkannt werden: Ein fehlendes privilege wird als unprivileged gelesen, niemals als root.

Liefert die von Ihnen angefragten Werte agent und profile sowie vier Felder:

FeldInhalt
configeine Konfiguration als Entwurf zur Prüfung durch einen Menschen; Werte, die nur Ihr Dashboard liefern kann, sind mit REPLACE_ME markiert, nie geraten
will_not_dowas diese Konfiguration bewusst nicht tut, und warum
notesVorbehalte, die für Ihr gewähltes Profil und Ihre Rechtestufe gelten
next_stepwohin Sie zum Enrolment gehen — nie ein Befehl, nie eine URL

Es weist jedes Argument zurück, das wie ein Enrolment-Token aussieht — siehe Fehlerbilder.

Lesen Sie will_not_do, bevor Sie die Konfiguration ausrollen​

Das ist kein Textbaustein. Es benennt die Einstellungen, die bewusst weggelassen wurden, und den Grund für jede einzelne. Drei Kategorien werden nie erzeugt:

Einstellungen, die etwas zusichern, das nur Sie zusichern können. Ein fremdes Netzwerk zu scannen erfordert die Erklärung, dass Sie rechtlich dazu befugt sind. Das Werkzeug beschreibt die Einstellung; Ihre Erklärung schreibt es nicht für Sie.

Einstellungen, die eines sagen und ein anderes tun. Manche Optionen lesen sich restriktiv und sind es nicht — etwa ein in einer Firewall-Richtlinie als deaktiviert markierter Dienst, der dennoch zu einem offenen Port führt. Diese werden namentlich verweigert, mit einer Erläuterung, was stattdessen zu tun ist.

Einstellungen, die nicht implementiert sind. Eine Option, die scheinbar einen Schutz setzt, keinen Schutz bewirkt und eine Richtlinie zurücklässt, die das Gegenteil behauptet, ist schlimmer als gar keine Option.

Der Rechte-Kompromiss wird benannt, nicht vorausgesetzt​

Wenn Sie eine Capability-basierte Einrichtung statt root verlangen und das den Agenten wesentlich verschlechtert, sagt der Plan das mit Zahlen. Bei der Flow-Erfassung lassen Capabilities ohne root die Prozesszuordnung je Flow von rund 87 % der Flows auf etwa 6 % einbrechen — und der Rest sind die Flows des Agenten selbst. Die Antwort mit den geringsten Rechten ist meist die richtige; hier entfernt sie stillschweigend genau die Funktion, für die Sie den Agenten installiert haben, deshalb wird es Ihnen gesagt, statt Sie es selbst herausfinden zu lassen.


bits_download​

Ein Agent, eine Plattform, eine verifizierbare Binärdatei.

ParameterTypPflicht
agenteiner der vier Slugsja
oslinux | darwin | windowsja
archamd64 | arm64ja

Liefert für die veröffentlichte Binärdatei:

FeldInhalt
agent, os, archwas Sie angefragt haben
versiondas Release, zu dem die Binärdatei gehört
file_nameder Dateiname, unter dem sie gespeichert werden soll
size_bytesihre Größe in Byte
sha256ihre SHA-256-Prüfsumme, aus dem Release-Katalog übernommen
download_urlwo sie heruntergeladen werden kann
verify_commandein Befehl, der die Datei herunterlädt und gegen sha256 prüft
noteeine Erinnerung, die Prüfsumme zu verifizieren, bevor Sie die Binärdatei ausführen

Die Angaben stammen aus dem Release-Katalog; das Werkzeug berechnet oder errät sie nicht. Es bietet nie einen Download an, für den es keine Prüfsumme angeben kann: Hat der Katalog keine Binärdatei für diese Plattform oder fehlt dem Eintrag ein verwendbarer SHA-256, eine Größe oder ein Dateiname, ist die Antwort ein Fehler, keine URL. Rufen Sie zuerst bits_platforms auf, um zu sehen, für welche Plattformen ein Agent ausgeliefert wird.

Verifizieren vor dem Ausführen

Verwenden Sie die Download-URL, die das Werkzeug zurückgibt, und führen Sie die Verifikation aus, bevor Sie die Binärdatei starten. Ein Download-Werkzeug schreibt alles, was es empfängt — auch eine HTML-Fehlerseite —, deshalb sagt Ihnen erst eine übereinstimmende Prüfsumme, dass Sie die echte Datei haben.

Wie bits_plan_config weist es jedes Argument zurück, das wie ein Enrolment-Token aussieht.


Fehlerbilder​

Jedes Werkzeug kann statt Daten ein Fehlerergebnis liefern. Behandeln Sie diese — deuten Sie sie nicht als „keine Ergebnisse".

Was Sie sehenWas es bedeutet
catalogue read failed: …Der Release-Katalog konnte nicht gelesen oder nicht verifiziert werden. Nicht „nichts gefunden"
alle Plattformen platform_unknownDieselbe Ursache, je Plattform dargestellt. Lesen Sie das nie als „nicht unterstützt"
state mit einem anderen Wert als completeDer Katalog wurde nur teilweise gelesen. Eine negative Empfehlung wird zurückgehalten
catalogue read failed (…) — no download is offeredbits_download hat keine Binärdatei gefunden, für die es einstehen kann — für die Plattform gibt es keinen Build, oder der Katalog konnte nicht gelesen oder nicht verifiziert werden. Es wird keine URL geraten
refused: that argument is shaped like a live Cert-IX enrolment tokenSie haben ein Enrolment-Token gesendet. Nehmen Sie es aus der Unterhaltung heraus; es gehört auf die Maschine des Agenten
too many requests from your addressRatenbegrenzung pro Adresse. Senken Sie die Anfragerate und versuchen Sie es kurz darauf erneut
HTTP 429Ratenbegrenzung. Beachten Sie Retry-After
HTTP 405Sie haben etwas anderes als POST gesendet
Die Regel hinter all dem

Eine Antwort, der nicht zu trauen ist, wird als Fehler gemeldet, nie als leeres oder negatives Ergebnis. Wenn ein Werkzeug Ihnen sagt, dass ein Agent Ihre Plattform nicht unterstützt, dann hat es nachgesehen, und er unterstützt sie nicht. Konnte es nicht nachsehen, sagt es genau das.

War diese Seite hilfreich?