文章总结: CodeVulnScan是一款基于正则表达式的代码安全审计工具,专为红队成员快速定位代码中的潜在漏洞Sink点而设计。该工具支持DotNet、Java、PHP、Python等多种主流编程语言,能够自动扫描配置文件中的敏感信息,并提供高度可定制的规则系统。工具具备并行扫描能力,可配置工作协程数量,扫描结果包含文件路径、行号、匹配内容等详细信息,并支持CSV导出功能。虽然工具开发于2023年2月,技术实现可能已过时,但仍具有实用价值,适合作为代码审计的辅助工具。
综合评分: 75
文章分类: 代码审计,安全工具,WEB安全,漏洞分析,红队
CodeVulnScan-基于正则的代码审计工具
原创
guchangan1
L0una
2025年8月15日 14:37
北京
🔍 工具介绍
CodeVulnScan 是一款基于正则表达式的代码安全审计工具,专为红队成员快速定位sink设计。它能够快速扫描目标代码库,定位潜在的漏洞 Sink 点,提升代码审计效率。
注意:工具发现的 Sink 点仅表示存在潜在风险,红队师傅们需要进一步分析 Source 点并验证漏洞是否可被利用。
开发于 2023.2,由于本人已不参与相关工作,开源出来给大家参考使用。虽然技术实现上可能过时,但工具本身仍具有实用价值。
✨ 核心特性
🛡️ 多语言支持
- 全面覆盖 – 支持 DotNet、Java、PHP、Python 等主流开发语言
- 敏感信息检测 – 自动扫描配置文件中的密码、密钥、令牌等敏感信息
⚙️ 高度可定制
- 自定义规则 – 轻松修改各语言的 rule.json 文件,定制专属规则库
- 灵活配置 – 支持指定文件后缀、排除目录、设置最大扫描深度
🚀 高效性能
- 并行扫描 – 可配置工作协程数量,充分利用多核性能
- 精准定位 – 扫描结果包含文件路径、行号、匹配内容、规则名称及描述
- 高亮显示 – 结果高亮展示,便于快速定位问题
📊 结果处理
- 详细模式 – 可选输出更多扫描信息,便于深入分析
- CSV导出 – 支持将扫描结果导出为CSV文件,便于后续处理和团队协作
🔧 扫描结果示例
执行扫描后,CodeVulnScan 会以高亮方式显示扫描结果,包括文件路径、行号、匹配内容、规则名称和描述:
🚀 快速开始
安装
# 下载最新版本git clone https://github.com/guchangan1/CodeVulnScan.git# 进入项目目录cd CodeVulnScan# 编译项目go build -o codevulnscan
使用示例
# .NET代码审计./codevulnscan -T net -d /path/to/project# Java代码审计(排除特定目录)./codevulnscan -T java -d /path/to/project -nd /path/to/project/vendor# PHP代码审计(详细模式)./codevulnscan -T php -d /path/to/project -v# Python代码审计(自定义并行数)./codevulnscan -T python -d /path/to/project -w 8# 专门扫描配置文件中的敏感信息./codevulnscan -T leak -d /path/to/configs -e yml,json,xml,properties# 导出扫描结果到CSV./codevulnscan -T java -d /path/to/project -o results.csv
提示:所有扫描模式都会自动包含敏感信息扫描,无需额外指定。
📚 使用示例
🔧 自定义规则
CodeVulnScan 支持自定义规则,只需创建或修改对应语言的规则文件即可。规则文件使用 JSON 格式,位于 rules 目录下。
规则文件结构:
[ { "FileType": "java", "RegexRule": "Runtime\.getRuntime\(\)\.exec\(", "Readme": "Java命令执行函数,可能存在命令注入漏洞", "VulName": "命令注入" }, { "FileType": "php", "RegexRule": "eval\(\$_(?:GET|POST|REQUEST|COOKIE)", "Readme": "PHP eval函数直接执行用户输入,存在代码执行漏洞", "VulName": "代码执行" }]
规则字段说明:
| 字段 | 说明 |
| — | — |
| FileType | 文件类型,如 java、php、cs 等 |
| RegexRule | 正则表达式规则,用于匹配代码中的漏洞点 |
| Readme | 规则说明,描述潜在风险 |
| VulName | 漏洞名称,用于分类和标识 |
#
📁 项目示例
在 examples 目录下提供了完整示例:
custom_rule_example.json– 自定义规则示例文件scan_example.sh– 常用扫描场景的脚本示例
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:L0una guchangan1《CodeVulnScan-基于正则的代码审计工具》