You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: modules/ghas/challenges/00-environment-setup/COACH.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
## Objectives
4
4
5
-
- Facilitate a governed GHAS baseline in `modules/ghas/resources/ghas-governance-practice.template.md`, not merely a completed setup.
5
+
- Facilitate a GHAS configuration and ownership record in `modules/ghas/resources/ghas-governance-practice.template.md`, not merely a completed setup.
6
6
- Help the delivery team select a real repository or service, or explicitly use Juice Shop as the fallback practice target.
7
7
- Ensure the baseline records scope and criticality, enabled and missing GHAS capabilities, and the repository or service owner, security partner, and delivery team.
8
8
- Ensure the baseline records least privilege, human accountability for approval and merge, and normal GHAS and PR validation for agent-originated changes.
@@ -15,14 +15,14 @@
15
15
## Facilitation Hints
16
16
17
17
-**Push Codespaces first.** If local setup consumes more than 10 minutes, redirect to Codespaces.
18
-
- Start with the governed baseline. Ask which real repository or service is in scope, why its criticality matters, and whether Juice Shop is only the fallback practice target.
19
-
- Ask for a show-of-hands "green terminal + accountable baseline" check after the first 10 minutes.
18
+
- Start with the GHAS configuration and ownership record. Ask which real repository or service is in scope, why its criticality matters, and whether Juice Shop is only the fallback practice target.
19
+
- Ask for a show-of-hands check after the first 10 minutes: successful commands and a completed record with named owners.
20
20
- Pair any blocked participant with a working neighbor; one blocker should not stall the group.
21
21
- Start by having the responsible participant, team lead, or organizer run:
- Verify that **Codespaces is enabled for the org** before the event starts (org Settings → Codespaces → Allow for all members). If not enabled, participants see no Codespace option.
24
24
- If Copilot is not yet licensed for all participants, pair them so every team still practices the Copilot-assisted review loop in S01–S06.
25
-
- Confirm **GHAS is enabled** on the provisioned org repo (Settings → Code security and analysis). CodeQL, secret scanning, Dependabot alerts, and push protection must all be on — these are the backbone of S01–S06.
25
+
- Confirm **GHAS is enabled** on the provisioned org repo (Settings → Code security and analysis). CodeQL, secret scanning, Dependabot alerts, and push protection must all be on — S01–S06 depend on them.
26
26
- Confirm the repository access list includes every participant or team that needs to push a branch. The script creates/configures the repo; it does not guess workshop roster membership.
27
27
- Do not accept a feature toggle or a running storefront as completion by itself. Validate that enabled and missing GHAS capabilities, accountable roles, agentic delivery principles, and blocker ownership and dates are recorded in the baseline.
28
28
- When discussing agentic delivery, keep the scope to the documented principles: least privilege; humans remain accountable for approval and merge; and agent-originated changes receive normal GHAS and PR validation.
@@ -54,7 +54,7 @@ delivery team:
54
54
-[ ]`modules/ghas/resources/ghas-governance-practice.template.md` records the in-scope repository or service and its criticality
55
55
-[ ] Enabled and missing GHAS capabilities are recorded
56
56
-[ ] The repository or service owner, security partner, and delivery team are recorded as accountable roles
57
-
-[ ] The baseline records least privilege, human accountability for approval and merge, and normal GHAS and PR validation for agent-originated changes
57
+
-[ ] The GHAS configuration and ownership record includes least privilege, human accountability for approval and merge, and normal GHAS and PR validation for agent-originated changes
58
58
-[ ] Access or licensing blockers are recorded with an owner and target date
59
59
-[ ] The target repository is accessible, GHAS enablement is verified or recorded as missing, and the working branch is pushed
60
60
-[ ] The delivery environment is usable: `gh auth status` and `gh repo view` succeed, and Juice Shop loads on port 3000 when using the fallback
Copy file name to clipboardExpand all lines: modules/ghas/challenges/00-environment-setup/README.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@
5
5
By the end of this activity, the delivery team will have:
6
6
7
7
- Selected a real repository or service to govern, or recorded OWASP Juice Shop as the fallback practice target
8
-
- Recorded a governed GHAS baseline in `modules/ghas/resources/ghas-governance-practice.template.md`
8
+
- Recorded GHAS configuration, scope, and ownership in `modules/ghas/resources/ghas-governance-practice.template.md`
9
9
- Defined the in-scope repository or service, its criticality, enabled and missing GHAS capabilities, and accountable roles
10
10
- Recorded the repository or service owner, security partner, and delivery team accountable for the baseline
11
11
- Recorded initial agentic delivery principles: least privilege; humans remain accountable for approval and merge; and agent-originated changes receive normal GHAS and PR validation
@@ -35,11 +35,11 @@ By the end of this activity, the delivery team will have:
35
35
36
36
---
37
37
38
-
## Establish the Governed GHAS Baseline
38
+
## Record GHAS Configuration and Ownership
39
39
40
40
Before treating setup as complete, create the first governance record in
41
41
`modules/ghas/resources/ghas-governance-practice.template.md`. This is delivery
42
-
evidence, not a setup checklist. Record:
42
+
record, not a setup checklist. Record:
43
43
44
44
- the real repository or service selected for this work, or Juice Shop as the fallback;
45
45
- the in-scope repository or service and its criticality;
@@ -50,7 +50,7 @@ evidence, not a setup checklist. Record:
50
50
validation; and
51
51
- every access or licensing blocker, its owner, and its target date.
52
52
53
-
Use the rest of this activity to substantiate that baseline. If the selected real
53
+
Use the rest of this activity to complete that record. If the selected real
54
54
repository is not ready for hands-on work, use the Juice Shop repository below as the
55
55
practice fallback and keep the real repository or service recorded as the delivery
56
56
scope.
@@ -191,7 +191,7 @@ See [`modules/ghas/setup.md`](../../setup.md) for details on how these two envir
191
191
192
192
## Verify Your Setup
193
193
194
-
Run each command and use the results to update the governed baseline:
194
+
Run each command and use the results to update the GHAS configuration and ownership record:
195
195
196
196
```bash
197
197
# 1. CLI version
@@ -211,16 +211,16 @@ git log --oneline -1
211
211
Then open `http://localhost:3000` (or the Codespaces-forwarded URL) and confirm the
212
212
Juice Shop homepage loads.
213
213
214
-
> Do not let a green terminal close this activity. Before moving on, confirm the
215
-
> governed baseline names the target and criticality, captures GHAS capability status
214
+
> Successful commands alone do not complete this activity. Before moving on, confirm the
215
+
> GHAS configuration and ownership record names the target and criticality, captures GHAS capability status
216
216
> and accountable roles, records the agentic delivery principles, and assigns every
217
217
> access or licensing blocker an owner and target date. See **Common Blockers** in the
218
218
> coach guide when setup cannot yet be completed.
219
219
220
220
## Success Criteria
221
221
222
222
-[ ] A real repository or service is selected, or Juice Shop is recorded as the fallback practice target
223
-
-[ ] The governed baseline in `modules/ghas/resources/ghas-governance-practice.template.md` records the in-scope repository or service and its criticality
223
+
-[ ] The GHAS configuration and ownership record in `modules/ghas/resources/ghas-governance-practice.template.md` records the in-scope repository or service and its criticality
224
224
-[ ] Enabled and missing GHAS capabilities are recorded
225
225
-[ ] The repository or service owner, security partner, and delivery team are recorded as accountable roles
226
226
-[ ] The baseline records least privilege, human accountability for approval and merge, and normal GHAS and PR validation for agent-originated changes
Copy file name to clipboardExpand all lines: modules/ghas/challenges/00-environment-setup/meta.yml
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ prerequisite_capabilities:
12
12
- GitHub Advanced Security available for the repository visibility you choose
13
13
- GitHub Copilot license assigned
14
14
description: >
15
-
Establish a governed GHAS baseline for a real repository or service, or use OWASP
15
+
Document GHAS configuration, scope, and ownership for a real repository or service, or use OWASP
16
16
Juice Shop as the fallback practice target. Record scope, criticality, enabled and
17
17
missing GHAS capabilities, accountable roles, agentic delivery principles, and
18
18
access or licensing blockers with owners and target dates in
@@ -21,7 +21,7 @@ description: >
21
21
Activity S01.
22
22
success_criteria:
23
23
- "A real repository or service is selected, or Juice Shop is recorded as the fallback practice target"
24
-
- "The governed baseline in `modules/ghas/resources/ghas-governance-practice.template.md` records the in-scope repository or service and its criticality"
24
+
- "The GHAS configuration and ownership record in `modules/ghas/resources/ghas-governance-practice.template.md` records the in-scope repository or service and its criticality"
25
25
- "Enabled and missing GHAS capabilities are recorded"
26
26
- "The repository or service owner, security partner, and delivery team are recorded as accountable roles"
27
27
- "The baseline records least privilege, human accountability for approval and merge, and normal GHAS and PR validation for agent-originated changes"
Copy file name to clipboardExpand all lines: modules/ghas/challenges/01-explore-attack-surface/COACH.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
> Audience: facilitators and coaches. Pair with the delivery team member `README.md`.
4
4
5
-
## Grounding conversation (you will be called)
5
+
## Required coach check-in
6
6
7
7
**Required coach check-in:** before completion, ask the customer practitioner to connect the exercise to work they actually own.
8
8
@@ -12,13 +12,13 @@ should its next action and target date be?
12
12
13
13
Use these follow-ups to steer the conversation:
14
14
- Which specific repo or service in your work would have the most GHAS alerts today — name it, then describe what kind of code lives there and who owns it.
15
-
- For that repo, which alert category — code scanning, Dependabot, or secret scanning — do you think carries the highest real-world blast radius if an attacker found it first?
15
+
- For that repo, which alert category — code scanning, Dependabot, or secret scanning — would affect the most systems or data if an attacker found it first?
16
16
- Is remediation the right route, or is accepted risk appropriate? Who has authority to own that decision?
17
17
- What one concrete action could you take this week to start reducing the security debt you just described?
18
18
19
19
## Facilitation objectives
20
20
- Reinforce how customer delivery team members navigate CodeQL, Dependabot, and secret scanning alerts in the shared repository.
21
-
- Help customer delivery team members create an owned security-debt inventory in `modules/ghas/resources/ghas-governance-practice.template.md`, using their application first and Juice Shop only as the fallback.
21
+
- Help customer delivery team members create a security findings register with named owners in `modules/ghas/resources/ghas-governance-practice.template.md`, using their application first and Juice Shop only as the fallback.
22
22
- Guide impact, remediation route, accountable ownership, target date, current disposition, and prioritization rationale—not vulnerability labels alone.
23
23
- Encourage customer delivery team members to use Copilot Chat to explain exploitability, then verify each explanation against the alert and actual code path.
24
24
@@ -40,7 +40,7 @@ Verify each success criterion from the customer delivery team guide:
40
40
-[ ] A real application repository or service is used first, or Juice Shop is recorded as the fallback practice target
41
41
-[ ] At least 5 alerts are reviewed with full alert detail read and used as evidence for the inventory
42
42
-[ ] Each reviewed alert has a Copilot explanation of the vulnerability, attacker outcome, and code location that a human verifies against the alert and code path
43
-
-[ ] The security-debt inventory in `modules/ghas/resources/ghas-governance-practice.template.md` records alert category or class, affected repository, service, or component, business or security impact, remediation route, accountable owner or team, target date, current disposition, and prioritization rationale for each item
43
+
-[ ] The security findings register in `modules/ghas/resources/ghas-governance-practice.template.md` records alert category or class, affected repository, service, or component, business or security impact, remediation route, accountable owner or team, target date, current disposition, and prioritization rationale for each item
44
44
-[ ] Each inventory item has a current disposition of open, in progress, or accepted risk and a prioritization rationale
45
45
-[ ] Dependabot alerts are reviewed and any critical or high-severity dependency vulnerabilities are recorded in the inventory
46
46
-[ ] Coach conversation connects the inventory to a real project, accountable ownership, risk, and next action
@@ -52,4 +52,4 @@ Verify each success criterion from the customer delivery team guide:
52
52
| Operable inventory | 25 | Recorded all required fields, including impact, route, owner, date, disposition, and rationale. |
53
53
| Copilot-assisted reasoning | 20 | Used Copilot to explain exploitability, then verified the explanation against alert traces and code. |
54
54
| Prioritization and risk | 15 | Chose a disposition and priority based on business or security impact, ownership, and remediation route. |
55
-
|Grounding conversation| 15 | Connected inventory items to a real team repo or service, accountable ownership, risk, and next action. |
55
+
|Coach check-in| 15 | Connected findings to a real team repo or service, accountable ownership, risk, and next action. |
Copy file name to clipboardExpand all lines: modules/ghas/challenges/01-explore-attack-surface/README.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ Before you fix anything, you need to understand what you're dealing with. GHAS i
7
7
Juice Shop is intentionally vulnerable. The alerts you'll see aren't theoretical — they're real exploitable flaws in real code. SQL injection that lets attackers bypass authentication. XSS that can hijack user sessions. Broken access control that exposes data it shouldn't. Your job in this activity is to read those alerts, open the affected files, and use Copilot to understand exactly what the code is doing wrong.
8
8
9
9
This is your reconnaissance phase. Turn the alerts into an owned security-debt
10
-
inventory that the delivery team can operate after the session, rather than a
10
+
findings register that the delivery team can operate after the session, rather than a
11
11
temporary mental model.
12
12
13
13
> **Before this activity:** Make sure S00 is complete, the org repo exists, required participants have been added, GHAS features are enabled, and you've created your team branch. The Security tab is default-branch oriented. Your branch fixes will be validated later through PR CodeQL checks and code scanning annotations.
@@ -18,7 +18,7 @@ temporary mental model.
18
18
- Navigate to the relevant GHAS alerts, including **Security → Code scanning alerts**, and review the open default-branch alerts
19
19
- Review at least 5 alerts in full — location, description, and the code path that triggers each finding
20
20
- For each reviewed alert, open the affected file in your editor, ask Copilot Chat: *"What does this code do wrong, and how could an attacker exploit it?"*, and verify the explanation against the alert and code path
21
-
- Create an owned security-debt inventory in `modules/ghas/resources/ghas-governance-practice.template.md`
21
+
- Create a security findings register with named owners in `modules/ghas/resources/ghas-governance-practice.template.md`
22
22
- For every inventory item, record the alert category or class, affected repository, service, or component, business or security impact, remediation route, accountable owner or team, target date, current disposition (open, in progress, or accepted risk), and prioritization rationale
23
23
- Use the five alert reviews as evidence supporting the inventory and its prioritization
24
24
- Check **Security → Dependabot alerts** and record any critical or high-severity dependency vulnerabilities in the inventory
@@ -39,7 +39,7 @@ temporary mental model.
39
39
-[ ] A real application repository or service is used first, or Juice Shop is recorded as the fallback practice target
40
40
-[ ] At least 5 alerts are reviewed with full alert detail read and used as evidence for the inventory
41
41
-[ ] Each reviewed alert has a Copilot explanation of the vulnerability, attacker outcome, and code location that a human verifies against the alert and code path
42
-
-[ ] The security-debt inventory in `modules/ghas/resources/ghas-governance-practice.template.md` records alert category or class, affected repository, service, or component, business or security impact, remediation route, accountable owner or team, target date, current disposition, and prioritization rationale for each item
42
+
-[ ] The security findings register in `modules/ghas/resources/ghas-governance-practice.template.md` records alert category or class, affected repository, service, or component, business or security impact, remediation route, accountable owner or team, target date, current disposition, and prioritization rationale for each item
43
43
-[ ] Each inventory item has a current disposition of open, in progress, or accepted risk and a prioritization rationale
44
44
-[ ] Dependabot alerts are reviewed and any critical or high-severity dependency vulnerabilities are recorded in the inventory
45
45
-[ ] Coach conversation connects the inventory to a real project, accountable ownership, risk, and next action
Copy file name to clipboardExpand all lines: modules/ghas/challenges/01-explore-attack-surface/meta.yml
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -14,13 +14,13 @@ description: >
14
14
Use a real application repository or service first, with Juice Shop as the fallback
15
15
practice target. Review GHAS alerts, verify Copilot explanations against the alert
16
16
and code path, and turn at least five alert reviews into evidence for an owned
17
-
security-debt inventory in `modules/ghas/resources/ghas-governance-practice.template.md`
17
+
security findings register in `modules/ghas/resources/ghas-governance-practice.template.md`
18
18
with impact, remediation, ownership, dates, disposition, and prioritization rationale.
19
19
success_criteria:
20
20
- A real application repository or service is used first, or Juice Shop is recorded as the fallback practice target
21
21
- At least 5 alerts are reviewed with full alert detail read and used as evidence for the inventory
22
22
- Each reviewed alert has a Copilot explanation of the vulnerability, attacker outcome, and code location that a human verifies against the alert and code path
23
-
- The security-debt inventory in `modules/ghas/resources/ghas-governance-practice.template.md` records alert category or class, affected repository, service, or component, business or security impact, remediation route, accountable owner or team, target date, current disposition, and prioritization rationale for each item
23
+
- The security findings register in `modules/ghas/resources/ghas-governance-practice.template.md` records alert category or class, affected repository, service, or component, business or security impact, remediation route, accountable owner or team, target date, current disposition, and prioritization rationale for each item
24
24
- Each inventory item has a current disposition of open, in progress, or accepted risk and a prioritization rationale
25
25
- Dependabot alerts are reviewed and any critical or high-severity dependency vulnerabilities are recorded in the inventory
26
26
- Coach conversation connects the inventory to a real project, accountable ownership, risk, and next action
0 commit comments