用于收集攻击面度量的库。
attacksurfacemeter的Python项目详细描述
#攻击面计[最新版本](https://badge.fury.io/py/attacksurfacemeter.svg)(https://badge.fury.io/py/attacksurfacemeter)
[![构建状态](https://secure.travis-ci.org/andymeneley/attack-surface-metrics.svg?branch=master)(https://travis ci.org/andymeneley/attack surface metrics)
[![覆盖状态](https://img.shields.io/covertalls/andymeely/attack surface metrics.svg)](https://covertalls.io/r/andymeely/attack surface metrics)
attack surface meter是一个python包,用于从软件系统收集攻击表面指标。在当前版本中,攻击面度量能够分析用c语言编写的软件系统,并支持分析用java语言编写的软件系统。
从函数/文件到入口点/出口点/危险点的路径长度。
*危险行走-函数/文件在从攻击面开始的随机执行路径上被调用的概率。
所有的`
调用图由相应的*loader*解析以生成内部表示。在这个版本中,攻击表能够解析由下列实用程序之一生成的调用图:
*[gnu cflow](http://www.gnu.org/software/cflow/"gnu cflow")
*[gnu gprof](https://sourceware.org/binutils/docs/gprof/"gnu gprof")
在C或Java以外的编程语言中,需要定义一个新的*加载程序*来解析由特定语言实用程序生成的调用图。
启用。
```
import os
from attacksurfacemeter.call_graph import callgraph
from attacksurfacemeter.loaders.cflow_loader import cflowloader
loader=cflowloader(os.path.expanduser('~/cflow.callgraph.txt')
callgraph=callgraph.from_loader(loader)
```
call_graph.callgraph`类并支持几种方法来收集给定函数/文件的接近度和风险度量。有关这些方法的详细信息,请参阅"c all_graph.py"文件,该文件使用python文档注释广泛地记录了所有方法。
\]
[-j javacg][-a[p[p…]][--output output]
[--verbose][--showerrors]
action,file}处理调用图的粒度。
-c cflow包含gnu cflow生成的调用图的文本表示的文件或包含
要分析的软件系统。
--使用-r选项生成反向cflow调用图。
-g gprof包含文本的文件的绝对路径在gnu gprof
生成的调用图或包含多个这样的文本文件的目录中。
-p处理加载多个gprof
调用图文件时要生成的进程数。默认值为2 .bR/> -jjavaCG绝对路径,包含Java-Br/>调用图生成的调用图的文本
表示。android apps,指定将包含在调用
图中的方法调用的完全限定包名
。这通常是Java包的名称:BR/>,其中定义了应用程序的类。
输出输出的绝对路径,该文件的输出应该是
。输出的格式是从
文件扩展名推断出来的。当前支持txt、html和xml。当输出格式不能
推断时,使用txt。如果未指定输出路径,则使用标准输出。
--包含为每个函数/文件收集的度量值的详细输出逐项报告。
--ShowRors显示在分析调用GR时遇到的错误APH(如果
有)。
```
[![构建状态](https://secure.travis-ci.org/andymeneley/attack-surface-metrics.svg?branch=master)(https://travis ci.org/andymeneley/attack surface metrics)
[![覆盖状态](https://img.shields.io/covertalls/andymeely/attack surface metrics.svg)](https://covertalls.io/r/andymeely/attack surface metrics)
attack surface meter是一个python包,用于从软件系统收集攻击表面指标。在当前版本中,攻击面度量能够分析用c语言编写的软件系统,并支持分析用java语言编写的软件系统。
从函数/文件到入口点/出口点/危险点的路径长度。
*危险行走-函数/文件在从攻击面开始的随机执行路径上被调用的概率。
所有的`
调用图由相应的*loader*解析以生成内部表示。在这个版本中,攻击表能够解析由下列实用程序之一生成的调用图:
*[gnu cflow](http://www.gnu.org/software/cflow/"gnu cflow")
*[gnu gprof](https://sourceware.org/binutils/docs/gprof/"gnu gprof")
在C或Java以外的编程语言中,需要定义一个新的*加载程序*来解析由特定语言实用程序生成的调用图。
启用。
```
import os
from attacksurfacemeter.call_graph import callgraph
from attacksurfacemeter.loaders.cflow_loader import cflowloader
loader=cflowloader(os.path.expanduser('~/cflow.callgraph.txt')
callgraph=callgraph.from_loader(loader)
```
call_graph.callgraph`类并支持几种方法来收集给定函数/文件的接近度和风险度量。有关这些方法的详细信息,请参阅"c all_graph.py"文件,该文件使用python文档注释广泛地记录了所有方法。
\]
[-j javacg][-a[p[p…]][--output output]
[--verbose][--showerrors]
action,file}处理调用图的粒度。
-c cflow包含gnu cflow生成的调用图的文本表示的文件或包含
要分析的软件系统。
--使用-r选项生成反向cflow调用图。
-g gprof包含文本的文件的绝对路径在gnu gprof
生成的调用图或包含多个这样的文本文件的目录中。
-p处理加载多个gprof
调用图文件时要生成的进程数。默认值为2 .bR/> -jjavaCG绝对路径,包含Java-Br/>调用图生成的调用图的文本
表示。android apps,指定将包含在调用
图中的方法调用的完全限定包名
。这通常是Java包的名称:BR/>,其中定义了应用程序的类。
输出输出的绝对路径,该文件的输出应该是
。输出的格式是从
文件扩展名推断出来的。当前支持txt、html和xml。当输出格式不能
推断时,使用txt。如果未指定输出路径,则使用标准输出。
--包含为每个函数/文件收集的度量值的详细输出逐项报告。
--ShowRors显示在分析调用GR时遇到的错误APH(如果
有)。
```