Skip to content

Add to memory "tasks" to track individual items to complete #73

@double16

Description

@double16

What problem does this solve?

The plan is currently one memory item that is broken into a handful of phases. This makes it difficult to track more than a few vulns. The agent focuses on vulns that fit into context and then finishes.

Proposed solution

Add the concept of a task: [TASK] with properties:

  1. title
  2. catergory=task
  3. phase=N (based on execution prompt)
  4. status one of active | pending | done | partial_failure (stuck, need different capability) | blocked (dependency failed)

One task is active at a time. When a task is done, partial_failure or blocked, the next pending task is made active and worked upon.

Add a new task when:

  • An area of the target needs to be explored, new DISCOVERY task.
  • Vulnerability is found, add HYPOTHESIS task. Possibly a vulnerability should be split into phases, so one task per (vuln,phase) tuple.
  • Tasks are processed only when the phase matches so that budget/check point rules are followed.
  • Tasks must be based on execution prompt phases, following module intent.

When starting a new operation, current pending tasks will be considered.

Example:

  • DISCOVERY reveals possible injection points: add a task for sqli HYPOTHESIS, phase 2
  • HYPOTHESIS sqli phase 2 add VALIDATION task phase 3
  • VALIDATION done, add FINDING
  • CHAINING phase 4 adds task for each possible chain of FINDINGS

Alternatives considered

No response

Which area does this affect?

Agent/Tools

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions