
开发的当前趋势是在开发阶段使用很多软件包,即使它们仅提供琐碎的功能,并且由11行代码组成。当我们将其与发布新包装的非常自由的政策相结合时,我们现在看到针对开发商的恶意攻击崛起。威胁参与者已经采取了几种不同的方法:
这些只是开发人员可以妥协自己的技术的几个例子。这是因为在上传到PYPI或NPM等存储库的内容的事实支持了这一点,并且运气中的一阵子发现了以前的事件。我们的目标是改善这一点。
## Aura框架我们创建了一个框架,该框架旨在大规模扫描源代码(例如整个PYPI存储库),寻找异常和潜在的恶意意图以及漏洞。该框架旨在按需扫描源代码,例如开发人员安装软件包或任何集合的文件/目录。该实现目前是针对Python语言和PYPI的,但是它旨在提供包含其他语言的能力。 (例如JavaScript和NPM)
一组用例包括但不限于:
高度优化的混合分析引擎实现了这一目标。使用静态代码分析在没有任何代码执行的情况下,在完全安全的环境中进行分析。 Aura Core引擎正在分析从源代码中解析的AST树,执行行为分析和代码执行流。该引擎还支持使用一组规则(例如恒定传播,折叠或静态评估)重写AST树;这些是编译器用来优化代码的一组技术。这就是为什么这种分析方法是“混合”的原因,因为它通过完全安全的部分评估增强了静态分析,从而使我们能够击败更简单的混淆机制。
下面,您可以看到Aura AST变换引擎认可的不同源代码“混淆”技术的展示:

要学习并开始使用框架,请阅读安装,配置和使用文档。
光环的核心部分是分析异常或潜在漏洞的源代码。 Aura有几个内置分析仪,这些分析仪在设置脚本中查找诸如eval的使用之类的异常。其他分析仪查看文件系统结构(非源代码),例如寻找泄漏凭据,硬编码的API令牌等。这些分析仪生成了我们所谓的命中,这些命中定义了发现的异常,还可以包括一个分数,该分数用于计算扫描的数据的安全性AURA。建议根据输入数据的功能对提出的异常使用合理的判断。例如,请求库包含与网络相关的呼叫是完全正常的,而同时,图像处理库不会通过网络发送数据。还支持将数据输出到JSON格式中,适合大规模存储库扫描或集成到其他产品中。有关其他组件的描述和使用,请参阅文档。


##文档
该项目已根据GPLV3许可证获得许可 - 有关详细信息,请参见许可证文件。该框架的一部分包含与其他产品(例如R2C平台,Libraries.io等)集成的(可选)集成。遭受其许可和使用条款。