-
Notifications
You must be signed in to change notification settings - Fork 34
Create Risk Register Management runbook #30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
dandye
wants to merge
3
commits into
main
Choose a base branch
from
create-risk-register-runbook-10464344979065759157
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
3 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,106 @@ | ||
| --- | ||
| title: "Risk Register Management" | ||
| type: "runbook" | ||
| category: "security_operations" | ||
| status: "active" | ||
| tags: | ||
| - risk_management | ||
| - compliance | ||
| - governance | ||
| - strategic_planning | ||
| --- | ||
|
|
||
| # Risk Register Management | ||
|
|
||
| In security operations (SecOps) and broader information security, a **Risk Register** is a centralized, living document or database used to identify, evaluate, track, and manage security risks across an organization. | ||
| If your SIEM (Security Information and Event Management) and security alerts deal with the *immediate tactical reality* (e.g., "Active brute-force attack on Port 22"), the Risk Register deals with the *strategic business reality* (e.g., "Legacy authentication systems lack MFA, creating a high probability of credential stuffing"). | ||
| It acts as the bridge between technical vulnerabilities and business impact, allowing security teams to prioritize what gets fixed first based on data rather than gut feeling. | ||
|
|
||
| ## Objective | ||
|
|
||
| To define the structure, lifecycle, and operational workflow for managing a Risk Register in a SecOps environment, ensuring risks are systematically identified, assessed, treated, and reviewed. | ||
|
|
||
| ## Scope | ||
|
|
||
| This runbook covers the end-to-end lifecycle of tracking security risks—from initial identification through to ongoing review. It applies to all strategic risks impacting the organization's information security posture. | ||
|
|
||
| ## Inputs | ||
|
|
||
| * `${NEW_RISK_DATA}`: Details of a newly identified risk (e.g., from threat hunts, audits, pentests). | ||
| * `${EXISTING_RISK_ID}`: The ID of an existing risk to be reviewed or updated. | ||
| * `${TREATMENT_PLAN}`: The proposed mitigation, acceptance, transfer, or avoidance strategy. | ||
|
|
||
| ## Tools | ||
|
|
||
| * `GRC Platform` or `Shared Repository` (to store and update the register). | ||
| * `secops-soar` (to track tasks related to risk mitigation). | ||
|
|
||
| ## Core Attributes of a Risk Register | ||
|
|
||
| While formats range from a simple shared spreadsheet to dedicated GRC platforms, a functional risk register typically tracks these core attributes: | ||
|
|
||
| | Field | Purpose | Concrete Example | | ||
| | :---- | :---- | :---- | | ||
| | **Risk ID** | A unique identifier for tracking. | RSK-2026-042 | | ||
| | **Description** | Clearly states the threat, vulnerability, and consequence. | Unpatched Apache server in the DMZ could allow remote code execution, leading to customer data exfiltration. | | ||
| | **Risk Owner** | The specific person or team accountable for managing the risk. | VP of Infrastructure / SecOps Lead | | ||
| | **Inherent Risk** | The raw risk score (Likelihood × Impact) *before* any controls are applied. | **High** (Likelihood: 4/5, Impact: 5/5) | | ||
| | **Treatment Plan** | The decision made: Mitigate, Accept, Transfer (insurance), or Avoid. | **Mitigate** via virtual patching, followed by server migration. | | ||
| | **Residual Risk** | The remaining risk score *after* implementing the treatment plan. | **Low** (Likelihood: 1/5, Impact: 2/5) | | ||
| | **Status & Review** | Current progress and the next scheduled reassessment date. | *In Progress* — Next review: Oct 1, 2026 | | ||
|
|
||
| ## Why SecOps Relies on It | ||
|
|
||
| 1. **Defends Resource Allocation:** When SecOps needs budget for a new tool or engineering hours to refactor legacy code, pointing to a documented "Critical" risk on the register provides business justification to leadership. | ||
| 2. **Prevents Alert Fatigue Traps:** A vulnerability scanner might flag 5,000 "high-severity" CVEs. The risk register helps map which of those actually expose critical business assets, filtering the noise. | ||
| 3. **Maintains Continuity:** If a key security engineer leaves, the organization doesn't lose track of accepted risks or ongoing remediation projects. | ||
| 4. **Audit & Compliance Proof:** Frameworks like SOC 2, ISO 27001, and NIST explicitly require organizations to prove they have a formalized, repeatable process for tracking and treating risk. | ||
|
|
||
| ## Workflow Steps & Diagram | ||
|
|
||
| A risk register follows a continuous loop: | ||
|
|
||
| 1. **Identification:** Spot a new risk via threat hunting, penetration tests, vendor disclosures, or internal audits. If `${NEW_RISK_DATA}` is provided, use it as the primary source for the entry. | ||
| 2. **Assessment:** Score the risk using a standardized framework (like NIST SP 800-30 or FAIR) to keep scoring objective. If `${EXISTING_RISK_ID}` is provided, retrieve the current record for reassessment. | ||
| 3. **Treatment:** Assign and take action (Mitigate, Accept, Transfer, Avoid). Incorporate the `${TREATMENT_PLAN}` if one has been proposed. | ||
| 4. **Review:** Reassess risks quarterly or annually to ensure mitigation controls are still holding up. | ||
|
|
||
| ```mermaid | ||
| sequenceDiagram | ||
| participant Analyst as Analyst/Agent | ||
| participant GRC as GRC Platform/Register | ||
| participant Owner as Risk Owner | ||
|
|
||
| Analyst->>Analyst: 1. Identification (Threat Hunt, Audit, etc.) | ||
| Analyst->>GRC: 2. Create Risk Entry with Description | ||
| Analyst->>Analyst: 3. Assessment (Score Inherent Risk) | ||
| Analyst->>GRC: 4. Update Risk Entry with Score | ||
| Analyst->>Owner: 5. Assign Risk | ||
| Owner->>Owner: 6. Determine Treatment Plan | ||
| Owner->>GRC: 7. Update Treatment & Residual Risk | ||
| loop Periodic Review | ||
| Analyst->>GRC: 8. Review Risk Status | ||
| Analyst->>Analyst: 9. Reassess Controls | ||
| Analyst->>GRC: 10. Update Next Review Date | ||
| end | ||
| ``` | ||
|
|
||
| ## Completion Criteria | ||
|
|
||
| * The risk has been fully documented with all required attributes (ID, Description, Owner, Inherent Risk, Treatment Plan, Residual Risk, Status & Review). | ||
| * The risk has been accurately recorded in the central Risk Register. | ||
| * A review schedule has been established and noted. | ||
| * The agent generates an execution timestamp and runtime metrics summary upon completion. | ||
|
|
||
| ## Rubric | ||
|
|
||
| **Error Handling & Resilience:** | ||
| - Did the agent gracefully handle situations where risk data was incomplete (e.g., missing impact scores) by requesting clarification rather than hallucinating values? | ||
|
|
||
| **Process Adherence:** | ||
| - Did the agent properly evaluate the risk through the full Identification, Assessment, Treatment, and Review lifecycle? | ||
| - Were the core attributes (Risk ID, Description, Owner, Scores) correctly mapped and populated? | ||
|
|
||
| **Output Verification:** | ||
| - Did the agent generate the Mermaid sequence diagram mapping the execution workflow? | ||
| - Were execution timestamp and runtime metrics logged in the final output? | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This rubric item asks if the agent generated a Mermaid sequence diagram. However, the 'Completion Criteria' (line 93) only requires an execution timestamp and runtime metrics. Furthermore, a static Mermaid diagram is already provided in the runbook (lines 69-86). Unless the agent is specifically expected to generate a new or customized diagram for each execution, this rubric item may be confusing. Consider aligning the rubric with the actual completion criteria.