SuperAPI AI 工具集

secure-coding-practices

编程与开发

查看项目

更新于 10-16 01:37

技能介绍

用途:该技能用于在开发中实施安全优先的编码模式,通过防御性编程与主动威胁缓解策略提供指导。适用时机包括:实现认证与授权系统、处理用户输入或外部数据、处理敏感数据(PII、凭证、财务信息)、构建 API 与 Web 服务、管理密码学操作(哈希、加密)、开展安全代码审查、为团队建立安全开发标准、评估第三方依赖库、设计错误处理与日志策略、实现会话管理与令牌处理。

核心原则:纵深防御(不依赖单一防护机制)、安全失败(出错时默认拒绝访问、拒绝输入并记录事件)、最小权限(用户、服务、数据库仅授予必要访问)、零信任(验证所有输入、编码所有输出、验证所有来源、认证所有请求)。

主要能力与用法:提供按主题拆分的参考文档,通过 Quick Reference 表加载,包括输入验证与净化(references/input-validation.md)、输出编码与 XSS 防护(references/output-encoding.md)、认证与会话(references/authentication.md)、密码学与密钥管理(references/cryptography.md)、依赖与供应链(references/dependencies.md)、错误处理与日志(references/error-handling.md)、安全默认值与配置(references/secure-defaults.md)。工作流为:识别安全需求→加载相关参考→实施安全控制→用安全扫描器、渗透测试、代码审查验证→持续监控维护。

检查清单要点:服务端用允许列表验证输入并使用模式校验库;按上下文编码输出并设置 CSP 与安全 HTTP 头;用 bcrypt/Argon2(salt rounds ≥12)哈希密码,使用 HttpOnly、SameSite、仅 HTTPS 的 Cookie 并对认证端点限流;使用 AES-256-GCM 加密、crypto.randomBytes() 生成密钥,密钥存于环境变量或 KMS,不自行实现加密算法;定期运行 npm audit、锁定依赖版本、用 Snyk/Dependabot 监控;向用户返回通用错误信息,日志带关联 ID 且不得记录密码、令牌或 PII。

高风险模式(代码审查需注意):SQL 字符串拼接、由用户输入直接构造文件路径、对用户输入使用 eval()/Function()/exec()、反序列化不可信数据、硬编码密钥、缺少鉴权检查、弱加密(MD5、SHA1、ECB)、生产环境详细错误信息、缺少输入验证、不安全的会话配置。

限制:本技能为文档化指导,具体实现效果、支持语言与框架范围、是否附带可执行工具等暂未提供;参考文件路径基于资料原文,实际可用性暂未提供。