.. image:: https://cdn.sourcecode.ai/imgs/logotype.png :target: https://aura.sourcecode.ai/
======
.. class:: center
|homepage_flair| |docs_flair| |docker_flair|
|license_flair| |travis_flair| |pypi_flair|
Aura 是一个静态分析框架,旨在应对 PyPI 上日益猖獗的恶意包和脆弱代码的威胁。
项目目标:
功能列表:
没有找到你想要的?Aura 的架构基于强大的插件系统,你可以自定义几乎所有内容,从数据分析器集合、传输协议到自定义输出格式。
::
# 通过 pip 安装:
pip install aura-security[full]
# 或从源码/git 构建
poetry install --no-dev -E full
或者直接使用预构建的 Docker 镜像 sourcecodeai/aura:dev
::
docker run -ti --rm sourcecodeai/aura:dev scan pypi://requests -v
Aura 使用所谓的 URI 来标识要扫描的协议和位置,如果未使用协议,则扫描参数被视为本地文件系统上的文件或目录路径。
.. image:: files/imgs/aura_scan.png
差异比较包:::
docker run -ti --rm sourcecodeai/aura:dev diff pypi://requests pypi://requests2
.. image:: docs/source/_static/imgs/aura_diff.png
查找最流行的域名仿冒包(需要先运行 aura update 下载数据集):::
aura find-typosquatting --max-distance 2 --limit 10
.. image:: https://asciinema.org/a/367999.svg :target: https://asciinema.org/a/367999
.. image:: files/imgs/download_dataset.png :target: https://cdn.sourcecode.ai/pypi_datasets/index/datasets.html :align: center :width: 256
虽然还有其他功能与 Aura 重叠的工具,如 Bandit、dlint、semgrep 等,但这些替代方案的重点不同,从而影响了它们的功能和使用方式。这些替代方案主要旨在以类似于 linter 的方式使用,集成到 IDE 中,在开发过程中频繁运行,因此最小化误报并以清晰可操作的解释(在理想情况下)进行报告非常重要。
另一方面,Aura 报告的是代码行为、异常和漏洞,以尽可能多的信息为代价,即使有误报。Aura 报告的内容中很多对用户来说不一定可操作,但它们告诉你大量关于代码行为的信息,如进行网络通信、访问敏感文件或使用与混淆相关的机制,可能表明存在恶意代码。通过收集此类数据并进行聚合,Aura 的功能可以与反病毒软件、IDS 或防火墙等其他安全系统相媲美,这些系统本质上是在不同类型的数据(网络通信、运行进程等)上执行相同的分析。
以下是 Aura 与其他类似 linter 和 SAST 工具之间差异的快速概览:
# nosec)来覆盖配置,从而在该位置抑制告警。Aura 框架采用 GPL-3.0 许可证。 使用 Aura 进行的全局扫描生成的数据集根据 CC BY-NC 4.0 许可证发布。 在研究中使用 Aura 或 Aura 产生的数据时,请使用以下引用:
::
@misc{Carnogursky2019thesis,
AUTHOR = "CARNOGURSKY, Martin",
TITLE = "Attacks on package managers [online]",
YEAR = "2019 [cit. 2020-11-02]",
TYPE = "Bachelor Thesis",
SCHOOL = "Masaryk University, Faculty of Informatics, Brno",
SUPERVISOR = "Vit Bukac",
URL = "Available at WWW <https://is.muni.cz/th/y41ft/>",
}
.. |homepage_flair| image:: https://img.shields.io/badge/Homepage-aura.sourcecode.ai-blue :target: https://aura.sourcecode.ai/ :align: middle
.. |docs_flair| image:: https://img.shields.io/badge/-Documentation-blue :target: https://docs.aura.sourcecode.ai/ :align: middle
.. |docker_flair| image:: https://img.shields.io/badge/docker-SourceCodeAI/aura-blue :target: https://hub.docker.com/r/sourcecodeai/aura :align: middle
.. |license_flair| image:: https://img.shields.io/github/license/SourceCode-AI/aura?color=blue
.. |travis_flair| image:: https://travis-ci.com/SourceCode-AI/aura.svg?branch=dev
.. |pypi_flair| image:: https://badge.fury.io/py/aura-security.svg :target: https://pypi.org/project/aura-security/ :align: middle