关于DakshSCRA
DakshSCRA是一款功能强大的源代码安全审计工具,该工具旨在提高源代码安全审计的效率,并为广大代码安全审计人员供给一种结构良好且组织有序的代码审计办法。
DakshSCRA会对目的代码进行仔细审查,而后将潜在的安全问题进行标记,并敦促分析人员对已标记的潜在安全问题进行调查和确认。倘若将所有的潜在问题都标记为Bug的话,会增多误报率,同期亦会消耗掉审计人员海量宝贵的时间和资源。DakshSCRA不会对所有潜在的问题都标记为Bug,同期亦减少了审计人员在处理误报方面要花费的时间,从而促进更有效的代码审查过程。
功能特性
1、识别源代码中审计人员感兴趣的部分:鼓励重点调查和确认,而不是不加区别地将所有内容标记为Bug;
2、确定文件路径中感兴趣的部分:识别文件路径中的模式,以确定要查看的关联部分;
3、软件级别的数据侦查以识别所运用的技术:识别项目技术,使代码审查人员能够根据适当的规则进行精确的扫描;
4、代码审查的自动化科学工作量估算:供给一种可测绘的办法来估算代码审查过程所需的工作量;
5、运用特定于平台的规则以查询感兴趣的部分;
6、支持为任何新语言或现有语言扩展或添加新规则;
7、支持生成文本格式、HTML和PDF格式的报告以供审计人员查看和检测;
工具安装
因为该工具基于Python 3研发,因此呢咱们首要需要在本地设备上安装并配置好Python 3环境。接下来,广大科研人员能够直接运用下列命令将该项目源码克隆至本地: git clone https://github.com/coffeeandsecurity/DakshSCRA.git
而后安装virtualenv: $ pip install virtualenv运用virtualenv搭建一个虚拟环境: $ virtualenv -p python3 {name-of-virtual-env}
例如: virtualenv -p python3 venv激活刚才创建的虚拟环境: $ source {name-of-virtual-env}/bin/activate
例如: sourcevenv/bin/activate运行了激活命令之后,你将会看到终端窗口提示符变为如下所示: (venv) $配置完成后,在虚拟环境中运行下列命令安装该工具所需的其他依赖组件: pip install -r requirements.txt
工具运用
下列命令能够直接查看工具的帮忙选项: pip install -r requirements.txtusage: dakshscra.py [-h] [-r RULE_FILE] [-f FILE_TYPES] [-v] [-t TARGET_DIR] [-l {R,RF}] [-recon] [-estimate]
options:
-h, --help 查看工具帮忙信息和退出
-r RULE_FILE 指定平台专用的规则名叫作
-f FILE_TYPES 指定要扫描的文件类型
-v 指定Verbose模式等级 {-v, -vv, -vvv}
-t TARGET_DIR 指定目的目录路径
-l {R,RF}, --list {R,RF} 枚举规则[R]和文件类型[RF]
-recon 检测目的代码使用的平台、框架和编程语言
-estimate 评定代码审计工作量
工具运用样例
-f是一个可选项,倘若不指定,工具默认会运用选取的规则扫描对应的文件类型: dakshsca.py -r php -t /source_dir_path能够运用 -f选项覆盖默认设置,并制定其他的文件类型: dakshsca.py -r php -f dotnet -t /path_to_source_dir
dakshsca.py -r php -f custom -t /path_to_source_dir-recon和-r选项一块运用,则执行数据侦查和基于规则的扫描: dakshsca.py -recon -r php -t /path_to_source_dir倘若只运用了-recon但无-r选项的话,则只执行数据侦查: dakshsca.py -recon -t /path_to_source_dir-v表率开启Verbose模式,该选项是默认选项,-vvv将执行所有的规则检测及结果: dakshsca.py -r php -vv -t /path_to_source_dir支持的RULE_FILE: dotnet、java、php、python、javascript支持的FILE_TYPES: dotnet、java、php、python、javascript、custom、allfiles报告生成
HTML报告路径: DakshSCRA/reports/html/report.htmlPDF报告路径: DakshSCRA/reports/html/report.pdf数据侦查报告路径: DakshSCRA/reports/text/recon.txt识别模式文本报告: DakshSCRA/reports/text/areas_of_interest.txt项目文件识别报告: DakshSCRA/reports/text/filepaths_aoi.txt
DakshSCRA/runtime/filepaths.txt许可证协议
本项目的研发与发布遵循GPL-3.0开源许可证协议。
项目位置
DakshSCRA:https://github.com/coffeeandsecurity/DakshSCRA
|