用于检查具有高熵(可能是硬编码秘密)的字符串的bandit插件。

bandit-high-entropy-string的Python项目详细描述


#bandit高熵字符串

查找高熵硬编码字符串(机密)的bandit插件。


此插件公开了四个新测试:

>1。*高熵赋值:检查赋值语句中的机密:`target=`candidate`
2。*高熵函数:检查函数参数中的秘密:`caller('candidate',target='candidate'):`
3。*高熵函数定义:检查函数定义中的秘密:`def caller('candidate',target='candidate'):`
4。*高熵:检查iterable(列表、元组、dict)中的秘密:`['candidate',
'candidate']或('candidate','candidate')或{'target':'candidate'}`

igher):


`` bash
virtuallenv venv
source venv/bin/activate
pip install bandit
`` ` `



>然后你可以安装插件:

` ` ` `` bash
` ` ` ` ` ` bash安装bandit高熵字符串
` ` ` ` `
` ` ` ` ` ` ` ` ` ` ` `
` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `>```yaml
向后压缩使用配置文件的适应性配置(仅当您以前使用过配置文件并且需要保持兼容性时才需要)
配置文件:
秘密:
包括:
-高熵分配
-高熵函数
-高熵函数
-高熵函数
包括新版本的bandit
测试:

高熵函数
-bhes100

高熵函数
-bhes101

/>```
配置对于每个测试(可以为四个测试中的每一个配置)

##运行测试


要运行测试,请针对您的代码库调用bandit,指定配置文件:

```````
>$bandit-r./myapplication
`````

`贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献贡献第页参与者同意遵守其条款。


请[访问我们的cla
服务](https://oss.lyft.com/cla)
按照说明签署cla。

如果候选对象的置信度大于0,则会报告。我们根据标准轻推置信度和严重度:

1。标记(熵模式到标记)。与此
列表中的任何正则表达式匹配的任何候选都会自动标记为置信度/严重度3/3。如果你确实知道有秘密的模式是秘密,就在这里加上它们。折扣(熵模式折扣)。与
此列表中的正则表达式匹配的任何候选项都将被折扣。如果候选匹配此
列表中的多个regex,则可能会进一步折扣。此折扣用于置信度
计算。
3。秘密暗示(低秘密暗示,高秘密暗示)。如果任何目标或调用方
与这些列表中的正则表达式匹配,则它将用作
候选项是机密的提示。此提示用于置信度和严重性
cal文化。低密提示会导致较低的置信度增加,
高密提示会导致较高的置信度增加。
4.安全功能(安全功能提示)。任何具有与此列表中的任何字符串匹配的调用方的候选人都将被打折。这在
置信度计算中使用。
5.熵。如果一个候选者的置信水平可以通过
一个字符串级的熵来更精确地衡量,我们计算它,如果字符串具有高的
熵,它的置信水平就会增加。如果可能的话,这种计算就可以避免,因为它相对昂贵。

我们希望得到一些帮助:

1.帮助处理折扣regex列表。列表中的正则表达式常常匹配得太多,而且没有足够的正则表达式匹配常见的python字符串。
2。帮助使用安全函数列表(以及我们匹配安全函数的方式)。
有很多python函数很少包含机密,但通常包含高熵字符串。我们目前没有很好地识别这些函数
调用,这会导致更高的噪声。添加和改进字符串捕获。我们目前没有在as t中捕获所有可用的字符串,对于某些字符串捕获,我们没有尽可能有效地捕获它们。例如,使用dicts,我们捕获如下信息:
{target':'candidate'},但不捕获:{target':'target':'candidate'},
,这可能会导致更好的分类。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
异常如何在java中优雅地处理FileNotFoundexception   java线程卡在BlockingQueue上。无缘无故   类网格程序w/java   StrutsJava:动态应用Velocity脚本   java在运行时重写/禁用方面   java Apache POI无法正确读取Excel单元格中的秒数   具有不同用户权限的Java文件夹/文件创建   java我可以检查Firebase ValueEventListener onDataChanged是否已被调用吗?   尽管获得了用户权限,java Android开发文件权限仍被拒绝   java如何使用JPA映射map<EnumType,Double>?   java是否使用UI线程显示toast消息?   JAVAlang.IllegalArgumentException:不支持的元素:rss   java Android setRequestedOrientation活动和视图生命周期   安卓如何在Java中定义支票盒?   在Java中,对于大输入,字符串解析长期失败   使Java在XP中按计划任务运行读取env用户变量时出现问题   任务“:workflowsjava:NodeDriver”的梯度执行失败。main()   java如何检测是否只设置了部分属性?   在客户端web服务上使用JBossWS时,java无法找到/更改log4j的默认配置   java LibGDX写入文本文件并接收各种错误