360 Secure SkillHub
360 安全技能中心

Agent Constitution Guard

以 Node CLI 与 JS 库形式提供多层守卫:初始化宪法、添加不可变/所有者/可变/建议四级规则,动作前按不可变检查、策略引擎、人工升级、审计日志四层判定并输出允许或拒绝结果,支持审计查询与 CSV 导出、CI 部署门禁及中间件集成。

sky-lv
sky-lv
热度 53.34
最近更新 2026-05-11 17:44:40
分类:安全依赖:代码执行 / 读写文件应用场景:工作流 / DevOps / 自动化脚本

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add agent-constitution-guard
Metadata
description
Constitutional guardrails for AI agents — define immutable behavioral rules, permission boundaries, escalation policies, and safety interlocks that prevent agents from exceeding authorized scope regardless of context or pressure
keywords
openclaw, skill, automation, ai-agent, constitution, guardrail, safety, permission, boundary, behavioral-constraint, escalation, audit-trail, compliance, guard, restrict, deny, allow, policy
name
agent-constitution-guard
triggers
agent constitution, guardrail, permission guard, safety rule, behavioral constraint, boundary check, escalation policy, agent safety, immutable rule, compliance guard

agent-constitution-guard

Constitutional guardrails for AI agents — define immutable behavioral rules, permission boundaries, escalation policies, and safety interlocks that agents cannot override regardless of context or user pressure.

Skill Metadata

  • Slug: agent-constitution-guard
  • Version: 1.1.0
  • Author: SKY-lv
  • Description: Production-grade constitutional guardrails system for AI agents. Define immutable behavioral rules, multi-level permission boundaries, human escalation policies, safety interlocks, and comprehensive audit trails. Agents must obey these rules regardless of context, prompt injection, or social engineering attempts.
  • Category: safety
  • License: MIT
  • Trigger Keywords: constitution, guardrail, permission guard, safety rule, behavioral constraint, boundary check, escalation policy, agent safety, immutable rule, compliance guard, red line, permission boundary

Why This Matters

AI agents with access to files, APIs, and external systems need enforceable boundaries. Without constitutional guardrails:

  • An agent could delete production databases responding to a misleading prompt
  • An agent could exfiltrate sensitive data to external endpoints
  • An agent could spend thousands of dollars on API calls without oversight
  • An agent could modify system files, breaking the host environment

This skill provides enforceable, auditable, multi-layered protection.


Architecture

``` ┌─────────────────────────────────────┐ │ AGENT ACTION REQUEST │ └──────────────────┬──────────────────┘ │ ▼ ┌─────────────────────────────────────┐ │ Layer 1: IMMUTABLE CHECK │ ← Cannot be overridden by anyone │ (Hard safety boundaries) │ └──────────────────┬──────────────────┘ │ PASS ▼ ┌─────────────────────────────────────┐ │ Layer 2: POLICY ENGINE │ ← Rule-based permission checks │ (Context-aware rules) │ └──────────────────┬──────────────────┘ │ PASS ▼ ┌─────────────────────────────────────┐ │ Layer 3: ESCALATION │ ← Human approval for sensitive ops │ (Owner confirmation) │ └──────────────────┬──────────────────┘ │ APPROVED ▼ ┌─────────────────────────────────────┐ │ Layer 4: AUDIT LOG │ ← Every check is recorded │ (Immutable audit trail) │ └─────────────────────────────────────┘ ```


Step-by-Step Usage

Step 1: Initialize Constitution

```bash node constitution.js init --name "my-agent" --owner "admin@company.com" ``` Creates .constitution/ directory with default rules and audit log.

Step 2: Add Rules

```bash

Immutable rule: never call external APIs without confirmation

node constitution.js rule add
--level immutable
--action deny
--scope "external_write"
--description "Never write to external APIs without owner confirmation"
--escalation owner

Owner-only rule: can modify workspace files

node constitution.js rule add
--level owner-only
--action allow
--scope "workspace_write"
--description "Can write files within workspace directory"

Mutable rule: can read any file

node constitution.js rule add
--level mutable
--action allow
--scope "file_read"
--description "Read any local file" ```

Step 3: Check Permissions Before Action

```javascript const guard = require('./constitution.js');

// Check if an action is allowed const decision = guard.check('external_write', { target: 'https://api.stripe.com/charges', payload: { amount: 9999 }, userId: 'user-123' });

console.log(decision); // { // allowed: false, // layer: 'immutable', // rule: 'R001', // reason: 'External write requires owner confirmation', // escalation: 'owner', // escalationMessage: 'Agent wants to POST to https://api.stripe.com/charges. Approve?' // } ```

Step 4: Handle Escalation

```javascript if (!decision.allowed && decision.escalation) { // Send escalation request to owner const approved = await guard.escalate(decision, { channel: 'webhook', // or 'email', 'slack', 'console' timeout: 300000, // 5 min timeout details: decision.escalationMessage });

if (approved) { await executeAction(); } } ```

Step 5: Review Audit Trail

```bash

View all decisions in last 24 hours

node constitution.js audit --last 24h

View only denied actions

node constitution.js audit --status denied

View audit for specific scope

node constitution.js audit --scope external_write

Export for compliance reporting

node constitution.js audit --export csv --output audit_2024_Q1.csv ```


Rule Levels Explained

Level Who Can Modify Override Use Case
Immutable Nobody Never Delete production, external network access, credential access
Owner-only Agent owner only Never Deploy to production, modify billing, send emails
Mutable Agent (within bounds) Self-adjust File read paths, log verbosity, cache settings
Advisory Anyone Always Performance hints, optimization suggestions

Real-World Examples

Example 1: Production Database Protection

```json { "id": "DB-PROTECT", "level": "immutable", "action": "deny", "scope": ["database_delete", "database_drop", "database_truncate"], "description": "Never delete, drop, or truncate any production database", "conditions": { "environment": ["production", "prod"] } } ```

Example 2: Cost Control ($100/day API budget)

```json { "id": "COST-GUARD", "level": "owner-only", "action": "allow", "scope": "external_api_call", "description": "Allow external API calls within daily budget", "limits": { "maxDailyCost": 100, "maxCostPerCall": 10 }, "escalation": "owner" } ```

Example 3: Data Privacy (GDPR Compliance)

```json { "id": "GDPR-GUARD", "level": "immutable", "action": "deny", "scope": ["data_export", "data_share"], "description": "Never export or share PII data without legal approval", "conditions": { "dataTypes": ["email", "phone", "ssn", "address", "financial"] } } ```


Configuration Reference

```json { "constitution": { "version": "1.0", "agent": "my-agent", "owner": "admin@company.com", "defaults": { "denyAction": "block", "logLevel": "all", "escalationTimeout": 300000 }, "layers": { "immutable": { "enabled": true, "log": true }, "policy": { "enabled": true, "log": true }, "escalation": { "enabled": true, "channels": ["console"] }, "audit": { "enabled": true, "retention": "90d" } } } } ```


Integration Patterns

Pattern 1: Middleware for Express/Fastify

```javascript app.use(async (req, res, next) => { const decision = guard.check('external_write', { method: req.method, url: req.url }); if (!decision.allowed) return res.status(403).json(decision); next(); }); ```

Pattern 2: OpenClaw Skill Wrapper

```javascript // Before executing any tool call: const toolGuard = guard.checkForTool(toolName, toolParams); if (!toolGuard.allowed) { if (toolGuard.escalation === 'owner') { // Ask OpenClaw to prompt user for approval } return { blocked: true, reason: toolGuard.reason }; } ```

Pattern 3: CI/CD Pipeline Gate

```bash

In your deployment pipeline:

node constitution.js ci-check --env production --strict

Exit code 0 = safe to deploy, 1 = violations found

```