OpenClaw gebruiktDocumentation 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/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.
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.
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: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 rawfs, 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.