Gatewaystack Governance

v0.2.0

Deny-by-default governance for every tool call — identity, scope, rate limiting, injection detection, audit logging, plus opt-in output DLP, escalation, and...

2· 695·0 current·0 all-time
byDavid Crowe@davidcrowe
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (governance for tool calls) align with the included code and package.json: it implements identity, scope, rate limiting, injection detection, audit logging, optional DLP/behavioral features, and registers as an OpenClaw plugin. Required binary is only 'node', which is appropriate for a Node.js plugin.
Instruction Scope
SKILL.md and code are explicit about what they read/write: policy.json, audit.jsonl, baseline and state files (.agent-tool-usage.json, .pending-reviews.json, .behavioral-baseline.json). The plugin logs full context of tool calls (including arguments) to an append-only JSONL file — this is expected for audit but may capture sensitive data. Instructions do not appear to read unrelated system credentials or network endpoints; they focus on plugin policy, audit, and optional GatewayStack packages.
Install Mechanism
No remote-download install spec inside the skill bundle; SKILL.md instructs installation via 'openclaw plugins install @gatewaystack/gatewaystack-governance' / npm. package.json is present and lists peer dependencies (optional) from the same namespace. There are no obscure URLs, shorteners, or arbitrary archive extracts in the provided files.
Credentials
The skill requests no environment variables or external credentials. Peer dependencies for optional features are reasonable. The main proportionality concern is that audit logs and state files store tool arguments and summaries (which can contain secrets) — the plugin design requires this for audit/behavioral features, so it is proportionate but worth protecting.
Persistence & Privilege
The skill is not marked 'always:true' and uses the normal plugin extension points (openclaw.extensions → src/plugin.js). It registers hooks to intercept tool calls which is documented and expected for a governance plugin. It does create local state and log files in the plugin/session area, which is normal for this functionality.
Scan Findings in Context
[ignore-previous-instructions] expected: The pre-scan flagged prompt-injection strings found in SKILL.md; this is intentional and expected because the governance plugin includes injection-detection patterns (examples and self-test inputs include phrases like 'ignore previous instructions'). This is not evidence of malicious intent.
Assessment
This plugin appears to do what it claims, but take these precautions before installing: - Verify the package source and publisher on npm/GitHub (the SKILL.md and package.json point to a GitHub repo and an npm package). Confirm the maintainer identity and package integrity (checksums, npm publisher account). - Audit and protect the audit log and state files. The plugin records tool names and arguments (and optionally DLP matches) in audit.jsonl and other state files; these can contain secrets. Ensure the files are stored in a safe location with correct filesystem permissions (not world-readable) and consider enabling disk encryption or restricting access. - Review and customize policy.json before enabling wide privileges. The default policy is deny-by-default, but double-check allowedTools, roles, rate limits, and any escalation settings to match your environment. - Optional packages (@gatewaystack/transformabl-core, @gatewaystack/limitabl-core) are only required for DLP and behavioral features; install them only if you need those features and trust their source. - Run the plugin self-test (npm test or the CLI self-test) and inspect the code (already included) if you have concerns; if you operate in a high-security environment, trial in an isolated instance first. Overall: coherent and consistent with its stated purpose, but the audit/state data it creates is sensitive — protect those files and verify the package origin before deploying.

Like a lobster shell, security has layers — review code before you run it.

latestvk97bgvzwje80t9rns7xcyftn8s81jk76

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

🛡️ Clawdis
Binsnode

Comments