
.. 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のアーキテクチャは堅牢なプラグインシステムに基づいており、データ分析ツール、トランスポートプロトコル、カスタム出力形式など、ほぼすべてをカスタマイズできます。
::
# Via pip:
pip install aura-security[full]
# or build from source/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
Diffパッケージ::
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
Bandit、dlint、semgrepなど、Auraと機能が重なる他のツールも存在しますが、これらの代替手段の焦点は異なり、機能や使用方法に影響を与えています。これらの代替手段は主にリンターと同様の方法で使用されることを目的としており、IDEに統合され、開発中に頻繁に実行されるため、誤検知を最小限に抑え、理想的なケースでは明確な実行可能な説明を含むレポートを提供することが重要です。
一方Auraは、誤検知を犠牲にしても可能な限り多くの情報を用いて、コードの動作、異常、脆弱性を報告します。Auraによって報告される項目の中には、ユーザーがすぐに実行できるものではないものも多くありますが、ネットワーク通信の実行、機密ファイルへのアクセス、悪意のあるコードの可能性を示す難読化に関連するメカニズムの使用など、コードの動作について多くの情報を提供します。この種のデータを収集して集約することで、Auraは、本質的には異なる種類のデータ(ネットワーク通信、実行中のプロセスなど)に対して同じ分析を行うアンチウイルス、IDS、ファイアウォールなどの他のセキュリティシステムと機能面で比較できます。
以下は、Auraと他の類似のリンターおよび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