
pySigma は、Sigma ルールを解析してクエリに変換する Python ライブラリです。これは従来の Sigma ツールチェーン(sigmac)の代替であり、はるかにクリーンな設計で、ほぼ完全にテストされています。クエリ言語への変換をサポートするバックエンドと、ログデータモデル用にルールを変換する処理パイプラインは、pySigma 自体をスリムでベンダー非依存に保つために、専用のプロジェクトに分離されています。概要については、以下の 関連プロジェクト セクションを参照してください。
pySigma を使い始めるには、Python 3.11 以降が必要です。お好みの Python パッケージマネージャーを使用してインストールしてください。例:
pip install pysigma
pipenv install pysigma
poetry add pysigma
いくつかの使用例を含むドキュメントはこちらにあります。
pySigma では、バックエンドの作成がはるかに簡単になりました。「Cookie Cutter Template」を使用し、この README の「関連プロジェクト」セクションに記載されている既存のバックエンドを確認することをお勧めします。
pySigma Cookie Cutter Template
pySigma は、オールインワンの sigmac と比較して、いくつかの追加機能といくつかの変更をもたらします。
sigma-cli は、コマンドライン変換のための sigmac に相当します。
sigma list modifiers を使用してください。
sigma plugin list --plugin-type backend を使用してください。
変換の概要

パイプライン

詳細はドキュメントで説明されています。
pySigma はテストフレームワークとして pytest を使用します。すべてのテストを実行するには、単に pytest を実行してください。カバレッジレポートを取得するには、pytest --cov=sigma を実行してください。
独自のパッケージをビルドするには、poetry build を実行してください。
コードをリントするには、poetry run black を実行してください。リンティングエラーをチェックするには、poetry run black --check を実行してください。
このプロジェクトは pre-commit も使用しており、これは dev 依存関係の一部として poetry によってインストールされます。git フックをインストールするには、リポジトリをクローンして依存関係をインストールした後、poetry run pre-commit install を実行してください。
プルリクエストを歓迎します。お気軽に、議論のポイントとして issue/PR を提出してください。
Micah Babinski によるこのブログ記事では、開発者の視点からプロセスを説明しています。
このプロジェクトは現在、以下によって維持されています:
pySigma は、コア以外のすべてをサポートしようとするモノリシックなライブラリではありません。対象のクエリ言語とログデータモデルのサポートは、pySigma を拡張する追加パッケージによって提供されます:
特に言及がない限り、すべてのパッケージはお好みの Python パッケージマネージャーを使用して PyPI からもインストールできます。
GNU Lesser General Public License v2.1。詳細については、こちらにある完全なライセンスファイルを参照してください。