Skip to main content

Phase Reference

Each of the Security Planner's six phases has defined inputs, outputs, state transitions, and artifacts. This reference documents the details that govern how the agent moves through a complete security analysis.

Phase Summary

PhaseNameKey outputState fields updated
1Project ScopingScope definitionentryMode, raiEnabled, aiComponents
2Bucket AnalysisBucket classificationbucketsCompleted
3Standards MappingControls per bucketstandardsMapped
4Security ModelThreat catalogriskSurfaceStarted
5Backlog GenerationWork itemshandoffGenerated
6Review & HandoffSummary and RAI dispatchraiPlannerDispatched

Phase 1: Project Scoping

Purpose

Capture the project's purpose, technology stack, deployment model, data classification, and compliance requirements. Detect AI/ML components that trigger downstream RAI assessment.

Inputs

  • User responses to scoping questions (capture mode).
  • PRD/BRD artifacts from .copilot-tracking/ (From-PRD mode).

Process

The agent asks 3-5 questions per turn covering:

  • Project purpose and business context.
  • Technology stack and programming languages.
  • Deployment model (cloud, on-premises, hybrid).
  • Data classification and sensitivity levels.
  • Compliance and regulatory requirements.
  • AI/ML component identification.

Outputs

  • Completed scope definition in the plan file.
  • AI/ML detection results stored in state (raiEnabled, raiScope, raiTier, aiComponents).

State Transitions

FieldBeforeAfter
currentPhase12 (on user confirmation)
entryModeunsetfrom-prd or capture
raiEnabledunsettrue or false
raiScopeunsetnone, lightweight, or full
raiTierunsetnone through comprehensive

Phase 2: Bucket Analysis

Purpose

Classify all application components into seven operational buckets with a cross-cutting overlay.

The Seven Buckets

BucketCovers
InfrastructureNetworking, compute, storage, cloud resources
DevOps / Platform-opsCI/CD pipelines, deployment, monitoring
BuildBuild systems, dependency management, artifact signing
MessagingQueues, event buses, pub/sub, webhooks
DataDatabases, caches, data lakes, ETL pipelines
Web / UI / ReportingFrontend apps, APIs, dashboards, reporting
Identity / AuthAuthentication, authorization, secrets management

The GS (cross-cutting) overlay captures concerns that span multiple buckets, such as logging, encryption at rest, and network segmentation.

Process

The agent walks through each bucket, asking which components belong to it, and identifies cross-cutting concerns. Components can belong to multiple buckets.

State Transitions

FieldBeforeAfter
currentPhase23 (on user confirmation)
bucketsCompleted[]Populated with completed buckets

Phase 3: Standards Mapping

Purpose

Map each operational bucket to the relevant controls from OWASP Top 10, NIST 800-53, and CIS Benchmarks.

Frameworks

FrameworkScopeUsage
OWASP Top 10Web application risksMapped to Web/UI and Data buckets
NIST 800-53Comprehensive security controlsMapped across all buckets
CIS BenchmarksConfiguration baselinesMapped to Infrastructure and Build

The agent dispatches the Researcher Subagent to perform WAF (Well-Architected Framework) and CAF (Cloud Adoption Framework) runtime lookups when cloud-hosted components are in scope.

State Transitions

FieldBeforeAfter
currentPhase34 (on user confirmation)
standardsMapped[]Populated with mapped buckets

Phase 4: Security Model Analysis

Purpose

Perform STRIDE-based threat modeling per bucket, generating a structured threat catalog.

STRIDE Categories

CategoryQuestion the threat answers
SpoofingCan an attacker impersonate a legitimate user or system?
TamperingCan data or code be modified without detection?
RepudiationCan actions be denied or hidden?
Information DisclosureCan sensitive data be exposed?
Denial of ServiceCan the system be made unavailable?
Elevation of PrivilegeCan an attacker gain unauthorized access?

Threat Identification Format

Each threat receives a unique identifier in the format T-{BUCKET}-{NNN}, where BUCKET is the operational bucket abbreviation and NNN is a sequential number.

Severity Rating

Threats are rated using a likelihood-impact matrix:

Likelihood × ImpactResult
High × HighCritical
High × MediumHigh
Medium × HighHigh
Medium × MediumMedium
Low × anyLow

State Transitions

FieldBeforeAfter
currentPhase45
riskSurfaceStartedfalsetrue

Phase 5: Backlog Generation

Purpose

Convert identified threats into actionable backlog items with acceptance criteria and autonomy tier assignments.

Work Item Formats

PlatformID formatExample
ADOWI-SEC-{NNN}WI-SEC-001
GitHub{{SEC-TEMP-N}}{{SEC-TEMP-1}}

Autonomy Tiers

TierHuman involvementTypical use
FullNone requiredLow-risk configuration changes
PartialReview and approveDefault for most security remediations
ManualHuman plans and implementsArchitectural changes, policy decisions

State Transitions

FieldBeforeAfter
currentPhase56
handoffGenerated{ado: false, github: false}Updated per target

Phase 6: Review and Handoff

Purpose

Validate the complete analysis, present a summary, and trigger RAI Planner dispatch when AI/ML components are in scope.

Review Checklist

The agent validates:

  • All operational buckets have been classified.
  • Standards are mapped for each bucket.
  • Threats exist for each bucket with severity ratings.
  • Backlog items are linked to their source threats.
  • AI/ML components (if detected) have been flagged for RAI assessment.

RAI Dispatch

When raiEnabled is true, the agent:

  1. Presents the RAI Planner agent path (.github/agents/rai-planning/rai-planner.agent.md).
  2. Suggests the from-security-plan entry mode.
  3. Identifies the state file and project slug for the RAI Planner to consume.
  4. Sets raiPlannerDispatched to true in state.

State Transitions

FieldBeforeAfter
currentPhase66
raiPlannerDispatchedfalsetrue

🤖 Crafted with precision by ✨Copilot following brilliant human instruction, then carefully refined by our team of discerning human reviewers.