Skip to main content
Ein Pack ist eine Sammlung von Policies, die als GitHub-Release veröffentlicht werden. Ein einziger Befehl installiert es: Die Prüfsummen des Releases werden vor der Ausführung verifiziert, und der Digest wird gespeichert, damit das Pack danach auf Ihrem Rechner nicht unbemerkt verändert werden kann. Alle Packs und alle darin enthaltenen Policies finden Sie im Policy-Hub. Es gibt zwei Arten:
  • Failproof AI Policy-Packs — fertig konfigurierte Packs für vordefinierte Anwendungsfälle: einfach einbinden und es funktioniert. Das Coding-Agent-Policy-Pack ist bereits verfügbar, weitere Packs für andere Anwendungsfälle folgen in Kürze.
  • Community-Policy-Packs — Policies, die Entwickler für ihre eigenen Anwendungsfälle geschrieben und für alle veröffentlicht haben.

Failproof AI Policy-Packs

Coding-Agent-Policy-Pack

Das Pack enthält 38 Policies und aktiviert die 10, die sein Manifest als sicher für den unbeaufsichtigten Betrieb markiert; die übrigen werden Ihnen zur Auswahl angezeigt. Einige der am häufigsten verwendeten und ob ein einfaches policies add sie aktiviert: Aktivieren Sie einzelne deaktivierte Policies namentlich – failproofai policies add block-rm-rf – oder nehmen Sie das gesamte Pack mit --all. Alle enthaltenen Policies nach Kategorie gruppiert anzeigen:

Community-Policy-Packs

Entwickler veröffentlichen Packs für ihre eigenen Anwendungsfälle, der Policy-Hub listet sie auf. Ein Community-Pack wird vom jeweiligen Autor veröffentlicht und nicht von Failproof AI geprüft – lesen Sie daher den Inhalt, bevor Sie es installieren:
Dies listet alle enthaltenen Policies nach Kategorie gruppiert auf und markiert, welche der Autor standardmäßig aktiviert. Es wird ausschließlich das Manifest gelesen – das Entry-Artefakt wird weder heruntergeladen noch importiert, sodass das Anzeigen eines fremden Packs keinen fremden Code ausführen kann. Das Manifest wird dennoch gegen die SHA256SUMS des Releases geprüft, sodass das, was Sie lesen, auch das ist, was installiert werden würde. Anschließend installieren:
Alle folgenden Formate werden akzeptiert – verwenden Sie das, das Ihnen vorliegt: Wird kein Tag angegeben, wird das neueste Release installiert und gepinnt; anschließend wird Ihnen mitgeteilt, welcher Tag gewählt wurde. Was aufgezeichnet wird, benennt immer genau ein Release, sodass eine Neuinstallation nicht zu Abweichungen führen kann.

Nur einen Teil eines Packs verwenden

Standardmäßig erhalten Sie die eigenen Standardwerte des Packs – die Policies, die der Autor als sicher für den unbeaufsichtigten Betrieb markiert hat –, nicht alles, was es enthält.
--category und --policy werden als Vereinigung kombiniert (--only wird als Synonym für --policy akzeptiert). Wenn das Pack bereits installiert ist, ergänzen die Flags das Vorhandene; wenn es ohne Flag und ohne Terminal erneut hinzugefügt wird – etwa für ein Upgrade –, bleibt die bisherige Auswahl erhalten. An einem Terminal ohne Flag öffnet add stattdessen die Auswahlmaske, vorausgefüllt mit den Standardwerten des Autors; was Sie auswählen, ersetzt Ihre bisherige Auswahl.

Den aktivierten Zustand verwalten

Das Aktivieren oder Deaktivieren einer Pack-Policy gilt für den gesamten Rechner: Der Status wird zusammen mit dem installierten Pack gespeichert, nicht in der Projektkonfiguration – unabhängig davon, was --scope besagt. Ein Name ohne Schrägstrich ist eine Policy; alles mit einem Schrägstrich ist eine Pack-Quelle. Ein einfacher Name wird dem installierten Pack zugeordnet, das ihn deklariert. Wenn zwei installierte Packs denselben Namen deklarieren, geben Sie explizit an, welches gemeint ist:
Scopes, Parameter und die Dateien, die diese Befehle schreiben, sind unter Lokale Konfiguration beschrieben.

Was Integritätsprüfung leistet und was nicht

SHA256SUMS wird im selben Release wie das Artefakt ausgeliefert und ist daher keine Signatur – sie beweist nichts über den Urheber. Was sie beweist: Die Bytes sind genau die, die in diesem Release veröffentlicht wurden. Da der Digest beim Hinzufügen des Packs aufgezeichnet und vor jedem Import erneut geprüft wird, kann ein Pack auf Ihrem Rechner nachträglich nicht unbemerkt verändert werden. Ein Repository, das einen Tag neu setzt oder ein Asset ersetzt, wird nicht mehr geladen, anstatt still etwas anderes auszuführen. Bei der Installation wird das Pack außerdem einmalig importiert und gegen sein eigenes Manifest geprüft. Ein Pack, dessen Artefakt nicht geparst werden kann oder das etwas anderes registriert als deklariert, wird abgelehnt, bevor irgendetwas aktiviert wird – anstatt sauber zu installieren und beim nächsten Tool-Aufruf zu versagen.

Wenn ein Pack nicht geladen werden kann

Ein Pack, das dieser Rechner durchsetzen soll, aber nicht ausführen kann, verweigert die Ereignisse, die seine fehlenden Policies abgedeckt hätten, anstatt sie still zu erlauben – als pack/failproofai-pack-unavailable, das den Policies, die geladen wurden, vorrangig ist, sodass die Ablehnung dem fehlenden Pack zugeordnet wird und nicht dem zufällig zuerst ausgelösten Guard. Ausnahme ist UserPromptSubmit, das stattdessen instruiert: Eine Ablehnung dort würde Sie vom Agenten aussperren, den Sie zur Behebung benötigen. Siehe Fehlerverhalten.

Offline und Mirrors

Informationen zur Veröffentlichung eigener Policies auf diese Weise finden Sie unter Ein Policy-Pack veröffentlichen.