| layout | default |
|---|---|
| title | Chapter 6: Offensive Security Mode and Specialized Workloads |
| nav_order | 6 |
| parent | SWE-agent Tutorial |
Welcome to Chapter 6: Offensive Security Mode and Specialized Workloads. In this part of SWE-agent Tutorial: Autonomous Repository Repair and Benchmark-Driven Engineering, you will build an intuitive mental model first, then move into concrete implementation details and practical production tradeoffs.
This chapter explains workload specialization and when to use security-focused variants.
- understand EnIGMA mode scope and constraints
- decide when specialized versions are appropriate
- isolate high-risk workflows operationally
- align capabilities with governance requirements
SWE-agent's EnIGMA path targets offensive cybersecurity challenge workflows. Keep these environments isolated and policy-governed, and follow project guidance on version alignment.
You now understand how specialized security workloads fit into the broader SWE-agent ecosystem.
Next: Chapter 7: Development and Contribution Workflow
The ReplayModelConfig class in sweagent/agent/models.py handles a key part of this chapter's functionality:
class ReplayModelConfig(GenericAPIModelConfig):
replay_path: Path = Field(description="Path to replay file when using the replay model.")
per_instance_cost_limit: float = Field(
default=0.0, description="Cost limit for every instance (task). This is a dummy value here."
)
total_cost_limit: float = Field(
default=0.0, description="Cost limit for all instances (tasks). This is a dummy value here."
)
name: Literal["replay"] = Field(default="replay", description="Model name.")
model_config = ConfigDict(extra="forbid")
class InstantEmptySubmitModelConfig(GenericAPIModelConfig):
"""Model that immediately submits an empty patch"""
name: Literal["instant_empty_submit"] = Field(default="instant_empty_submit", description="Model name.")
per_instance_cost_limit: float = Field(
default=0.0, description="Cost limit for every instance (task). This is a dummy value here."
)
total_cost_limit: float = Field(
default=0.0, description="Cost limit for all instances (tasks). This is a dummy value here."
)
delay: float = 0.0
"""Delay before answering"""
model_config = ConfigDict(extra="forbid")This class is important because it defines how SWE-agent Tutorial: Autonomous Repository Repair and Benchmark-Driven Engineering implements the patterns covered in this chapter.
The InstantEmptySubmitModelConfig class in sweagent/agent/models.py handles a key part of this chapter's functionality:
class InstantEmptySubmitModelConfig(GenericAPIModelConfig):
"""Model that immediately submits an empty patch"""
name: Literal["instant_empty_submit"] = Field(default="instant_empty_submit", description="Model name.")
per_instance_cost_limit: float = Field(
default=0.0, description="Cost limit for every instance (task). This is a dummy value here."
)
total_cost_limit: float = Field(
default=0.0, description="Cost limit for all instances (tasks). This is a dummy value here."
)
delay: float = 0.0
"""Delay before answering"""
model_config = ConfigDict(extra="forbid")
class HumanModelConfig(GenericAPIModelConfig):
name: Literal["human"] = Field(default="human", description="Model name.")
per_instance_cost_limit: float = Field(
default=0.0, description="Cost limit for every instance (task). This is a dummy value here."
)
total_cost_limit: float = Field(default=0.0, description="Cost limit for all instances (tasks).")
cost_per_call: float = 0.0
catch_eof: bool = True
"""Whether to catch EOF and return 'exit' when ^D is pressed. Set to False when used in human_step_in mode."""
model_config = ConfigDict(extra="forbid")
This class is important because it defines how SWE-agent Tutorial: Autonomous Repository Repair and Benchmark-Driven Engineering implements the patterns covered in this chapter.
The HumanModelConfig class in sweagent/agent/models.py handles a key part of this chapter's functionality:
class HumanModelConfig(GenericAPIModelConfig):
name: Literal["human"] = Field(default="human", description="Model name.")
per_instance_cost_limit: float = Field(
default=0.0, description="Cost limit for every instance (task). This is a dummy value here."
)
total_cost_limit: float = Field(default=0.0, description="Cost limit for all instances (tasks).")
cost_per_call: float = 0.0
catch_eof: bool = True
"""Whether to catch EOF and return 'exit' when ^D is pressed. Set to False when used in human_step_in mode."""
model_config = ConfigDict(extra="forbid")
class HumanThoughtModelConfig(HumanModelConfig):
name: Literal["human_thought"] = Field(default="human_thought", description="Model name.")
per_instance_cost_limit: float = Field(
default=0.0, description="Cost limit for every instance (task). This is a dummy value here."
)
total_cost_limit: float = Field(
default=0.0, description="Cost limit for all instances (tasks). This is a dummy value here."
)
cost_per_call: float = 0.0
model_config = ConfigDict(extra="forbid")
ModelConfig = Annotated[
GenericAPIModelConfig
| ReplayModelConfigThis class is important because it defines how SWE-agent Tutorial: Autonomous Repository Repair and Benchmark-Driven Engineering implements the patterns covered in this chapter.
The HumanThoughtModelConfig class in sweagent/agent/models.py handles a key part of this chapter's functionality:
class HumanThoughtModelConfig(HumanModelConfig):
name: Literal["human_thought"] = Field(default="human_thought", description="Model name.")
per_instance_cost_limit: float = Field(
default=0.0, description="Cost limit for every instance (task). This is a dummy value here."
)
total_cost_limit: float = Field(
default=0.0, description="Cost limit for all instances (tasks). This is a dummy value here."
)
cost_per_call: float = 0.0
model_config = ConfigDict(extra="forbid")
ModelConfig = Annotated[
GenericAPIModelConfig
| ReplayModelConfig
| InstantEmptySubmitModelConfig
| HumanModelConfig
| HumanThoughtModelConfig,
Field(union_mode="left_to_right"),
]
class GlobalStats(PydanticBaseModel):
"""This class tracks usage numbers (costs etc.) across all instances."""
total_cost: float = 0
"""Cumulative cost for all instances so far"""This class is important because it defines how SWE-agent Tutorial: Autonomous Repository Repair and Benchmark-Driven Engineering implements the patterns covered in this chapter.
flowchart TD
A[ReplayModelConfig]
B[InstantEmptySubmitModelConfig]
C[HumanModelConfig]
D[HumanThoughtModelConfig]
E[GlobalStats]
A --> B
B --> C
C --> D
D --> E