Documents
phase-5-task-distribution
phase-5-task-distribution
Type
External
Status
Published
Created
Feb 27, 2026
Updated
Feb 27, 2026

Phase 5: Task Distribution System#

This phase focuses on distributing attack workloads across available agents in the lab. It includes job scheduling, task generation, campaign-to-attack logic, and real-time synchronization with agent status.


Table of Contents#


Goals#

  • Implement campaign execution engine
  • Assign attacks to agents based on priority and availability
  • Track task lifecycle from creation to completion
  • Package and serialize tasks to be sent to agents

Implementation Tasks#

  • Implement algorithms for splitting up an attack into tasks based on total keyspace and agent benchmarks
  • Build a scheduler to:
    • Sort campaigns by priority
    • Sort attacks by when campaigns are equal priority
    • Create tasks from attacks, dividing them up into chunks based on total keyspace and agent benchmarks
    • Provide tasks to agents upon request
    • Monitor agent status and reassign tasks if agents become unavailable
    • Notify agents when they are assigned tasks for an attack that is no longer running
  • Implement message protocol to dispatch tasks to agents
  • Track execution state (queued, dispatched, running, completed)
  • Handle failed tasks with retries or reassignment

Agent Sync#

  • Implement agent polling endpoints (e.g., /agent/heartbeat, /agent/pickup)
  • Return task payloads securely
  • Support pausing or stopping campaigns via web UI

Dependencies#

  • Campaigns
  • Agents
  • Attack resources
  • Agent status tracking