security-and-hardening
强化代码以抵御漏洞。适用于处理用户输入、身份验证、数据存储或外部集成时。适用于构建任何接受不可信数据、管理用户会话或与第三方服务交互的功能时。适用于涉及个人数据或隐私合规(GDPR、CCPA)时。
技能说明addyosmani/agent-skills
强化代码以抵御漏洞。适用于处理用户输入、身份验证、数据存储或外部集成时。适用于构建任何接受不可信数据、管理用户会话或与第三方服务交互的功能时。适用于涉及个人数据或隐私合规(GDPR、CCPA)时。
技能简介
security-and-hardening 是一项代码安全加固技能,帮助开发者在编码阶段识别并防范常见漏洞。它提供威胁建模方法和安全编码规范,适用于处理用户输入、身份验证、数据存储或外部集成的场景,确保代码从设计到实现都遵循安全优先原则。
使用场景
- 构建任何接受用户输入或不可信数据的功能
- 实现身份验证、授权或用户会话管理
- 存储或传输敏感数据(如 PII、支付信息)
- 集成第三方 API、webhook 或回调
- 涉及 GDPR、CCPA 等隐私合规要求时
使用方法
启用方式:将技能文件放置于 Agent 的 skills 目录(如 .cursor/skills/security-and-hardening/SKILL.md),配置后即可自动加载。使用时向 Agent 提出安全审查或加固请求即可。
使用该技能时,按以下流程操作:
- 威胁建模先行:在加固代码前,先识别信任边界(不可信数据进入系统的位置)、明确保护对象(凭据、PII 等),并使用 STRIDE 模型逐一分析威胁。
- 遵守三层边界系统:
- 无条件执行:外部输入必校验、数据库查询必用参数化、输出必编码、通信必用 HTTPS、密码必用 bcrypt/scrypt/argon2 哈希、会话 Cookie 必须设置 httpOnly/secure/sameSite。
- 需人工确认:新增认证流程、存储新类别敏感数据、添加外部集成、修改 CORS 配置、新增文件上传等操作前必须获得批准。
- 绝不执行:不向版本库提交密钥、不记录敏感数据、不信任客户端校验、不因便利禁用安全头、不对用户数据使用
eval()或innerHTML、不将会话令牌存于 localStorage、不向用户暴露堆栈跟踪信息。
- 应用 OWASP Top 10 预防模式:针对注入、认证失效、XSS、访问控制等常见漏洞,使用技能提供的安全代码模板进行加固。
注意事项
- 所有外部输入均视为不可信数据,LLM 输出同样属于信任边界。
- 安全事件必须记录审计日志,防止否认。
- 每次发布前需对锁文件(lockfile)执行包管理器的原生安全审计。