一、简介

Flawfinder是一款开源的关于C/C++静态扫描分析工具,其根据内部字典数据库进行静态搜索,匹配简单的缺陷与漏洞,flawfinder工具不需要编译C/C++代码,可以直接进行扫描分析。
简单快速,最大的有点就是免费,不需要编译。flawfinder工具可以在官网进行下载

二、环境安装

flawfinder安装比较简单,由于其是基于Python实现的一款工具,所以需要首先安装Python环境,并配置环境变量。

  1. 如果没有安装ptyhon,可以去官方下载:地址
  2. 终端输入:pip install flawfinder
  3. 修改flawfinder代码
    ① 使用Everything工具,搜索flawfinder,py。
    ② 在flawfinder,py中搜索“my_input = open(”
    在这里插入图片描述
    修改后如下:
    在这里插入图片描述

三、使用说明

  1. 生产csv表格
    ①到指定文件路径,终端输入:flawfinder --csv > test-result.csv app_main.c
    ②生成表格如图
    在这里插入图片描述

  2. 生产html网页
    ①到指定文件路径,终端输入:flawfinder --html > test-result.html app_main.c
    ②生成网页如图
    在这里插入图片描述

  3. 步骤
    在这里插入图片描述
    在这里插入图片描述

  4. 扫描当前工程目录,并显示问题代码。
    flawfinder --html > test-result.html --context .

–context 显示问题代码

四、其他报错

UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe6 in position 29: ordinal not in range(128)

  1. 错误原因
    提示中的“ordinal not in range(128)”,意思是,字符不在128范围内,即说明不是普通的ASCII字符,超出处理能力了。

  2. 解决方法
    找到flawfinder程序文件,用文本编辑器打开,在文件抬头加入以下代码。

linux:

import sys
reload(sys)
sys.setdefaultencoding("utf-8")

在这里插入图片描述

windos:

import importlib,sys
importlib.reload(sys)

五、安全编程规范

  1. 安全编程操作方法

  2. 大佬的网站 干货满满

Logo

鸿蒙生态一站式服务平台。

更多推荐