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