• Java源代码安全审计工具之Find Security Bugs


    Find Security Bugs是用于Java Web应用程序安全审核的SpotBugs插件

    https://github.com/find-sec-bugs/find-sec-bugs

    默认运行时会报告以下警告信息

    SLF4J: No SLF4J providers were found.
    SLF4J: Defaulting to no-operation (NOP) logger implementation
    SLF4J: See http://www.slf4j.org/codes.html#noProviders for further details.

    从以下地址

    https://repo1.maven.org/maven2/org/slf4j/slf4j-nop/

    下载与"lib"目录下的"slf4j-api.jar"版本相对应的"slf4j-nop.jar"文件,将其置于"lib"目录下即可解决。

    相对应的 IntelliJ SpotBugs 插件

    https://plugins.jetbrains.com/plugin/14014-spotbugs

    findsecbugs-cli-1.10.1

    Usage: findbugs [general options] -textui [command line options...] [jar/zip/class files, directories...]
    
    常规选项:
      -jvmArgs args                               将参数传递给JVM
      -maxHeap size                               最大Java堆大小 以兆字节为单位 (default=768)
      -javahome <dir>                             指定JRE的位置
    
    常规FindBugs选项:
      -project <project>                          分析给定的项目
      -home <home directory>                      指定SpotBugs主目录
      -pluginList <jar1[;jar2...]>                指定要加载的插件Jar文件列表
      -effort[:min|less|default|more|max]         设置分析工作量级别
      -adjustExperimental                         实验性缺陷模式的优先级较低
      -workHard                                   确保分析工作至少为: 'default'
      -conserveSpace                              与 -effort:min 相同 (用于向后兼容)
      -showPlugins                                显示可用的检测器插件列表
      -userPrefs <filename>                       用户首选项文件 e.g /path/to/project/.settings/edu.umd.cs.findbugs.core.prefs 用于Eclipse项目
    
    输出选项:
      -timestampNow                               将结果的时间戳设置为当前时间
      -quiet                                      禁止显示错误消息
      -longBugCodes                               报告长错误代码
      -progress                                   在终端窗口中显示进度
      -release <release name>                     设置被分析的应用程序的发行版名称
      -experimental                               报告任何置信度 包括实验性错误模式
      -low                                        报告任何置信度的警告
      -medium                                     仅报告中度和高度置信度的警告 [default]
      -high                                       仅报告高置信度的警告
      -maxRank <rank>                             仅报告错误等级至少与提供的等级一样可怕的问题
      -dontCombineWarnings                        不要合并仅行号不同的警告
      -sortByClass                                按类别对警告进行排序
      -xml[:withMessages]                         XML输出 可选地带有消息
      -xdocs                                      xdoc XML 输出以与 Apache Maven 一起使用
      -html[:stylesheet]                          生成HTML输出 默认样式表为 default.xsl
      -emacs                                      使用Emacs报告格式
      -relaxed                                    轻松的报告模式 (更多的误报)
      -train[:outputDir]                          保存培训数据 (实验) 输入目录默认为 '.'
      -useTraining[:inputDir]                     使用培训数据 (实验) 输入目录默认为 '.'
      -redoAnalysis <filename>                    使用先前分析中的配置重做分析
      -sourceInfo <filename>                      指定源信息文件 (字段/类的行号)
      -projectName <project name>                 项目的描述性名称
      -reanalyze <filename>                       在提供的文件中重做分析
      -output <filename>                          将输出保存在命名文件中
      -nested[:true|false]                        分析嵌套的jar/zip档案 (default=true)
    
    输出过滤选项:
      -bugCategories <cat1[,cat2...]>             仅报告给定类别中的错误
      -onlyAnalyze <classes/packages>             仅分析给定的类和包 以'.*'结尾表示包中的类 以'.-'表示包前缀
      -excludeBugs <baseline bugs>                排除基线XML输出中也报告的错误
      -exclude <filter file>                      排除与给定过滤器匹配的错误
      -include <filter file>                      仅包含与给定过滤器匹配的错误
      -applySuppression                           排除任何与从FBP文件加载的抑制过滤器匹配的错误
    
    检测器访问者配置选项:
      -visitors <v1[,v2...]>                      仅运行指定访问者
      -omitVisitors <v1[,v2...]>                  要忽略的访问者名称
      -chooseVisitors <+v1,-v2,...>               有选择地启用/禁用检测器
      -choosePlugins <+p1,-p2,...>                有选择地启用/禁用插件
      -adjustPriority <v1=(raise|lower)[,...]>    提高/降低给定访问者的警告优先级
    
    项目配置选项:
      -auxclasspath <classpath>                   设置辅助类路径进行分析
      -auxclasspathFromInput                      从标准输入读取辅助类路径
      -auxclasspathFromFile <filepath>            从指定文件读取辅助类路径
      -sourcepath <source path>                   设置分析类的源路径
      -exitcode                                   设置进程的退出代码
      -noClassOk                                  如果未指定类则输出空警告文件
      -xargs                                      从标准输入而不是命令行获取类文件/JAR文件的列表
      -analyzeFromFile <filepath>                 从指定文件获取类/JAR文件的列表
      -bugReporters <name,name2,-name3>           错误报告装饰器 以明确启用/禁用
      -printConfiguration                         打印配置并退出 无需运行分析
      -version                                    打印版本 检查更新并退出 而无需运行分析
  • 相关阅读:
    大数据02_CentOS7+Hadoop-3-1-2+MySQL5-1-73安装配置Hive-3-1-2
    大数据01_centos7部署hadoop-3-1-2本地模式与伪分布模式
    美国网络空间安全体系(10):美国密码学与网络空间安全防线建设发展
    美国网络空间安全体系(9):《提升关键基础设施网络安全框架》介绍
    美国网络空间安全体系(8):美国网络欺诈和身份盗用威胁应对措施
    美国网络空间安全体系(7):美国应对信息战和网络战等国家安全威胁措施
    美国网络空间安全体系(6):美国国家网络空间安全事件响应协调机制
    美国网络空间安全体系(4):美国国家网络空间安全态势感知协调机制
    美国网络空间安全体系(2):美国《国家网络安全综合计划(CNCI)》及安全防御协调机制大揭秘
    为何标准化管理体系在国内企业难以开花结果
  • 原文地址:https://www.cnblogs.com/f0rsaken/p/13407330.html
Copyright © 2020-2023  润新知