Aura是一个静态分析框架,旨在应对PyPI上发布的恶意包和易受攻击的代码不断增加的威胁。项目目标:在上传到PyPI的包上提供一个自动监控系统,对可能表明正在进行的攻击或代码中的漏洞的异常发出警报使组织能够对源代码进行自动安全审计并实施安全编码实践,重点是审计3rd方代码,例如python包依赖项允许研究人员大规模扫描代码存储库、创建数据集并进行分析,以进一步推进易受攻击和恶意代码依赖项领域的研究功能列表:适用于分析恶意软件,保证零代码执行通过重写AST树的高级反混淆机制——持续传播、代码展开和其他肮脏的技巧递归扫描自动解压zip、wheels等档案并扫描内容还支持扫描非python文件——插件可以在“原始文件”模式下工作,例如内置的Yara集成扫描硬编码机密、密码和其他敏感信息自定义差异引擎-你可以比较不同数据源之间的变化,例如对PyPI包进行域名仿冒与所做的变化适用于Python2.x和Python3.x源代码高性能,旨在扫描整个PyPI存储库以多种格式输出,例如纯文本、JSON、SQLite、SARIF等……在超过4TB的压缩Python源代码上进行测试Aura能够报告代码行为,例如网络通信、文件访问或系统命令执行计算“Aurascore”,告诉你源代码/输入数据的可信度……Aura使用所谓的URI来标识要扫描的协议和位置,如果未使用协议,则扫描参数将被视为本地系统上文件或目录的路径。虽然还有其他功能与Aura重叠的工具,例如Bandit、dlint、semgrep等,但这些替代方案的侧重点不同,这会影响功能及其使用方式。这些替代方案主要旨在以类似于linters的方式使用,集成到IDE中,在开发过程中经常运行,这使得在理想情况下最小化误报和报告并提供明确的可操作解释非常重要。另一方面,Aura报告代码的行为、异常和漏洞,并以误报为代价提供尽可能多的信息。aura报告的很多事情不一定可由用户操作,但它们会告诉您很多有关代码行为的信息,例如进行网络通信、访问敏感文件或使用与混淆相关的机制来指示可能的恶意代码. 通过收集此类数据并将其聚合在一起,Aura可以在功能上与其他安全系统(例如防病毒、IDS或防火墙)进行比较,这些系统本质上进行相同的分析,但使用不同类型的数据(网络通信、正在运行的进程、ETC)。以下是Aura与其他类似linters和SAST工具之间差异的快速概述:输入数据:
其他SAST工具——通常仅限于python(目标)源代码和安装该工具的python版本。Aura还可以分析二进制(或非Python代码)和Python源代码。能够使用相同的Aura安装分析与不同python版本(py2k和py3k)兼容的python代码的混合。报告:
其他SAST工具-旨在与其他系统(如IDE、具有可操作结果的CI系统)很好地集成,同时尽量减少误报,以防止用户收到太多无关紧要的警报。Aura -尽可能多地报告不能立即采取行动的信息,例如行为和异常分析。输出格式旨在便于机器处理和聚合,而不是人类可读的。配置:
其他SAST工具-通过自定义签名以针对目标项目使用的特定技术,这些工具针对目标项目进行了微调。覆盖配置通常可以通过在源代码中插入注释来实现,例如#nosec在该位置抑制警报Aura -预计对于被扫描的代码所使用的技术,例如审核新的python包以批准用作项目中的依赖项,事先几乎一无所知。在大多数情况下,甚至不可能修改扫描的源代码,例如使用注释来指示linter或aura跳过该位置的检测,因为它正在扫描托管在某个远程位置的该代码的副本。声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论