crybaby445/Threat-Intel
GitHub: crybaby445/Threat-Intel
Stars: 0 | Forks: 0
# Threat-Intel
A repeatable, Claude Code–driven workflow for **threat intelligence analysis** — from ingesting
threat reports through TTP extraction, simulation planning, and **multi-source log correlation**
across endpoint and cloud telemetry.
This repository is designed to be driven interactively with [Claude Code](https://claude.com/claude-code).
Project guidance for the agent lives in [`CLAUDE.md`](CLAUDE.md); this README is the human-facing guide.
## What it does
Two core workflows:
1. **Threat Intel Processing** — ingest a threat-intel report URL → extract TTPs (mapped to MITRE
ATT&CK) and IOCs → produce an Atomic Red Team simulation plan for validation and detection
engineering.
2. **Multi-Source Investigation** — correlate endpoint (Windows Security, Sysmon) and cloud
(Azure AD / Entra sign-in, audit, risk) telemetry to reconstruct an incident across host and
identity sources.
### Supported log sources
| Source | Type |
|---|---|
| Windows Security Events | Endpoint / host |
| Sysmon Events | Endpoint / host (process, network, file) |
| Azure AD Sign-in Logs | Identity / cloud |
| Azure AD Audit Logs | Identity / cloud |
## Prerequisites & setup
The project runs inside a **VS Code Dev Container** (Ubuntu 24.04 + Node.js):
- Base image: `mcr.microsoft.com/devcontainers/base:ubuntu-24.04`
- Node.js via `ghcr.io/devcontainers/features/node:1`
- The Claude Code CLI is installed automatically on container start
(`npm install -g @anthropic-ai/claude-code`, defined in `.ona/automations.yaml`).
Open the repo in the dev container and you're ready. Add any extra tools to
`.devcontainer/Dockerfile`.
## Repository layout
| Path | Purpose |
|---|---|
| `CLAUDE.md` | Agent-facing project guidance (conventions, gotchas, artifact index) |
| `analysis/` | Generated TI / IR / correlation markdown outputs |
| `sample/` | Synthetic telemetry datasets for investigation & detection testing |
| `.claude/commands/` | Slash commands (e.g. `/ingest-ti`) |
| `.claude/agents/` | Project subagents (`endpoint-analyst`, `cloud-analyst`) |
| `.ona/automations.yaml` | Container-start automation |
## Usage
### Workflow 1 — Ingest a threat-intel report
Run the slash command in Claude Code with a report URL:
/ingest-ti https://example.com/threat-report
This will:
1. Extract clean content from the URL (`defuddle parse … --markdown`).
2. Identify the threat overview, map observed behavior to **MITRE ATT&CK** TTPs (with confidence
levels), and extract IOCs (IPs, domains, hashes, emails, etc.).
3. Suggest **Atomic Red Team** tests, prioritized by confidence and test availability.
4. Write a structured report to `analysis/ti-[date]-[name].md`.
### Workflow 2 — Multi-source investigation
Point the two analysis subagents at the relevant logs, then correlate. Example using the bundled
sample data:
Use the endpoint-analyst agent to analyze sample/sysmon_session_hijack.json
Use the cloud-analyst agent to analyze sample/azure_*.json
Then correlate the findings into a unified picture.
The subagents are read-only and designed to hand off to each other:
| Subagent | Scope | Output ends with |
|---|---|---|
| `endpoint-analyst` | Windows Security + Sysmon | **Questions / gaps** for other sources |
| `cloud-analyst` | Azure AD sign-in / audit / risk | **Correlation Hints** for endpoint logs |
A correlation pass produces a unified timeline, attack-chain reconstruction, confidence assessment,
and gap analysis (see the worked example in `analysis/correlation.md`).
## Sample dataset
`sample/` contains a complete synthetic incident — **"Entra session hijacking via browser cookie
theft"** — for exercising the investigation workflow and testing detections:
| File | Source | Events |
|---|---|---|
| `sysmon_session_hijack.json` | Sysmon | 11 |
| `azure_signin_logs.json` | Entra sign-in | 3 |
| `azure_audit_logs.json` | Entra audit | 3 |
| `azure_risk_detections.json` | Entra ID Protection | 2 |
| `README.md` | Scenario, entities, ATT&CK map, timeline | — |
Subject of the scenario: `jordan.miller@contoso.com` on host `FIN-WS-0427`.
## Conventions
- **Analysis outputs** go in `analysis/` and are named `ti-[date]-[name].md` (threat-intel) or
`ir-[date]-[name].md` (incident report); supporting notes as `endpoint.md` / `cloud.md` /
`correlation.md`.
- **All findings derive from raw log fields**, not from any embedded labels.
- See [`CLAUDE.md`](CLAUDE.md) for the agent-facing details and the current artifact index.
## Disclaimer
All telemetry, indicators, hostnames, IPs, and identities in this repository are **synthetic** and
for analysis/training purposes only. They are not real indicators of compromise.