前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DakshSCRA:一款功能强大的源代码安全审计工具

DakshSCRA:一款功能强大的源代码安全审计工具

作者头像
FB客服
发布2023-12-14 15:43:54
4730
发布2023-12-14 15:43:54
举报
文章被收录于专栏:FreeBuf

关于DakshSCRA

DakshSCRA是一款功能强大的源代码安全审计工具,,并为广大代码安全审计人员提供一种结构良好且组织有序的代码审计方法。

DakshSCRA会对目标代码进行仔细审查,然后将潜在的安全问题进行标记,并敦促分析人员对已标记的潜在安全问题进行调查和确认。如果将所有的潜在问题都标记为Bug的话,会增加误报率,同时也会消耗掉审计人员大量宝贵的时间和资源。DakshSCRA不会对所有潜在的问题都标记为Bug,同时也减少了审计人员在处理误报方面要花费的时间,从而促进更高效的代码审查过程。

功能特性

1、识别源代码中审计人员感兴趣的部分:鼓励重点调查和确认,而不是不加区别地将所有内容标记为Bug; 2、确定文件路径中感兴趣的部分:识别文件路径中的模式,以确定要查看的相关部分; 3、软件级别的数据侦查以识别所使用的技术:识别项目技术,使代码审查人员能够按照适当的规则进行精确的扫描; 4、代码审查的自动化科学工作量估算:提供一种可测量的方法来估算代码审查过程所需的工作量; 5、使用特定于平台的规则以查找感兴趣的部分; 6、支持为任何新语言或现有语言扩展或添加新规则; 7、支持生成文本格式、HTML和PDF格式的报告以供审计人员查看和检查;

工具安装

由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好Python 3环境。接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

代码语言:javascript
复制
git clone https://github.com/coffeeandsecurity/DakshSCRA.git

然后安装virtualenv:

代码语言:javascript
复制
$ pip install virtualenv

使用virtualenv搭建一个虚拟环境:

代码语言:javascript
复制
$ virtualenv -p python3 {name-of-virtual-env}

例如: virtualenv -p python3 venv

激活刚才创建的虚拟环境:

代码语言:javascript
复制
$ source {name-of-virtual-env}/bin/activate

例如: source venv/bin/activate

运行了激活命令之后,你将会看到终端窗口提示符变为如下所示:

代码语言:javascript
复制
(venv) $

配置完成后,在虚拟环境中运行下列命令安装该工具所需的其他依赖组件:

代码语言:javascript
复制
pip install -r requirements.txt

工具使用

下列命令可以直接查看工具的帮助选项:

代码语言:javascript
复制
pip install -r requirements.txt
usage: 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'是一个可选项,如果不指定,工具默认会使用选择的规则扫描对应的文件类型:

代码语言:javascript
复制
dakshsca.py -r php -t /source_dir_path

可以使用 '-f'选项覆盖默认设置,并制定其他的文件类型:

代码语言:javascript
复制
dakshsca.py -r php -f dotnet -t /path_to_source_dir

dakshsca.py -r php -f custom -t /path_to_source_dir

'-recon'和'-r'选项一起使用,则执行数据侦查和基于规则的扫描:

代码语言:javascript
复制
dakshsca.py  -recon -r php -t /path_to_source_dir

如果只使用了'-recon'但没有'-r'选项的话,则只执行数据侦查:

代码语言:javascript
复制
dakshsca.py  -recon -t /path_to_source_dir

'-v'代表开启Verbose模式,该选项是默认选项,'-vvv'将执行所有的规则检测及结果:

代码语言:javascript
复制
dakshsca.py -r php -vv -t /path_to_source_dir

支持的RULE_FILE:

代码语言:javascript
复制
dotnet、java、php、python、javascript

支持的FILE_TYPES:

代码语言:javascript
复制
dotnet、java、php、python、javascript、custom、allfiles

报告生成

HTML报告路径:

代码语言:javascript
复制
DakshSCRA/reports/html/report.html

PDF报告路径:

代码语言:javascript
复制
DakshSCRA/reports/html/report.pdf

数据侦查报告路径:

代码语言:javascript
复制
DakshSCRA/reports/text/recon.txt

识别模式文本报告:

代码语言:javascript
复制
DakshSCRA/reports/text/areas_of_interest.txt

项目文件识别报告:

代码语言:javascript
复制
DakshSCRA/reports/text/filepaths_aoi.txt
DakshSCRA/runtime/filepaths.txt

许可证协议

本项目的开发与发布遵循GPL-3.0开源许可证协议。

项目地址

DakshSCRA

https://github.com/coffeeandsecurity/DakshSCRA

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-12-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于DakshSCRA
  • 功能特性
  • 工具安装
  • 工具使用
  • 工具使用样例
  • 报告生成
  • 许可证协议
  • 项目地址
相关产品与服务
代码审计
代码审计(Code Audit,CA)提供通过自动化分析工具和人工审查的组合审计方式,对程序源代码逐条进行检查、分析,发现其中的错误信息、安全隐患和规范性缺陷问题,以及由这些问题引发的安全漏洞,提供代码修订措施和建议。支持脚本类语言源码以及有内存控制类源码。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档