mirror of
https://github.com/lockfale/OSINT-Framework.git
synced 2026-09-13 21:27:44 +02:00
Add comprehensive enrichment fields for the following 25 Domain Name tools: - Threatexpert.com Malicious URLs - Zeus C2 Tracker - Malware Domains Blacklist - Blackweb - Critical Stack Intel (R) - DNS Sinkhole - DNS-BH Malware Domain Blocklist - Malware Domain List - MalwareURL (R) - scumware.org - ZeuS Tracker - Shadowserver Foundation - Email Domain Validation - vURL Online - AlienVault Open Threat Exchange - Web Inspector Online Scan - Google Safe Browsing API - Cisco Talos - DNS Twist (T) - URLCrazy (T) - dnstwister - Catphish (T) - BuiltWith - SiteSleuth Populated fields for each tool: - description: 1-2 sentence summary - status: live/down/degraded - pricing: free/freemium/paid - bestFor: primary use-case - input/output: data format - opsec: passive/active/Unknown - opsecNote: OPSEC implications - Badges: localInstall, googleDork, registration, editUrl, api, invitationOnly, deprecated Co-Authored-By: Paperclip <noreply@paperclip.ing>
42 lines
1.3 KiB
Python
42 lines
1.3 KiB
Python
#!/usr/bin/env python3
|
|
import json
|
|
import sys
|
|
|
|
def merge_enrichment_into_node(node, enrichments):
|
|
"""Recursively search and merge enrichment data into matching nodes."""
|
|
if isinstance(node, dict):
|
|
if "name" in node and node["name"] in enrichments:
|
|
# Found a matching tool, merge enrichment data
|
|
enrichment = enrichments[node["name"]]
|
|
for key, value in enrichment.items():
|
|
node[key] = value
|
|
|
|
# Recursively process children
|
|
if "children" in node and isinstance(node["children"], list):
|
|
for child in node["children"]:
|
|
merge_enrichment_into_node(child, enrichments)
|
|
|
|
def main():
|
|
# Load enrichment data
|
|
with open("enrichment-batch4-domains.json", "r") as f:
|
|
enrichment_data = json.load(f)
|
|
|
|
enrichments = enrichment_data["enrichments"]
|
|
|
|
# Load arf.json
|
|
with open("public/arf.json", "r") as f:
|
|
arf_data = json.load(f)
|
|
|
|
# Merge enrichment data into arf.json
|
|
merge_enrichment_into_node(arf_data, enrichments)
|
|
|
|
# Write the updated arf.json
|
|
with open("public/arf.json", "w") as f:
|
|
json.dump(arf_data, f, indent=2)
|
|
|
|
print(f"Successfully merged enrichment data for {len(enrichments)} tools")
|
|
print("Updated public/arf.json")
|
|
|
|
if __name__ == "__main__":
|
|
main()
|