mirror of
https://github.com/Yamato-Security/WELA.git
synced 2026-10-24 15:08:08 +02:00
Assess native rule eligibility with explicit evidence gates
This commit is contained in:
1 parent
9d993a2a7e
commit
36ad97114c
17 files changed
+781
-27
No files matched your search
@@ -0,0 +1,28 @@
|
||||
"""Record exact extracted inputs; never invent an upstream revision for old data."""
|
||||
import argparse
|
||||
import hashlib
|
||||
import json
|
||||
from pathlib import Path
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("--rules-commit")
|
||||
parser.add_argument("--generator-commit")
|
||||
args = parser.parse_args()
|
||||
root = Path(__file__).resolve().parents[1]
|
||||
corpus = root / "config/security_rules.json"
|
||||
mapping = root / "config/eid_subcategory_mapping.csv"
|
||||
data = json.loads(corpus.read_text(encoding="utf-8-sig"))
|
||||
manifest = {
|
||||
"schemaVersion": 1,
|
||||
"corpusKind": "WELA extracted Hayabusa metadata; not complete upstream Sigma",
|
||||
"corpusSha256": hashlib.sha256(corpus.read_bytes()).hexdigest(),
|
||||
"mappingSha256": hashlib.sha256(mapping.read_bytes()).hexdigest(),
|
||||
"recordCount": len(data),
|
||||
"uniqueRuleCount": len({item["id"] for item in data}),
|
||||
"rulesRepository": "https://github.com/Yamato-Security/hayabusa-rules",
|
||||
"rulesCommit": args.rules_commit,
|
||||
"generatorRepository": "https://github.com/Yamato-Security/WELA-RulesGenerator",
|
||||
"generatorCommit": args.generator_commit,
|
||||
"metadataLimitations": ["Detection expressions and required fields are absent.", "Missing historical upstream revisions are unknown; file hashes pin the available inputs.", "Channel/EventID/GUID candidates do not prove native field support, outcomes, ingestion or query execution."],
|
||||
}
|
||||
(root / "config/rule_eligibility_manifest.json").write_text(json.dumps(manifest, indent=2) + "\n", encoding="utf-8")
|
||||
Reference in new issue
Block a user