# Timeline Mythic

> Parse Mythic export JSON into normalized timeline entries.

- Skill: `specterops/timeline-mythic` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add specterops/timeline-mythic`
- Raw SKILL.md: https://api.skillmd.com/api/skills/specterops/timeline-mythic/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: specterops (https://skillmd.com/u/specterops)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/specterops/timeline-mythic

---


# Timeline Mythic Parser

Trigger when Mythic exports (callbacks/tasks/responses/operations) are provided for timeline consolidation.

## Input Contract
- Directory `input/c2logs/mythic/` with JSON exports for callbacks, tasks, responses, or full operations.

## Output
- Produce `output/mythic_entries.json` with timeline entries (timestamp, source, operator, action, details, raw_timestamp).
- Add metadata with `source_type = "mythic"`, counts, and parse errors.

## Workflow
1. Detect export type (callbacks, tasks, full operations) by inspecting keys such as `callbacks`, `command_name`, or `timestamp`.
2. Convert all timestamps to ISO 8601 UTC (ensure `Z` suffix) using `fromisoformat` fallback patterns.
3. Emit entries:
   - Callback exports: `beacon_init` at `init_callback`, `checkin` at `last_checkin`.
   - Task exports: map `command_name`, `original_params`, or `display_params` to `action`/`details`.
   - Operation exports: iterate nested `callbacks` and `tasks`, keeping owner context.
4. Normalize `source` names to `Mythic-callback-<id>` or `Mythic-task-<id>`.
5. Include operator names, host/service details, and `action = task_name` with `details` from params/output.
6. Capture MITRE clues from command names when available (documented in the consolidator).

## Notes
- Favor `display_params` for human-readable commands.
- When `responses` arrays exist, include their output as part of the `details` field.

