Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
aura — 大规模Python源代码审计与静态分析 | Kitploit
工具/GitHubGitHub/sourcecode-ai/aura
静态分析漏洞分析代码分析恶意软件分析秘密检测供应链安全学习与教育
GitHubsourcecode-ai/aura

aura

大规模Python源代码审计与静态分析

查看仓库
4932862年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

.. image:: https://cdn.sourcecode.ai/imgs/logotype.png :target: https://aura.sourcecode.ai/

======

.. class:: center

root@kitploit:~
|homepage_flair| |docs_flair| |docker_flair|
|license_flair| |travis_flair| |pypi_flair|

源码审计与静态代码分析

Aura 是一个静态分析框架,旨在应对 PyPI 上日益猖獗的恶意包和脆弱代码的威胁。

项目目标:

  • 提供自动化的监控系统,用于检测上传至 PyPI 的包,并对可能表明正在发生的攻击或代码中存在的漏洞的异常进行告警
  • 使组织能够对源代码进行自动化安全审计,实施安全编码实践,重点关注第三方代码(如 Python 包依赖项)的审计
  • 允许研究人员大规模扫描代码仓库,创建数据集并进行分析,以进一步推动易受攻击和恶意代码依赖领域的研究

功能列表:

  • 适用于分析恶意软件,保证零代码执行
  • 通过重写 AST 树实现高级反混淆机制——常量传播、代码展开以及其他各种手段
  • 递归扫描,自动解压 zip、wheel 等归档文件,并扫描其内容
  • 支持扫描非 Python 文件——插件可以在“原始文件”模式下工作,例如内置的 Yara 集成
  • 扫描硬编码的秘密、密码和其他敏感信息
  • 自定义差异引擎——你可以比较不同数据源之间的变化,例如检测 PyPI 包中的域名仿冒并发现所做的更改
  • 同时适用于 Python 2.x 和 Python 3.x 源代码
  • 高性能,专为扫描整个 PyPI 仓库而设计
  • 支持多种输出格式,如格式化纯文本、JSON、SQLite、SARIF 等
  • 已在超过 4TB 的压缩 Python 源代码上经过测试
  • Aura 能够报告代码行为,如网络通信、文件访问或系统命令执行
  • 计算“Aura 评分”,告诉你源代码/输入数据的可信度
  • 还有更多功能……

没有找到你想要的?Aura 的架构基于强大的插件系统,你可以自定义几乎所有内容,从数据分析器集合、传输协议到自定义输出格式。

安装

::

root@kitploit:~
# 通过 pip 安装:
pip install aura-security[full]
# 或从源码/git 构建
poetry install --no-dev -E full

或者直接使用预构建的 Docker 镜像 sourcecodeai/aura:dev

运行 Aura

::

root@kitploit:~
docker run -ti --rm sourcecodeai/aura:dev scan pypi://requests -v

Aura 使用所谓的 URI 来标识要扫描的协议和位置,如果未使用协议,则扫描参数被视为本地文件系统上的文件或目录路径。

.. image:: files/imgs/aura_scan.png

差异比较包:::

root@kitploit:~
docker run -ti --rm sourcecodeai/aura:dev diff pypi://requests pypi://requests2

.. image:: docs/source/_static/imgs/aura_diff.png

查找最流行的域名仿冒包(需要先运行 aura update 下载数据集):::

root@kitploit:~
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?

虽然还有其他功能与 Aura 重叠的工具,如 Bandit、dlint、semgrep 等,但这些替代方案的重点不同,从而影响了它们的功能和使用方式。这些替代方案主要旨在以类似于 linter 的方式使用,集成到 IDE 中,在开发过程中频繁运行,因此最小化误报并以清晰可操作的解释(在理想情况下)进行报告非常重要。

另一方面,Aura 报告的是代码行为、异常和漏洞,以尽可能多的信息为代价,即使有误报。Aura 报告的内容中很多对用户来说不一定可操作,但它们告诉你大量关于代码行为的信息,如进行网络通信、访问敏感文件或使用与混淆相关的机制,可能表明存在恶意代码。通过收集此类数据并进行聚合,Aura 的功能可以与反病毒软件、IDS 或防火墙等其他安全系统相媲美,这些系统本质上是在不同类型的数据(网络通信、运行进程等)上执行相同的分析。

以下是 Aura 与其他类似 linter 和 SAST 工具之间差异的快速概览:

  • 输入数据:
    • 其他 SAST 工具——通常仅限于 Python(目标)源代码,并且受限于安装工具所用的 Python 版本。
    • Aura——既可以分析二进制(或非 Python 代码)也可以分析 Python 源代码。能够使用同一个 Aura 安装分析兼容不同 Python 版本(py2k 和 py3k)的混合 Python 代码。
  • 报告:
    • 其他 SAST 工具——旨在与其他系统(如 IDE、CI 系统)良好集成,提供可操作的结果,同时尽量最小化误报,以防止用过多无意义的告警淹没用户。
    • Aura——报告尽可能多的信息,这些信息可能不是立即可操作的,例如行为分析和异常分析。输出格式专为便于机器处理和聚合而非人类可读而设计。
  • 配置:
    • 其他 SAST 工具——通过定制签名以针对目标项目使用的特定技术,来对工具进行细粒度调优。通常可以通过在源代码中插入注释(如 # nosec)来覆盖配置,从而在该位置抑制告警。
    • Aura——预期对正在扫描的代码所使用的技术事先知之甚少,例如审计一个新的 Python 包以批准其作为项目依赖使用时。在大多数情况下,甚至无法修改被扫描的源代码(例如使用注释来指示 linter 或 Aura 跳过该位置的检测),因为扫描的是托管在远程位置的代码副本。

作者与贡献者

  • Martin Carnogursky - 初始工作与项目负责人 - https://is.muni.cz/person/410345
  • Mirza Zulfan - Logo 设计 - https://github.com/mirzazulfan

捐赠

  • GitHub Sponsors: https://github.com/sponsors/RootLUG
  • Liberapay: https://liberapay.com/SourceCode.AI
  • BuyMeACoffee: https://www.buymeacoffee.com/SourceCodeAI
  • BTC: 3FVTaLsLwTDinmDjPh3BjS1qv3bYHbkcYc
  • XMR: 46xvWZGCexo1NbvjLMMpLB1GhRd819AQr8eFPJT1q6kKMuuDy43JLiESh9XUM3asjk4SVUYqGakFVQZRY1adx8cS6ka4EXr
  • ETH/ERC20: 0x708F1A08E3ee4922f037673E720c405518C0Ec85

许可证

Aura 框架采用 GPL-3.0 许可证。 使用 Aura 进行的全局扫描生成的数据集根据 CC BY-NC 4.0 许可证发布。 在研究中使用 Aura 或 Aura 产生的数据时,请使用以下引用:

::

root@kitploit:~
@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

下载工具