INNER CODE UNIT · Python
parse_capa_json
FuzzingLabs/mcp-security-hub · binary-analysis/capa-mcp/server.py:73
def parse_capa_json(output: str) -> list[Capability]:
capabilities = []
try:
data = json.loads(output)
rules = data.get("rules", {})
for rule_name, rule_data in rules.items():
meta = rule_data.get("meta", {})
attack_ids = []
for att in meta.get("attack", []):
if isinstance(att, dict):
attack_ids.append(f"{att.get('technique', '')} - {att.get('id', '')}")
mbc_ids = []
for mbc in meta.get("mbc", []):
if isinstance(mbc, dict):
mbc_ids.append(f"{mbc.get('objective', '')} - {mbc.get('id', '')}")