查看原文
其他

代码审计工具使用

Alpha 天才少女Alpha 2023-04-27
关于C,Python项目扫描分析.

工具之Fortify

C语言需要使用fortify命令行先编译成功才能进行分析和审计

但是一个大型C语言项目是一般需要写一个makefile文件去组织编译的。

makefile文件:写编译命令 指定C项目内各个文件之间调用编译顺序 编译过程。

这里找一个大项目的Makefile给你们瞅瞅,这东西我已经很久没有写了。地址:

https://github.com/hku-systems/cronus/blob/main/optee/optee_os/lib/libutils-user/muslc/Makefile

有了makefile就可以使用fortify命令行编译C项目

编译:sourceanalyzer -b example make
-b 指定分析的idname 可以随便取
make是编译代码时候使用的指令,因为这里是C语言。所以是make
扫描:sourceanalyzer -b example -scan -f example.fpr
-b 和前面编译的idname一致
-scan 使用内置rules进行扫描
-f 生成fpr格式文件 后可以用界面打开进行分析

还是很麻烦的,需要makefile ,C编译环境。在企业内断网的环境下,使用fortify去扫描太麻烦了,这边也可以考虑使用cppcheck工具分析C项目

  • 分析python项目。

首先python项目需要 安装完依赖的py库。

如我在git上随手找到一个python3的项目。job-web-demo-master

1.安装依赖库 pip3 install -r requirements.txt

2.编译

sourceanalyzer -b MyApp -python-path "C:\Program Files\Python311";"C:\Program Files\Python311\Scripts";"C:\Program Files\Python311\Lib\site-packages";"C:\Program Files\Python311\Lib" D:\job-web-demo-master\*.py

-python-path 就是你自己本地python环境地址  最后一个参数为项目地址我选择的是该项目下所有*.py文件

 3.查看本次编译了哪些文件 sourceanalyzer -b MyApp -show-files 

4.使用规则进行扫描并且生成fpr文件方便去workbench查看 

也可以不使用命令行 直接在图形界面中输入这些编译指令 如下图所示

选择Advanced Scan 选择自己想扫描的py项目 next 就会出现下图框框里填指令

与命令行效果是一样的,下图是生成的fpr文件



略吐槽一下:
其实fortify扫python真的很一般。它只是比较擅长java

关于 离线环境下vscode使用插件

  • 一、在可以上网的电脑上 访问https://marketplace.visualstudio.com/vscode 输入你想要下载的插件:如:cppcheck 点击对应的插件进入到详情页面 点击Download Extension,得到下载的离线安装包,以 .vsix 为扩展名结尾

  • 二、在内网上操作 将下载的vsix的文件复制到内网电脑 VSCode 的安装目录下的 bin 目录下 在bin文件里执行cmd命令:code --install-extension QiuMingGe.cpp-check-lint-1.4.7.vsix

参考:

https://blog.csdn.net/qq_32094783/article/details/107996984

https://www.cnblogs.com/hac425/p/14556113.html

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存