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

5.0 KiB

OpenCTI IOC Enrichment Workflows

Workflow 1: Automatic Enrichment Pipeline

[New Observable Created] --> [RabbitMQ Queue] --> [Enrichment Connectors]
                                                        |
                                            +-----------+-----------+
                                            |           |           |
                                            v           v           v
                                      [VirusTotal] [Shodan]  [AbuseIPDB]
                                            |           |           |
                                            v           v           v
                                     [STIX Bundle] [STIX Bundle] [STIX Bundle]
                                            |           |           |
                                            +-----------+-----------+
                                                        |
                                                        v
                                              [Merged into OpenCTI]
                                                        |
                                                        v
                                              [Confidence Updated]

Steps:

  1. Observable Ingestion: New IP/domain/hash created via feed import or manual entry
  2. Queue Distribution: OpenCTI sends observable to enrichment connector queues
  3. Parallel Enrichment: Each connector queries its respective external API
  4. STIX Bundle Generation: Connectors produce STIX 2.1 bundles with notes, labels, relationships
  5. Merge: Enrichment results merged into the observable's knowledge graph
  6. Scoring: Confidence score updated based on aggregated enrichment data

Workflow 2: Analyst-Triggered Enrichment

[Analyst Selects Observable] --> [Manual Enrichment Request] --> [Selected Connectors]
         |                                                              |
         v                                                              v
  [Review Results] <-- [Enrichment Dashboard] <-- [Results Returned]
         |
         v
  [Update Tags/Labels] --> [Add to Investigation]

Steps:

  1. Selection: Analyst identifies observable requiring additional context
  2. Connector Choice: Select specific enrichment connectors to run
  3. Execution: Connectors query external services with observable value
  4. Review: Analyst reviews enrichment results in observable detail view
  5. Curation: Analyst updates labels, confidence, and adds notes
  6. Investigation: Link enriched observable to ongoing investigation case

Workflow 3: Bulk Enrichment Pipeline

[STIX Import] --> [Observable Extraction] --> [Batch Queue] --> [Rate-Limited Enrichment]
                                                                         |
                                                                         v
                                                              [Progress Tracking]
                                                                         |
                                                                         v
                                                              [Enrichment Report]

Steps:

  1. Bulk Import: Import STIX bundle with hundreds of observables
  2. Extraction: OpenCTI extracts unique observables from imported data
  3. Queue Management: Observables queued for enrichment with rate limiting
  4. Progressive Enrichment: Connectors process queue respecting API rate limits
  5. Monitoring: Track enrichment progress via connector status dashboard
  6. Reporting: Generate enrichment summary with coverage statistics

Workflow 4: Enrichment-Driven Scoring

[Raw IOC (Score: 0)] --> [VirusTotal] --> [Score += VT_detections/total * 30]
                              |
                              v
                         [AbuseIPDB] --> [Score += abuse_confidence * 0.3]
                              |
                              v
                         [GreyNoise] --> [Score += classification_weight]
                              |
                              v
                         [Shodan] --> [Score += open_ports_risk]
                              |
                              v
                    [Final Score (0-100)] --> [Priority Classification]
                              |
                    +---------+---------+
                    |         |         |
                    v         v         v
              [Critical]  [High]    [Low]
              (80-100)   (50-79)   (0-49)

Steps:

  1. Baseline: Observable starts with confidence score of 0
  2. VT Score: VirusTotal detection ratio contributes up to 30 points
  3. Abuse Score: AbuseIPDB confidence contributes up to 30 points
  4. Classification: GreyNoise malicious/benign classification adds/subtracts points
  5. Exposure: Shodan data on open ports and known vulnerabilities adds risk points
  6. Final Priority: Aggregated score determines analyst priority queue placement