Security Guard

👤 yuyonghao-123 📦 v0.1.0 ⭐ 4.2 ⬇️ 852 下載
🔒 IT運維與安全 免費

📖 技能介紹

Security Guard - OpenClaw 安全守護系統

版本: 0.1.0
功能: 許可權管理 + 內容審查 + 審計日誌

功能特性

  • 許可權管理: 基於角色的細粒度許可權控制
  • 內容安全: 輸入/輸出內容審查
  • 審計日誌: 完整操作記錄和追蹤
  • 高風險確認: 敏感操作人工確認

安裝

cd skills/security-guard
npm install

快速開始

import { SecurityGuard } from './src/security-guard.js';

// 建立安全守護例項
const guard = new SecurityGuard({
  enabled: true,
  strictMode: false,
  permissions: {
    roles: {
      admin: { permissions: ['*'] },
      user: { permissions: ['read', 'write'] },
      guest: { permissions: ['read'] }
    }
  },
  contentSafety: {
    enabled: true,
    maxInputLength: 10000,
    blockedPatterns: ['password', 'secret', 'token']
  },
  audit: {
    logDir: './audit-logs',
    bufferSize: 100
  }
});

// 執行安全檢查
const result = await guard.check('user123', 'write', 'file.txt', 'content');
if (result.allowed) {
  console.log('操作允許');
} else {
  console.log('拒絕:', result.reason);
}

API 參考

SecurityGuard

建構函式

new SecurityGuard(config)

引數: - config.enabled - 是否啟用(預設:true) - config.strictMode - 嚴格模式(預設:false) - config.permissions - 許可權配置 - config.contentSafety - 內容安全配置 - config.audit - 審計日誌配置

check(userId, action, resource, content)

執行完整安全檢查

const result = await guard.check('user123', 'write', 'file.txt', 'some content');
// 返回: { allowed: true/false, reason: '...', checks: {...} }

PermissionManager

checkPermission(userId, action, resource)

檢查使用者許可權

const result = guard.permissionManager.checkPermission('user123', 'write', 'file.txt');
// 返回: { allowed: true/false, reason: '...' }

ContentSafety

checkInput(content)

來源於7w4.net。

檢查輸入內容

const result = guard.contentSafety.checkInput('user input');
// 返回: { safe: true/false, warnings: [...] }

AuditLogger

log(operation)

記錄操作日誌

await guard.auditLogger.log({
  userId: 'user123',
  action: 'write',
  resource: 'file.txt',
  status: 'success'
});

配置示例

基礎配置

const guard = new SecurityGuard({
  enabled: true,
  permissions: {
    defaultRole: 'user',
    roles: {
      admin: { permissions: ['*'] },
      user: { permissions: ['read', 'write'] }
    }
  }
});

嚴格模式

const guard = new SecurityGuard({
  enabled: true,
  strictMode: true,  // 所有操作都需要明確授權
  contentSafety: {
    enabled: true,
    blockedPatterns: ['password', 'secret', 'api_key']
  }
});

測試

npm test

License

MIT

🤖 AI 評測

這個 Skill 質量中等偏上。優點是功能齊全(許可權管理、內容審查、審計日誌),文件詳細容易上手,配置靈活。不足之處是安全檢測邏輯比較基礎,高階場景支援有限,缺少完整的測試覆蓋。適合需要基礎安全功能的專案,但如果追求企業級安全強度,可能需要額外加固。

📊 多維度評分

適應性3.8
規範性4
有效性4.4
可靠性4.4
可信度4.5

📁 包含檔案 (9 個)

📄 SKILL.md 2.9 KB
📄 _meta.json 143 B
📄 package.json 523 B
📄 skill-card.md 2.6 KB
📄 src/audit-logger.js 7.9 KB
📄 src/content-safety.js 7 KB
📄 src/permission-manager.js 4.4 KB
📄 src/security-guard.js 4.8 KB
📄 test/security-test.js 6.3 KB