Start / Blog

Blog

Projektvertrauen ist ein Ladeschutz, kein Sandkasten

Beim ersten Start in einem fremden Repository fragt Pi, ob du dem Projekt vertraust. Die Frage klingt nach Sicherheitsabfrage — und wird deshalb gern als eine gelesen. Sie ist aber etwas anderes.

Der Agent erbt dein Benutzerkonto

Pi läuft mit den Rechten des Prozesses, der es startet: Lesen, Schreiben, Editieren, Shell-Befehle. Einen eingebauten Sandkasten gibt es nicht — und das ist Absicht, weil er laut Dokumentation vor allem eine Sicherheitsillusion erzeugen würde. Auch Extensions sind gewöhnliche TypeScript-Module mit genau denselben Rechten. Sicherheit entsteht damit außerhalb von Pi.

„Only an input-loading guard”

So bezeichnet die Doku das Projektvertrauen selbst. Es entscheidet, ob Pi die projektlokale .pi/settings.json, Extensions und Skills überhaupt lädt — es verhindert also, dass ein Repository den Agenten still umkonfiguriert. Deine Dateien und die Shell schützt es nicht. Wer defaultProjectTrust: "always" global setzt und dann fremde Repos öffnet, hat genau diesen Schutz abgeschaltet.

Weniger Werkzeuge statt mehr Vertrauen

Der praktischste Hebel ist die Werkzeugliste. Eine Analyse braucht selten mehr als vier Werkzeuge:

  • pi --tools read,grep,find,ls — strikte Erlaubnisliste
  • pi --exclude-tools bash — keine Shell
  • pi --no-tools -p "…" — reines Fragen

Ohne write, edit und bash kann eine Sitzung schlicht nichts verändern.

Mehr dazu im Seminar

Rechte passend zum Projekt schneiden, Tool-Listen setzen und Pi bei Bedarf in einen Container packen: Das zeigt das Modul Sicherheit & Agentenzugriff.

Zum Seminar Pi Coding Agent Praxis

← Alle Beiträge