
pySigma は、Sigmaルールをパースしてクエリに変換するPythonライブラリです。これは、
はるかにクリーンな設計を持つ旧来のSigmaツールチェーン(sigmac)の後継であり、ほぼ完全にテストされています。
クエリ言語への変換をサポートするバックエンドと、ログデータモデルに合わせてルールを変換する処理パイプラインは、
pySigma自体をスリムでベンダーに依存しないものに保つため、専用のプロジェクトに分離されています。概要については、下の 関連プロジェクト セクションを参照してください。
pySigma の使用を開始するには、Python 3.10以降が必要です。お好みの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 を実行してください。
コードをlintするには poetry run black を実行してください。lintエラーを確認するには poetry run black --check を実行してください。
このプロジェクトはまた、開発依存関係の一部としてpoetryによってインストールされるpre-commitを使用しています。gitフックをインストールするには、リポジトリをクローンして依存関係をインストールした後、poetry run pre-commit install を実行してください。
プルリクエストを歓迎します。議論のポイントとして、issueやPRを遠慮なく登録してください。
Micah Babinskiによるこのブログ記事は、開発者の視点からそのプロセスを説明しています。
このプロジェクトは現在、以下のメンテナーによって維持されています:
pySigmaは、すべてをサポートしようとするモノリシックなライブラリではなく、中核のみに焦点を当てています。ターゲットの クエリ言語とログデータモデルのサポートは、pySigmaを拡張する追加パッケージによって提供されます:
特に別段の記載がない限り、すべてのパッケージは、お好みのPythonパッケージ マネージャーでPyPIからインストールすることもできます。
GNU Lesser General Public License v2.1。詳細については、完全なライセンスファイルをこちらでご覧ください。