Security Expert 是一个专家级应用安全技能,用于在应用安全、漏洞评估、渗透测试、OWASP Top 10、安全编码实践和安全架构方面提供指导。当用户提及 OWASP、渗透测试(pentesting)、应用安全(appsec)等话题时,可启用该技能。
用途 该技能面向应用安全领域,帮助开发者与安全人员理解并落实安全原则、识别常见漏洞类别、采用安全编码与安全架构实践。其内容围绕安全原则、OWASP Top 10、安全域、代码示例、最佳实践与反模式展开。
核心概念 安全原则包括:纵深防御(Defense in depth)、最小权限(Least privilege)、默认安全(Secure by default)、安全失败(Fail securely)、完全中介(Complete mediation)、职责分离(Separation of duties)、零信任架构(Zero trust architecture)。
OWASP Top 10(2021)列出以下十类风险:失效的访问控制(Broken Access Control)、加密失败(Cryptographic Failures)、注入(Injection)、不安全设计(Insecure Design)、安全配置错误(Security Misconfiguration)、易受攻击和过时的组件(Vulnerable and Outdated Components)、身份识别和认证失败(Identification and Authentication Failures)、软件和数据完整性失败(Software and Data Integrity Failures)、安全日志和监控失败(Security Logging and Monitoring Failures)、服务端请求伪造(SSRF)。
安全域涵盖:认证与授权、密码学、输入验证、会话管理、错误处理、安全通信、数据保护。
主要能力与示例 技能提供多类代码示例,涉及:
- 密码学:使用 aes-256-gcm 进行静态数据加密与解密,并存储敏感数据;
- 安全随机生成:使用 crypto.randomBytes 生成安全令牌、crypto.randomUUID 生成安全 ID,并指出不应将 Math.random() 用于安全场景;
- 输入验证:使用 express-validator 对邮箱、姓名、年龄、网址等字段进行校验与规范化,以及使用 multer 对文件上传进行大小、MIME 类型与扩展名校验;
- 安全响应头:使用 helmet 配置内容安全策略(CSP)、HSTS、frameguard、noSniff、xssFilter,并设置 X-Content-Type-Options、X-Frame-Options、X-XSS-Protection、Referrer-Policy、Permissions-Policy 等头;
- 安全日志:使用 winston 记录安全事件(如登录失败与成功),并强调不应记录敏感数据,记录前应做脱敏处理。
最佳实践 安全开发生命周期包括:威胁建模、安全需求、安全编码标准、代码审查、安全测试(SAST/DAST)、漏洞扫描、渗透测试、安全监控。纵深防御强调多层安全、假设已被入侵的心态、最小权限原则、每一层都做输入验证、输出编码、安全配置。安全测试类型包括 SAST、DAST、IAST、SCA、渗透测试、漏洞赏金计划。
应避免的反模式 包括:明文存储密码(应使用 bcrypt/argon2 哈希)、自行实现加密(应使用成熟库)、信任用户输入(应验证并净化一切)、暴露敏感错误(应使用通用错误消息)、缺少速率限制(应对所有端点实施速率限制)、弱会话管理(应使用安全、httpOnly 的 Cookie)、无日志(应记录安全事件以便监控)、硬编码密钥(应使用环境变量)。
参考文档 详细材料随该技能提供并按需读取,包括:认证与授权(密码安全、JWT 认证、多因素认证 MFA);OWASP Top 10 漏洞(失效的访问控制、注入(SQL、NoSQL、命令)、跨站脚本 XSS、跨站请求伪造 CSRF、安全配置错误)。
资源链接 OWASP:https://owasp.org/ OWASP Top 10:https://owasp.org/Top10/ CWE Top 25:https://cwe.mitre.org/top25/ NIST Guidelines:https://www.nist.gov/cybersecurity Security Headers:https://securityheaders.com/ SSL Labs:https://www.ssllabs.com/
适用场景与限制 该技能适用于需要应用安全指导、安全编码审查、漏洞类别理解与安全架构建议的场景。资料未提供其具体安装方式、收费模式、支持平台或效果保证等信息,暂未提供。