mcpField
V
vulnerability-scanner

vulnerability-scanner

github.com/davila7安全33.0k394 次安装1 天前更新
代码仓库

关于 vulnerability-scanner

面向安全审查的技能指南,帮助开发者按攻击面、风险和根因系统检查漏洞。提供 OWASP 风险清单、代码模式参考及自动化验证脚本。

主要功能

  1. 01OWASP Top 10 风险检查
  2. 02攻击面映射与风险排序
  3. 03代码漏洞模式识别
  4. 04依赖与供应链安全检查
  5. 05安全原则验证脚本

适用场景

  1. 01审查应用的访问控制与输入处理
  2. 02按可利用性和资产价值排序漏洞
  3. 03检查依赖、构建流程和密钥风险

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/davila7/claude-code-templates --skill vulnerability-scanner

安装后在 Claude Code 中输入/vulnerability-scanner确认已加载。

附带文件checklists.mdscripts/security_scan.py

详细介绍

漏洞扫描器

像攻击者一样思考,像专家一样防御。2025 威胁态势认知。

🔧 运行时脚本

执行以进行自动化验证:

脚本用途用法
scripts/security_scan.py验证已应用的安全原则python scripts/security_scan.py <project_path>

📋 参考文件

文件用途
checklists.mdOWASP Top 10、认证、API、数据保护检查清单

1. 安全专家思维模式

核心原则
原则应用
假设已被入侵像攻击者已经在内部一样进行设计
零信任从不信任,始终验证
纵深防御多层防护,无单点
最小权限仅授予所需的最小访问权限
安全失败出错时拒绝访问
威胁建模问题

在扫描之前,先问:

  1. 我们在保护什么?(资产)
  2. 谁会攻击?(威胁行为者)
  3. 他们会如何攻击?(攻击向量)
  4. 影响是什么?(业务风险)

2. OWASP Top 10:2025

风险类别
排名类别思考要点
A01失效的访问控制谁能访问什么?IDOR、SSRF
A02安全配置错误默认值、标头、暴露的服务
A03软件供应链 🆕依赖项、CI/CD、构建完整性
A04加密失败弱加密、暴露的密钥
A05注入用户输入 → 系统命令
A06不安全设计有缺陷的架构
A07认证失败会话、凭据管理
A08完整性失败未签名的更新、被篡改的数据
A09日志与告警盲点、无监控
A10异常情况 🆕错误处理、失效开放状态
2025 关键变化
2021 → 2025 Shifts:
├── SSRF merged into A01 (Access Control)
├── A02 elevated (Cloud/Container configs)
├── A03 NEW: Supply Chain (major focus)
├── A10 NEW: Exceptional Conditions
└── Focus shift: Root causes > Symptoms

3. 供应链安全(A03)

攻击面
向量风险要问的问题
依赖项恶意软件包我们是否审计新依赖项?
锁文件完整性攻击它们是否已提交?
构建管道CI/CD 被攻陷谁可以修改?
注册表域名抢注来源是否已验证?
防御原则
  • 验证软件包完整性(校验和)
  • 锁定版本,审计更新
  • 对关键依赖项使用私有注册表
  • 签名并验证制品

4. 攻击面映射

要映射什么
类别元素
入口点API、表单、文件上传
数据流输入 → 处理 → 输出
信任边界检查认证/授权的位置
资产密钥、PII、业务数据
优先级矩阵
Risk = Likelihood × Impact

High Impact + High Likelihood → CRITICAL
High Impact + Low Likelihood  → HIGH
Low Impact + High Likelihood  → MEDIUM
Low Impact + Low Likelihood   → LOW

5. 风险优先级排序

CVSS + 上下文
因素权重问题
CVSS 评分基础严重性漏洞有多严重?
EPSS 评分利用可能性它正在被利用吗?
资产价值业务上下文什么处于风险之中?
暴露面攻击面是否面向互联网?
优先级排序决策树
Is it actively exploited (EPSS >0.5)?
├── YES → CRITICAL: Immediate action
└── NO → Check CVSS
         ├── CVSS ≥9.0 → HIGH
         ├── CVSS 7.0-8.9 → Consider asset value
         └── CVSS <7.0 → Schedule for later

6. 异常情况(A10 - 新增)

失效开放 vs 失效关闭
场景失效开放(不好)失效关闭(好)
认证错误允许访问拒绝访问
解析失败接受输入拒绝输入
超时永远重试限制 + 中止
要检查什么
  • 捕获所有异常并忽略的异常处理器
  • 安全操作上缺少错误处理
  • 认证/授权中的竞态条件
  • 资源耗尽场景

7. 扫描方法

基于阶段的方法
1. RECONNAISSANCE
   └── Understand the target
       ├── Technology stack
       ├── Entry points
       └── Data flows

2. DISCOVERY
   └── Identify potential issues
       ├── Configuration review
       ├── Dependency analysis
       └── Code pattern search

3. ANALYSIS
   └── Validate and prioritize
       ├── False positive elimination
       ├── Risk scoring
       └── Attack chain mapping

4. REPORTING
   └── Actionable findings
       ├── Clear reproduction steps
       ├── Business impact
       └── Remediation guidance

8. 代码模式分析

高风险模式
模式风险关注点
查询中的字符串拼接注入"SELECT * FROM " + user_input
动态代码执行RCEeval()、exec()、Function()
不安全的反序列化RCEpickle.loads()、unserialize()
路径操纵遍历文件路径中的用户输入
禁用安全机制多种verify=False、--insecure
密钥模式
类型指示符
API 密钥api_key、apikey、高熵
令牌token、bearer、jwt
凭据password、secret、key
云AWS_、AZURE_、GCP_ 前缀

9. 云安全注意事项

责任共担
层你负责提供商负责
数据✅❌
应用✅❌
操作系统/运行时视情况而定视情况而定
基础设施❌✅
云特定检查
  • IAM:是否应用了最小权限?
  • 存储:是否有公开存储桶?
  • 网络:安全组是否已收紧?
  • 密钥:是否使用密钥管理器?

10. 反模式

❌ 不要✅ 要
在不了解的情况下扫描先绘制攻击面
对每个 CVE 都告警按可利用性 + 资产进行优先级排序
忽略误报维护经验证的基线
只修复症状解决根本原因
部署前扫描一次持续扫描
盲目信任第三方依赖验证完整性、审计代码

11. 报告原则

发现结构

每项发现都应回答:

  1. 是什么? - 清晰的漏洞描述
  2. 在哪里? - 确切位置(文件、行、端点)
  3. 为什么? - 根本原因解释
  4. 影响? - 业务后果
  5. 如何修复? - 具体修复措施
严重性分类
严重性标准
严重RCE、认证绕过、大规模数据泄露
高数据泄露、权限提升
中范围有限,需要特定条件
低信息性、最佳实践

记住: 漏洞扫描发现问题。专家思维会优先考虑重要的事项。始终问自己:“攻击者会利用这个做什么?”

评论

支持 Markdown