关于 security-testing-patterns
为开发与安全团队提供安全测试方法指导,涵盖静态、动态、依赖分析及人工测试,并强调分层检测与风险排序。
主要功能
- 01SAST、DAST 与 SCA 方法
- 02渗透测试与模糊测试
- 03CI/CD 安全扫描规划
- 04发现项分级与修复跟踪
适用场景
- 01设计 CI/CD 安全测试流程
- 02评估 API 与认证授权安全
- 03审查漏洞并安排修复优先级
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ nickcrew/ claude-cortex --skill security-testing-patterns安装后在 Claude Code 中输入/security-testing-patterns确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/api-security.mdautomation-pipeline.mddast.mdfuzzing.mdpenetration-testing.mdsast.mdsca.md详细介绍
安全测试模式
有关实施全面安全测试策略的专家指导,包括静态分析、动态测试、渗透测试和漏洞评估。
何时使用此技能
- 在 CI/CD 中实施安全测试流水线
- 开展安全审计和漏洞评估
- 验证应用的安全控制和防御措施
- 执行渗透测试和安全审查
- 配置 SAST/DAST 工具并解读结果
- 测试身份验证和授权机制
- 评估 API 安全性及其对 OWASP 标准的合规性
- 将安全扫描集成到开发工作流中
- 响应安全问题并确定修复优先级
- 培训团队掌握安全测试方法
核心概念
安全测试金字塔(分层方法)
- 单元安全测试 - 测试安全功能(加密、验证)
- SAST - 开发期间进行静态分析
- SCA - 依赖项和组件漏洞扫描
- DAST - 测试运行中的应用
- IAST - 结合 SAST 和 DAST 的交互式分析
- 渗透测试 - 专家执行的手动安全测试
- 红队演练 - 对抗性模拟测试
测试类别
静态测试(SAST)
- 无需执行即可分析源代码
- 在开发生命周期早期检测问题
- 完整的代码覆盖率
- 误报率较高
动态测试(DAST)
- 测试运行中的应用
- 检测运行时和配置问题
- 与编程语言无关
- 需要已部署的环境
组成分析(SCA)
- 扫描依赖项中的漏洞
- 跟踪许可证合规性
- 提供自动修复选项
手动测试
- 渗透测试
- 业务逻辑验证
- 复杂攻击场景
快速参考
| 任务 | 加载参考资料 |
|---|---|
| 静态应用安全测试(SAST) | skills/security-testing-patterns/references/sast.md |
| 动态应用安全测试(DAST) | skills/security-testing-patterns/references/dast.md |
| 软件组成分析(SCA) | skills/security-testing-patterns/references/sca.md |
| 渗透测试技术 | skills/security-testing-patterns/references/penetration-testing.md |
| API 安全测试(OWASP Top 10) | skills/security-testing-patterns/references/api-security.md |
| 模糊测试和基于属性的测试 | skills/security-testing-patterns/references/fuzzing.md |
| 安全自动化流水线 | skills/security-testing-patterns/references/automation-pipeline.md |
安全测试工作流
阶段 1:规划
- 定义安全要求和威胁模型
- 选择合适的测试工具和技术
- 建立安全基线
- 设置严重性阈值和验收标准
阶段 2:自动化测试
- SAST - 集成到 IDE 和 CI/CD 流水线中
- SCA - 配置依赖项扫描(npm audit、Snyk、Dependabot)
- DAST - 安排针对已部署环境的扫描
- 容器扫描 - 扫描 Docker 镜像(Trivy、Aqua)
阶段 3:手动测试
- 身份验证和授权测试
- 业务逻辑漏洞评估
- API 安全测试(OWASP API Top 10)
- 渗透测试和漏洞利用
阶段 4:分析与修复
- 根据严重性和可利用性对发现的问题进行分类
- 排除误报
- 根据风险确定修复优先级
- 跟踪漏洞直至解决
- 通过回归测试验证修复
阶段 5:持续监控
- 监控依赖项中的新漏洞
- 代码变更后重新扫描
- 定期开展渗透测试
- 更新安全基线和策略
常见错误
工具选择
- 错误:只使用 SAST 或只使用 DAST
- 正确:采用分层方法,结合多种测试类型
误报管理
- 错误做法:未经审查便忽略或屏蔽发现的问题
- 正确做法:采用系统化的分流流程,并由安全团队进行验证
集成时机
- 错误做法:仅在发布前进行安全测试
- 正确做法:在整个开发过程中持续进行安全测试
范围定义
- 错误做法:仅测试主应用程序代码
- 正确做法:将依赖项、API、基础设施和第三方集成纳入测试范围
修复优先级
- 错误做法:对所有发现的问题一视同仁
- 正确做法:基于风险确定优先级(严重性 × 可利用性 × 业务影响)
测试中的身份验证
- 错误做法:在未进行身份验证的情况下执行 DAST 扫描
- 正确做法:配置经过身份验证的扫描,以测试受保护的功能
最佳实践
- 左移:在开发早期集成安全测试
- 持续测试:在 CI/CD 流水线中自动执行安全扫描
- 分层方法:结合 SAST、DAST、SCA 和手动测试
- 基于风险的测试:根据威胁模型确定测试优先级
- 误报管理:建立发现问题的分流流程
- 修复跟踪:使用 SIEM/SOAR 进行漏洞管理
- 定期更新:确保安全工具和特征库保持最新
- 安全倡导者:对开发人员进行安全测试培训
- 指标和 KPI:持续跟踪安全态势
- 合规性验证:将测试与监管要求对应起来
资源
- OWASP 测试指南:https://owasp.org/www-project-web-security-testing-guide/
- OWASP API 安全:https://owasp.org/www-project-api-security/
- NIST SP 800-115:信息安全测试技术指南
- PTES:渗透测试执行标准
- SANS 安全测试:https://www.sans.org/security-resources/
- HackerOne 方法论:https://www.hackerone.com/ethical-hacker/hack-learn
- PortSwigger Academy:https://portswigger.net/web-security
评论
支持 Markdown