
Python 라이브러리로 Sigma 규칙을 파싱하고 쿼리로 변환합니다(그 외에도 상상할 수 있는 모든 것).
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도 사용하며, 이는 poetry에 의해 dev 종속성의 일부로 설치됩니다. 저장소를 복제하고 종속성을 설치한 후 git 훅을 설치하려면 poetry run pre-commit install을 실행하세요.
Pull request를 환영합니다. 토론 주제로 이슈/PR을 자유롭게 제출해 주세요.
Micah Babinski의 이 블로그 게시물은 개발자 관점에서 그 과정을 설명합니다.
이 프로젝트는 현재 다음 사람들이 유지 관리합니다:
pySigma는 모든 것을 지원하려는 모놀리식 라이브러리가 아니라 핵심만을 다룹니다. 대상 쿼리 언어와 로그 데이터 모델에 대한 지원은 pySigma를 확장하는 추가 패키지에서 제공됩니다:
별도로 명시되지 않은 경우 모든 패키지는 선호하는 Python 패키지 관리자를 통해 PyPI에서도 설치할 수 있습니다.
GNU Lesser General Public License v2.1. 자세한 내용은 여기에 있는 전체 라이선스 파일을 참조하세요.