Naar hoofdinhoud gaan

Documentation Index

Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

OpenClaw gebruikt @openclaw/fs-safe voor beveiligingsgevoelige lokale bestandsbewerkingen: root-gebonden lees-/schrijfbewerkingen, atomische vervanging, archiefextractie, tijdelijke werkruimten, JSON-status en afhandeling van geheime bestanden. Het doel is een consistente bibliotheekvangrail voor vertrouwde OpenClaw-code die onvertrouwde padnamen ontvangt. Het is geen sandbox. Hostbestandssysteemrechten, OS-gebruikers, containers en het agent-/toolbeleid bepalen nog steeds de werkelijke impactradius.

Standaard: geen Python-helper

OpenClaw zet de fs-safe POSIX Python-helper standaard uit. Waarom:
  • de gateway zou geen permanente Python-sidecar moeten starten tenzij een operator daarvoor heeft gekozen;
  • veel installaties hebben de extra hardening tegen mutaties in bovenliggende mappen niet nodig;
  • het uitschakelen van Python houdt pakket-/runtimegedrag voorspelbaarder in desktop-, Docker-, CI- en gebundelde appomgevingen.
OpenClaw wijzigt alleen de standaardinstelling. Als je expliciet een modus instelt, respecteert fs-safe die:
# Default OpenClaw behavior: Node-only fs-safe fallbacks.
OPENCLAW_FS_SAFE_PYTHON_MODE=off

# Opt into the helper when available, falling back if unavailable.
OPENCLAW_FS_SAFE_PYTHON_MODE=auto

# Fail closed if the helper cannot start.
OPENCLAW_FS_SAFE_PYTHON_MODE=require

# Optional explicit interpreter.
OPENCLAW_FS_SAFE_PYTHON=/usr/bin/python3
De generieke fs-safe-namen werken ook: FS_SAFE_PYTHON_MODE en FS_SAFE_PYTHON.

Wat beschermd blijft zonder Python

Met de helper uit gebruikt OpenClaw nog steeds de Node-paden van fs-safe voor:
  • het weigeren van relatieve padontsnappingen zoals .., absolute paden en padscheidingstekens waar alleen namen zijn toegestaan;
  • het oplossen van bewerkingen via een vertrouwde roothandle in plaats van ad-hoccontroles met path.resolve(...).startsWith(...);
  • het weigeren van symlink- en hardlinkpatronen op API’s die dat beleid vereisen;
  • het openen van bestanden met identiteitscontroles waar de API bestandsinhoud retourneert of verbruikt;
  • atomische sibling-temp-schrijfbewerkingen voor status-/configuratiebestanden;
  • byte-limieten voor leesbewerkingen en archiefextractie;
  • privémodi voor geheimen en statusbestanden waar de API die vereist.
Deze beschermingen dekken het normale OpenClaw-dreigingsmodel: vertrouwde Gateway-code die onvertrouwde model-/Plugin-/kanaalpadinvoer afhandelt binnen één vertrouwde operatorgrens.

Wat Python toevoegt

Op POSIX houdt de optionele helper van fs-safe één permanent Python-proces actief en gebruikt fd-relatieve bestandssysteembewerkingen voor mutaties in bovenliggende mappen, zoals hernoemen, verwijderen, mkdir, stat/list en sommige schrijfpaden. Dat verkleint same-UID-racevensters waarin een ander proces een bovenliggende map kan verwisselen tussen validatie en mutatie. Het is defense in depth voor hosts waar onvertrouwde lokale processen dezelfde mappen kunnen wijzigen waarin OpenClaw werkt. Als je deployment dat risico heeft en gegarandeerd Python beschikbaar is, gebruik dan:
OPENCLAW_FS_SAFE_PYTHON_MODE=require
Gebruik require in plaats van auto wanneer de helper deel uitmaakt van je beveiligingspositie; auto valt bewust terug op Node-only-gedrag als de helper niet beschikbaar is.

Richtlijnen voor Plugin en core

  • Bestandsaccess voor Plugins moet via helpers van openclaw/plugin-sdk/* lopen, niet via raw fs, wanneer een pad afkomstig is uit een bericht, modeluitvoer, configuratie of Plugin-invoer.
  • Core-code moet de lokale fs-safe-wrappers onder src/infra/* gebruiken, zodat het procesbeleid van OpenClaw consistent wordt toegepast.
  • Archiefextractie moet de fs-safe-archiefhelpers gebruiken met expliciete limieten voor grootte, aantal entries, links en bestemming.
  • Geheimen moeten OpenClaw-geheimhelpers of fs-safe-geheim-/privéstatushelpers gebruiken; schrijf geen eigen mode-controles rond fs.writeFile.
  • Als je isolatie tegen vijandige lokale gebruikers nodig hebt, vertrouw dan niet alleen op fs-safe. Voer afzonderlijke gateways uit onder afzonderlijke OS-gebruikers/hosts of gebruik sandboxing.
Gerelateerd: Beveiliging, Sandboxing, Exec-goedkeuringen, Geheimen.