更新: 359 个文件 - 2026-03-16 23:30:01
这个提交包含在:
@@ -12,10 +12,13 @@ THREAT_INTEL_ROOT = ROOT / "08-threat-intel"
|
||||
REGISTRY_ROOT = THREAT_INTEL_ROOT / "registry"
|
||||
ADVISORIES_DIR = REGISTRY_ROOT / "advisories"
|
||||
SYSTEMS_DIR = REGISTRY_ROOT / "systems"
|
||||
RUNS_DIR = REGISTRY_ROOT / "runs"
|
||||
TRIAGE_DIR = REGISTRY_ROOT / "triage"
|
||||
GENERATED_DIR = THREAT_INTEL_ROOT / "generated"
|
||||
SECURE_CODE_ROOT = ROOT / "05-defense" / "secure-code"
|
||||
SOURCE_MAP_PATH = THREAT_INTEL_ROOT / "source-map.yaml"
|
||||
REPRO_MAP_PATH = THREAT_INTEL_ROOT / "repro-map.yaml"
|
||||
REPRO_PROFILES_DIR = THREAT_INTEL_ROOT / "repro-profiles"
|
||||
STATE_DIR = Path.home() / ".local" / "state" / "websafe-intel"
|
||||
STATE_PATH = STATE_DIR / "state.json"
|
||||
|
||||
@@ -33,6 +36,16 @@ def load_source_map() -> Dict[str, Any]:
|
||||
return data
|
||||
|
||||
|
||||
def load_repro_map() -> Dict[str, Any]:
|
||||
if not REPRO_MAP_PATH.exists():
|
||||
return {"systems": []}
|
||||
with REPRO_MAP_PATH.open("r", encoding="utf-8") as handle:
|
||||
data = yaml.safe_load(handle) or {}
|
||||
if not isinstance(data, dict) or "systems" not in data:
|
||||
return {"systems": []}
|
||||
return data
|
||||
|
||||
|
||||
def get_systems_by_group(source_map: Dict[str, Any]) -> Dict[str, List[Dict[str, Any]]]:
|
||||
groups: Dict[str, List[Dict[str, Any]]] = {}
|
||||
for system in source_map["systems"]:
|
||||
|
||||
在新工单中引用
屏蔽一个用户