Summary
Add support for parallel execution branches within a chain. This enables testing complex scenarios where multiple actions must happen simultaneously after setup steps.
Parent Issue
Configuration
race_attack:
race:
threads: 20
chain:
# Sequential setup
- name: login
request: "POST /login"
extract:
session: "cookie.session"
- name: get_balance
request: "GET /api/balance"
extract:
balance: "json.amount"
# Parallel branches - execute simultaneously
- parallel:
- name: withdraw_cash
request: "POST /api/withdraw"
- name: transfer_out
request: "POST /api/transfer"
- name: buy_item
request: "POST /api/purchase"
# Continue sequentially after parallel completes
- name: verify
request: "GET /api/balance"
Execution Flow
Sequential: [login] → [get_balance] → ...
↓
Parallel: ┌─[withdraw]─┐
├─[transfer]─┤ (all 3 run simultaneously)
└─[purchase]─┘
↓
Sequential: [verify]
Use Cases
1. Multi-Vector Attack
parallel:
- name: drain_balance
request: "POST /api/withdraw?amount=all"
- name: request_refund
request: "POST /api/refund?order=123"
- name: transfer_to_friend
request: "POST /api/transfer?to=friend"
2. Resource Exhaustion
parallel:
- name: book_seat_1
request: "POST /api/book?seat=1A"
- name: book_seat_2
request: "POST /api/book?seat=1B"
- name: book_seat_3
request: "POST /api/book?seat=1C"
Implementation Notes
- Parallel branches execute in separate threads/coroutines
- All branches must complete before chain continues
- Each branch has access to same chain context (read-only for parallel section)
- Results from parallel branches merged into chain context
Acceptance Criteria
Future Consideration
This is an advanced feature that may be implemented in a future version after basic chaining is stable.
Summary
Add support for parallel execution branches within a chain. This enables testing complex scenarios where multiple actions must happen simultaneously after setup steps.
Parent Issue
Configuration
Execution Flow
Use Cases
1. Multi-Vector Attack
2. Resource Exhaustion
Implementation Notes
Acceptance Criteria
parallelblocks in chain configFuture Consideration
This is an advanced feature that may be implemented in a future version after basic chaining is stable.