Install
openclaw skills install yuyonghao-security-guardProvides role-based access control, input/output content review, sensitive operation confirmation, and comprehensive audit logging for secure system management.
openclaw skills install yuyonghao-security-guard版本: 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);
}
new SecurityGuard(config)
参数:
config.enabled - 是否启用(默认:true)config.strictMode - 严格模式(默认:false)config.permissions - 权限配置config.contentSafety - 内容安全配置config.audit - 审计日志配置执行完整安全检查
const result = await guard.check('user123', 'write', 'file.txt', 'some content');
// 返回: { allowed: true/false, reason: '...', checks: {...} }
检查用户权限
const result = guard.permissionManager.checkPermission('user123', 'write', 'file.txt');
// 返回: { allowed: true/false, reason: '...' }
检查输入内容
const result = guard.contentSafety.checkInput('user input');
// 返回: { safe: true/false, warnings: [...] }
记录操作日志
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
MIT