Claude 24f816b6a3
Consolidate 22 sibling repos into layered organism structure
Place useful parts of the surrounding repos into sica-fondt by layer, per the
body model (Ada = membrane; brain/endocrine/capabilities/knowledge non-Ada):

- brain/        LLM reasoning + providers (dapr, hermes, MoMoA)
- capabilities/ REPRAG sidecars: hermes tools/skills, dapr tools, parallel
                dispatch, A51 channels, and the OSINT cluster
- knowledge/    LORAG corpus: 754 cyber-skills, agency personas, secure-coding,
                MITRE ATT&CK data
- reference/    defensive threat-reference (C3, shhbruh doc) + AdaYaml parser

License handling: AGPL sources (worldosint, advanced_evolution, mercury,
Reticulum) and GPL DeTTECT are SPEC-only clean-room/port descriptions — no
copyleft code copied. MIT/Apache/data parts copied as working trees.

Safety: shhbruh escape/persistence material and C3 covert-C2 kept as reference
only, not wired into the running organism. See CONSOLIDATION.md.

https://claude.ai/code/session_01UehUqEXXJJCsHoA4voCU5c
2026-06-10 06:53:01 +00:00

1.9 KiB

API Reference: Building Automated Malware Submission Pipeline

VirusTotal API v3

File Lookup by Hash

resp = requests.get(
    f"https://www.virustotal.com/api/v3/files/{sha256}",
    headers={"x-apikey": VT_KEY},
)
stats = resp.json()["data"]["attributes"]["last_analysis_stats"]

Submit File for Scanning

resp = requests.post(
    "https://www.virustotal.com/api/v3/files",
    headers={"x-apikey": VT_KEY},
    files={"file": open(filepath, "rb")},
)
analysis_id = resp.json()["data"]["id"]

MalwareBazaar API

resp = requests.post(
    "https://mb-api.abuse.ch/api/v1/",
    data={"query": "get_info", "hash": sha256},
)
if resp.json()["query_status"] == "ok":
    entry = resp.json()["data"][0]
    print(entry["signature"], entry["tags"])

Cuckoo Sandbox REST API

Endpoint Method Description
/tasks/create/file POST Submit file for analysis
/tasks/view/{id} GET Check task status
/tasks/report/{id} GET Get analysis report
/tasks/list GET List all tasks
# Submit
resp = requests.post(
    f"{CUCKOO_URL}/tasks/create/file",
    files={"file": open(path, "rb")},
    data={"timeout": 300, "machine": "win10_x64"},
)
task_id = resp.json()["task_id"]

# Check status
resp = requests.get(f"{CUCKOO_URL}/tasks/view/{task_id}")
status = resp.json()["task"]["status"]  # "reported" when done

Splunk HEC (HTTP Event Collector)

requests.post(
    f"{SPLUNK_URL}/services/collector/event",
    headers={"Authorization": f"Splunk {TOKEN}"},
    json={"sourcetype": "malware_analysis", "event": report_data},
)

References