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: CONTRIBUTING.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Contributing
2
2
3
-
This portfolio repository is a local demonstration of a secure product foundation. Contributions should preserve the delivered milestone boundaries and avoid adding cloud deployment, formal exception workflow or vulnerability-management operations before their roadmap milestone.
3
+
This portfolio repository is a local demonstration of a secure product foundation. Contributions should preserve the delivered milestone boundaries and avoid adding cloud deployment, production vulnerability-management operations or Security Champions workflow before their roadmap milestone.
4
4
5
5
## Local Checks
6
6
@@ -12,6 +12,7 @@ make appsec-fast
12
12
make dynamic-fast
13
13
make findings-full
14
14
make release-full
15
+
make lifecycle-full
15
16
```
16
17
17
18
Use deterministic synthetic data only. Do not add real patient, NHS, genomic, credential, or cloud account data.
@@ -27,3 +28,4 @@ Use deterministic synthetic data only. Do not add real patient, NHS, genomic, cr
27
28
- Do not add broad scanner suppressions. Use `security/config/suppressions.yaml` with an owner, expiry and exact path or rule scope.
28
29
- Keep findings IDs deterministic and avoid absolute local paths, raw JWTs, private keys or real data in canonical findings outputs.
29
30
- Keep release-gate evidence deterministic. Use `make release-gate-enforce` only when you intentionally want enforcement exit codes; evidence-mode release targets must still run for block and conditional decisions.
31
+
- Keep lifecycle evidence deterministic. Scanner suppressions may inform lifecycle records, but only security exceptions under `config/lifecycle/` and `outputs/security/lifecycle/` may support risk acceptance or deferral.
Copy file name to clipboardExpand all lines: README.md
+27-1Lines changed: 27 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@ It is not a production genomics platform.
8
8
9
9
It is not affiliated with or endorsed by Genomics England.
10
10
11
-
AWS infrastructure is provided as non-deployed Terraform. External identity-provider integration, cloud deployment, formal exception workflow and vulnerability-management operations are deferred to later milestones.
11
+
AWS infrastructure is provided as non-deployed Terraform. External identity-provider integration, cloud deploymentand Security Champions operations are deferred to later milestones.
12
12
13
13
## Problem Statement
14
14
@@ -32,6 +32,8 @@ Milestone 7 adds canonical findings normalisation and risk enrichment across thr
32
32
33
33
Milestone 8 adds risk-based release gates over the Milestone 7 canonical findings. It produces deterministic release decisions, rule evaluations, approval requirements, action lists, risk summaries and reports. Evidence generation succeeds for blocked and conditional decisions; enforcement is a separate command. It does not deploy, push containers, create AWS resources, or implement a formal exception workflow.
34
34
35
+
Milestone 9 adds deterministic vulnerability lifecycle and exception governance over canonical findings and release outputs. It produces a vulnerability register, lifecycle history, security exception register, expiry reports, verification evidence, audit reports and a pinned lifecycle workflow. It does not start Security Champions, deploy, push containers, create AWS resources, commit or push.
36
+
35
37
## Milestone 1 Scope
36
38
37
39
Implemented:
@@ -125,6 +127,22 @@ Implemented as local release-assurance policy and evidence:
125
127
126
128
Not implemented in Milestone 8: formal exception workflow, deployment approval system, vulnerability lifecycle ownership process, artefact signing/provenance, AWS deployment, container push or production release automation.
127
129
130
+
## Milestone 9 Scope
131
+
132
+
Implemented as local governance, evidence and reports:
133
+
134
+
- Controlled vulnerability lifecycle states and transition policy.
135
+
- Deterministic vulnerability register generated from canonical findings.
136
+
- Role-based history entries without personal actor identifiers.
137
+
- Verification-before-closure enforcement.
138
+
- False-positive governance with rationale and evidence.
139
+
- Formal time-bound security exceptions for risk acceptance and deferral.
140
+
- Exception expiry, expiring-soon and expired-exception outputs.
141
+
- Lifecycle evidence manifest with deterministic checksums.
142
+
- Lifecycle Markdown reports and a pinned CI workflow.
143
+
144
+
Not implemented in Milestone 9: Security Champions, production ticketing integration, deployment approvals, artefact signing/provenance, AWS deployment, container push or production vulnerability-management operations.
145
+
128
146
## API Capabilities
129
147
130
148
-`GET /health`
@@ -204,6 +222,14 @@ Open `http://127.0.0.1:8000/docs` for FastAPI's local OpenAPI UI.
Copy file name to clipboardExpand all lines: SECURITY.md
+3-2Lines changed: 3 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ If you identify a vulnerability or unsafe pattern in this demonstration code, op
6
6
7
7
Do not submit real patient data, NHS data, genomic data, credentials, cloud account identifiers, or sensitive operational details in reports.
8
8
9
-
Current implemented security controls include local JWT authentication, role-based and object-level authorisation, threat-model validation, non-deployed Terraform reference controls, a Milestone 5 AppSec pipeline, Milestone 6 local dynamic API security validation, Milestone 7 canonical findings normalisation, and Milestone 8 local release-assurance gates.
9
+
Current implemented security controls include local JWT authentication, role-based and object-level authorisation, threat-model validation, non-deployed Terraform reference controls, a Milestone 5 AppSec pipeline, Milestone 6 local dynamic API security validation, Milestone 7 canonical findings normalisation, Milestone 8 local release-assurance gates, and Milestone 9 vulnerability lifecycle and exception governance.
10
10
11
11
Run local security checks with:
12
12
@@ -16,6 +16,7 @@ make appsec-fast
16
16
make dynamic-fast
17
17
make findings-full
18
18
make release-full
19
+
make lifecycle-full
19
20
```
20
21
21
-
Docker-backed Gitleaks, Trivy, Schemathesis and ZAP scans require a running Docker daemon when native binaries or scanner containers are used. Dynamic scan targets must remain local-only. Do not treat local scanner, findingsor release evidence as a production vulnerability-management programme, penetration test, formal exception workflow or deployment approval system.
22
+
Docker-backed Gitleaks, Trivy, Schemathesis and ZAP scans require a running Docker daemon when native binaries or scanner containers are used. Dynamic scan targets must remain local-only. Do not treat local scanner, findings, release or lifecycle evidence as a production vulnerability-management programme, penetration test, deployment approval system or Security Champions programme.
0 commit comments