Skip to content
IDA Swarm Technical Reference logo

IDA Swarm Technical Reference

Technical reference for using IDA Swarm MCP tools. Covers system constraints, architecture, TRUE CONTEXT principle, result interpretation, and debugging. Use when analyzing binaries via IDA Swarm or troubleshooting sessions.

SKILL.md

Full skill instructions

IDA Swarm Technical Reference

Critical Constraints

ONE pending message per session

  • Cannot send second message while first is processing
  • Error: "session is still processing previous message"
  • Use get_session_messages() to poll or wait_for_response() to block

Sessions are deterministic

  • session_id = "session_" + SHA256(binary_path)[:16]
  • Same binary always gets same session_id
  • Prevents duplicate sessions
  • Must close existing session before creating new one for same binary

Results are in response text

  • start_analysis_session() and send_message() return synthesized findings
  • Orchestrator collects all agent work and returns coherent response

extract_results.sh is DEBUG ONLY

  • Creates HUGE raw dump of all agent data
  • Only use when debugging "why did orchestrator conclude X?"
  • Not part of normal workflow
  • Normal results come from response text

TRUE CONTEXT Principle

Why This Matters

Orchestrator spawns specialized agents based on task description. Task quality determines:

  • What types of agents spawn (network analysis? crypto? vulnerability research?)
  • How agents prioritize work
  • Analysis depth
  • Whether findings meet actual needs

Deriving Effective Task Descriptions

Reason through what orchestrator needs to understand:

1. What is the actual objective?

  • Not "analyze network code" → WHY: Extracting C2? Understanding protocol? Finding vulnerabilities?
  • Objective determines agent specialization

2. What form should results take?

  • Not "provide analysis" → Addresses with annotations? IOC list? Pseudocode? Detection signatures?
  • Output format affects what agents extract

3. What would make results unusable?

  • Missing function addresses? No proof? Incomplete spec?
  • Understanding failure modes clarifies success criteria

Cognitive Process

Before sending task:

  • If agents only knew what I've written, could they derive what's actually needed?
  • What decisions will agents make based on this description?
  • Am I describing surface task ("find X") or underlying goal ("because I need Y")?

Example reasoning:

"Find network functions" → Agents don't know:

  • WHY needed (IOC extraction vs protocol RE require different approaches)
  • Platform specifics (WinSock vs POSIX)
  • What constitutes completeness

Derive:

  • WHY: C2 infrastructure for threat intel → Agents prioritize: IOCs, destinations, protocol patterns, evasion
  • CONTEXT: Windows PE, APT, encrypted custom protocol → Agents look for: WinINet/​WinSock, crypto on network data, DGA
  • OUTPUT: IOC table, protocol structure, signatures → Agents extract: IPs/​domains/​ports, message format, detection patterns

Result: Agents spawn with APT C2 specialization, focus on actionable IOCs, extract detection-relevant patterns.

Framework as Scaffold

WHAT - Technical task WHY - Actual objective determining approach CONTEXT - Information constraining/​focusing analysis OUTPUT - Form making results usable

Not rules. Questions to reason through what enables effective agent spawning.

Orchestrator can't read your mind. It derives agent strategy from task description.

Architecture Essentials

Communication flow:

Claude Code → MCP Server → Orchestrator (IDA) → Agents (IDA instances)

Two workspace locations:

/​tmp/​ida_swarm_sessions/​{session_id}/

  • IPC files: request.json, response.json, sequence files
  • ida.err - check this for IDA errors
  • ida.out - IDA stdout

/​tmp/​ida_swarm_workspace/​{binary_name}/

  • agents/​agent_N/ - agent databases, logs, memories
  • orchestrator.log - check for orchestrator errors
  • profiling/ - performance metrics (if enabled)
  • extract_results.sh - debug tool (raw agent dump)

File-based IPC

  • Orchestrator polls sequence files for changes
  • Atomic writes via tmp+rename
  • Response text contains orchestrator's synthesis

Agent coordination

  • Agents work on isolated database copies
  • IRC for conflict resolution when agents disagree
  • Orchestrator merges findings after agents complete
  • Response text contains merged result

Tool Usage Patterns

start_analysis_session

  • Spawns IDA
  • Returns session_id and initial findings in response text
  • run_in_background=true returns immediately (use for parallel analysis)

send_message

  • Orchestrator maintains full context from previous messages
  • Can reference previous findings naturally
  • Returns synthesized response text
  • run_in_background=true requires retrieving response later

close_session

  • 60-second graceful shutdown (IDA database save)
  • Cleans workspace directory
  • Orphaned files (created by orchestrator) remain where they were written

get_session_messages

  • Non-blocking poll for background mode
  • Returns empty if still processing
  • Clears message queue when retrieved

wait_for_response

  • Blocking wait for background mode
  • Returns when response available
  • Use for parallel analysis coordination

Background Mode (Parallel Analysis)

When to use run_in_background=true:

  • Analyzing multiple binaries simultaneously
  • Long analysis + other work needed

Pattern:

s1 = start_analysis_session(bin1, task1, run_in_background=true)
s2 = start_analysis_session(bin2, task2, run_in_background=true)
s3 = start_analysis_session(bin3, task3, run_in_background=true)

r1 = wait_for_response(s1)
r2 = wait_for_response(s2)
r3 = wait_for_response(s3)

Orchestrator Capabilities

File writing

  • Can create files (scripts, reports, configs)
  • Default location: next to binary
  • Can specify custom paths in request

Binary patching

  • Agents can modify binaries via Keystone assembler
  • Patches applied to both IDA database and actual binary file

Multi-agent decomposition

  • Orchestrator spawns specialized agents based on task
  • Quality of task description determines agent specialization
  • Agents work in parallel, findings merged

Common Issues

"Session started but no response"

  • Check /​tmp/​ida_swarm_sessions/​{session_id}/​ida.err
  • Verify IDA process: ps aux | grep ida64
  • Check orchestrator log: tail /​tmp/​ida_swarm_workspace/​{binary}/​orchestrator.log

"Cannot send message: still processing"

  • ONE pending message constraint
  • Use get_session_messages() to check status
  • Wait for response before next message

Optimization

Reuse sessions

  • Multiple follow-up questions in same session
  • Much faster than closing and reopening

Debugging Checklist

  • IDA process running? ps aux | grep ida64
  • IDA errors? cat /​tmp/​ida_swarm_sessions/​{session_id}/​ida.err
  • Orchestrator errors? grep -i error /​tmp/​ida_swarm_workspace/​{binary}/​orchestrator.log
  • Agent logs? ls /​tmp/​ida_swarm_workspace/​{binary}/​agents/
  • Sequence files? cat /​tmp/​ida_swarm_sessions/​{session_id}/​*_seq

Configuration

MCP Server: ~/​.ida_swarm_mcp/​server_config.json

{
    "max_sessions": 25,
    "ida_path": "/​Applications/​IDA Professional 9.0.app/​Contents/​MacOS/​ida64"
}

Orchestrator: ~/​.idapro/​llm_re_config.json

{
    "api": {"auth_method": "api_key", "api_key": "sk-ant-..."},
    "profiling": {"enabled": true}
}

Key Takeaways

  1. Sessions are deterministic (same binary = same session_id)
  2. Results in response text, not extract_results.sh (debug only)
  3. ONE pending message per session at a time
  4. TRUE CONTEXT determines agent spawning quality
  5. 10+ minutes is normal, not hung
  6. Two workspace directories for debugging
  7. extract_results.sh = debug tool for raw agent data
  8. 60-second shutdown is graceful IDA database save

More skills from majiayu000

xiaohongshu logo
majiayu000/claude-arsenal

xiaohongshu

xiaohongshu

286 148
View
agent-task-conductor logo
majiayu000/claude-skill-registry

agent-task-conductor

Conduct multi-agent task orchestration and workflow coordination.

663 1
View
conductor-setup logo
majiayu000/claude-skill-registry

conductor-setup

Initialize project with Conductor artifacts (product definition,

663 1
View
animation-designer logo
majiayu000/claude-skill-registry

animation-designer

Expert in web animations, transitions, and motion design using Framer Motion and CSS

663 1
View
diagramming logo
majiayu000/claude-skill-registry

diagramming

Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...

663 1
View
h3-pg logo
majiayu000/claude-skill-registry-data

h3-pg

PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.

23 1
View
conductor-development logo
majiayu000/claude-skill-registry

conductor-development

Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...

663 1
View
conductor-status logo
majiayu000/claude-skill-registry

conductor-status

Display project status, active tracks, and next actions

663 1
View
dockerization logo
majiayu000/claude-skill-registry

dockerization

Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.

663 1
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View