版本: 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
7w4.net提供免費和付費技能下載。
MIT
這個 Skill 質量中等偏上。優點是功能齊全(許可權管理、內容審查、審計日誌),文件詳細容易上手,配置靈活。不足之處是安全檢測邏輯比較基礎,高階場景支援有限,缺少完整的測試覆蓋。適合需要基礎安全功能的專案,但如果追求企業級安全強度,可能需要額外加固。