SuperAPI AI 工具集

security-implementation-guide

安全与审计

查看项目

更新于 10-15 09:42

技能介绍

用途

Security Implementation Guide 是一份面向 Web 应用的安全实现指南,定位为「生产可用的 Web 应用安全模式」(Production-ready security patterns for web applications)。它围绕四个方向组织内容:认证(Authentication)、授权(Authorization)、输入校验(Input Validation)以及常见漏洞防护(Common Vulnerability Prevention)。

主要能力

输入校验与清理

资料给出了使用 isomorphic-dompurify 进行 HTML 清理的示例:调用 DOMPurify.sanitize,并通过 ALLOWED_TAGS 限制为 ['b', 'i', 'em', 'strong', 'p']、通过 ALLOWED_ATTR 限制为空数组,封装为 sanitizeHTML 函数。

针对 SQL 注入,资料强调使用参数化查询,示例为:

const result = await db.query(
'SELECT * FROM users WHERE email = $1',
[email] // Never interpolate directly!
);

并附有注释说明「绝不要直接拼接」。

XSS 防护

资料说明 React 会自动转义,因此 <div>{userInput}</div> 是安全的;而 dangerouslySetInnerHTML 属于危险用法,应避免,若使用需配合 sanitizeHTML。同时给出设置安全响应头的示例:使用 helmet,并配置 contentSecurityPolicy 的 directives,其中 defaultSrc 为 ["'self'"],scriptSrc 与 styleSrc 均为 ["'self'", "'unsafe-inline'"]。

认证

密码哈希部分使用 bcrypt,saltRounds 设为 12,提供 hashPassword 与 verifyPassword 两个异步函数,分别调用 bcrypt.hash 与 bcrypt.compare。代码中带有 // allow-secret 标记。

限流部分使用 express-rate-limit,给出 loginLimiter 配置:windowMs 为 15 * 60 * 1000,max 为 5(5 attempts),message 为 'Too many login attempts',standardHeaders 为 true,legacyHeaders 为 false,并挂载到 app.post('/api/login', loginLimiter, loginHandler)。

CSRF 防护

使用 csurf,配置为 csrf({ cookie: true })。示例中对 GET /form 路由应用 csrfProtection 并通过 req.csrfToken() 渲染表单中的 csrfToken;对 POST /process 路由应用 csrfProtection 作为受保护端点。

集成点

资料列出的互补技能包括:security-threat-modeler(用于威胁分析)、backend-implementation-patterns(用于安全 API)、verification-loop(用于安全检查)。

适用场景与限制

该指南适用于需要在 Web 应用中落地认证、输入校验与常见漏洞防护的开发者,示例基于 Node.js/Express 生态(bcrypt、express-rate-limit、csurf、helmet)以及 TypeScript/React 前端。关于授权(Authorization)部分的具体实现细节、支持的平台范围、收费或价格信息,资料中暂未提供。