Skip to content

Commit 79f75bc

Browse files
Your NameCopilot
andcommitted
docs: add security evidence structure
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 73cabc0 commit 79f75bc

30 files changed

Lines changed: 1557 additions & 30 deletions

.github/copilot-instructions.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -260,13 +260,13 @@ Diese Regeln gelten für alle Repositories in diesem Workspace. Projektspezifisc
260260
- Nichtanwendbarkeit immer als `N/A` mit kurzer Begründung dokumentieren; keine stillschweigende Auslassung.
261261

262262
*At the start of every Level-2 task, determine and name the applicable security standards from `constitution.md`, Principles XIV-XVIII. `NIST SSDF` and `CWE Top 25` always apply. `OWASP ASVS` applies to web/API/HTTP/auth-bearing services; `SBOM` applies to releasable or distributable artefacts; `VEX` applies when known vulnerabilities in shipped/evaluated components need a disposition statement. `SLSA` is the target model for CI/CD and published artefacts; `Zero Trust` must be explicitly evaluated for distributed, service-based, cloud, or remotely managed systems. `CAPEC`, `OWASP SAMM`, `OWASP Cheat Sheet Series`, `OWASP Proactive Controls`, and `OpenSSF Scorecard` are supporting references where relevant. Record non-applicability as `N/A` with justification rather than omitting it silently.*
263-
264263
## Agentischer Security-Workflow / Agentic Security Workflow
265264

266265
- In `spec.md`, `plan.md` und `tasks.md` die anwendbaren Standards samt Evidenzpfad festhalten.
267266
- Bei Bedrohungsmodellen `STRIDE` als Basis und bei risikoreichen Flows zusätzlich relevante `CAPEC`-Patterns verwenden.
268267
- Bei Web/API-Features den `ASVS`-Level und den Verifikationsumfang in `docs/security/` oder gleichwertiger Projektdokumentation ablegen.
269268
- Bei Release-/Artefakt-Arbeit `SBOM`, `VEX`, Provenance/SLSA-Nachweise und gegebenenfalls `OpenSSF Scorecard` in Release- oder Sicherheitsdokumentation einplanen.
270269
- Bei Architekturänderungen `Zero Trust`-Anwendbarkeit und bei langlebigen Projekten `SAMM`-Folgeaktionen prüfen.
270+
- Default-Evidenzpfad: `docs/security/asvs-verification.md`, `docs/security/supply-chain-evidence.md`, `docs/security/zero-trust-applicability.md`, `docs/security/samm-assessment.md`; Abweichungen nur mit lokal dokumentierter Begründung.
271271

272-
*Capture the applicable standards and the evidence path in `spec.md`, `plan.md`, and `tasks.md`. Use `STRIDE` as the base for threat modeling and add relevant `CAPEC` patterns for the highest-risk flows. For web/API work, record the chosen `ASVS` level and verification scope in `docs/security/` or equivalent project documentation. For release and artefact work, plan `SBOM`, `VEX`, provenance/SLSA evidence, and `OpenSSF Scorecard` review where applicable. For architectural changes, evaluate `Zero Trust`; for long-lived projects, consider `OWASP SAMM` follow-up actions.*
272+
*Capture the applicable standards and the evidence path in `spec.md`, `plan.md`, and `tasks.md`. Use `STRIDE` as the base for threat modeling and add relevant `CAPEC` patterns for the highest-risk flows. For web/API work, record the chosen `ASVS` level and verification scope in `docs/security/` or equivalent project documentation. For release and artefact work, plan `SBOM`, `VEX`, provenance/SLSA evidence, and `OpenSSF Scorecard` review where applicable. For architectural changes, evaluate `Zero Trust`; for long-lived projects, consider `OWASP SAMM` follow-up actions. The default evidence path is `docs/security/asvs-verification.md`, `docs/security/supply-chain-evidence.md`, `docs/security/zero-trust-applicability.md`, and `docs/security/samm-assessment.md`, unless the repository documents a justified equivalent location.*

.specify/memory/constitution.md

Lines changed: 34 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,21 @@
11
<!--
22
Sync Impact Report
3-
Version change: 1.10.0 -> 1.11.0
3+
Version change: 1.11.0 -> 1.12.0
44
Modified principles:
55
- None (purely additive)
66
Added sections:
7-
- XIV. Secure Development Standards & Applicability Matrix
8-
- XV. Secure SDLC & Verification Standards
9-
- XVI. Supply-Chain Transparency & Build Integrity
10-
- XVII. Threat Modeling & Attack Pattern Coverage
11-
- XVIII. Zero Trust Applicability & Security Program Maturity
7+
- None
128
Removed sections:
139
- None
1410
Templates requiring updates:
1511
- ✅ .specify/templates/plan-template.md
1612
- ✅ .specify/templates/spec-template.md
1713
- ✅ .specify/templates/tasks-template.md
14+
- ✅ .specify/templates/asvs-verification-template.md
15+
- ✅ .specify/templates/supply-chain-evidence-template.md
16+
- ✅ .specify/templates/zero-trust-applicability-template.md
17+
- ✅ .specify/templates/samm-assessment-template.md
18+
- ✅ .specify/templates/threat-model-template.md
1819
Runtime guidance requiring updates:
1920
- ✅ AGENTS.md
2021
- ✅ CLAUDE.md
@@ -25,7 +26,7 @@ Follow-up TODOs:
2526
- None
2627
-->
2728

28-
# Constitution v1.11.0
29+
# Constitution v1.12.0
2930

3031
# home-baseline Constitution
3132

@@ -514,6 +515,15 @@ Mandatory rules:
514515
- Where a standard applies, the implementation evidence MUST be reflected in
515516
the relevant artefacts: `spec.md`, `plan.md`, `tasks.md`, `docs/security/`,
516517
S-ADRs, release assets, or CI/CD configuration as appropriate.
518+
- The default evidence location for Level-2 projects is `docs/security/` using
519+
the canonical filenames and templates defined in `.specify/templates/`.
520+
A repository MAY use an equivalent governance location only when
521+
`docs/security/` would be structurally inappropriate; in that case the
522+
alternative location MUST be explicitly linked from `docs/security/README.md`
523+
or equivalent repository-local index documentation.
524+
- Level-1 workspaces SHOULD also prefer `docs/security/` for security-governance
525+
evidence. If a workspace uses another governance document or directory, the
526+
chosen location MUST be stated in its local security index.
517527

518528
**Rationale**: Secure-development standards are often partially remembered and
519529
selectively applied. A binding applicability matrix keeps teams, agents, and
@@ -544,6 +554,9 @@ Mandatory rules:
544554
- Web/API projects MUST record the selected ASVS level and verification scope
545555
in `docs/security/` (for example as an ASVS verification matrix or
546556
equivalent repository-local format).
557+
- Web/API projects MUST maintain an ASVS evidence document using
558+
`asvs-verification-template.md` or an equivalent repository-local format that
559+
captures scope, selected level, covered controls, gaps, and follow-up work.
547560
- `OWASP Cheat Sheet Series` and `OWASP Proactive Controls` SHOULD be used as
548561
day-to-day implementation guidance wherever language/framework standards do
549562
not already provide stricter or more specific rules.
@@ -576,6 +589,10 @@ Mandatory rules:
576589
source of repository security posture evidence) before release or adoption.
577590
- Dependency, SBOM, VEX, provenance, and Scorecard evidence MUST feed into the
578591
repository's dependency audit and release review process.
592+
- Release-capable projects MUST maintain a supply-chain evidence document using
593+
`supply-chain-evidence-template.md` or an equivalent repository-local format.
594+
That document MUST reference the current SBOM, VEX decisions, provenance or
595+
SLSA status, and any relevant OpenSSF Scorecard observations.
579596

580597
**Rationale**: A project can follow secure coding rules and still ship opaque
581598
or tampered artefacts. SBOM, VEX, SLSA, and Scorecard address transparency,
@@ -598,6 +615,9 @@ Mandatory rules:
598615
sensitive data flows, or third-party integrations materially change.
599616
- Security-relevant mitigations and residual risks identified through STRIDE
600617
or CAPEC analysis SHOULD be reflected in S-ADRs, checklists, and tasks.
618+
- Threat-model evidence SHOULD capture CAPEC references directly in the threat
619+
model document, not only in ADRs or tasks, so the attacker-technique mapping
620+
stays reviewable in one place.
601621

602622
**Rationale**: STRIDE is strong for systematic coverage of threat categories;
603623
CAPEC complements it by adding attacker behavior and attack-pattern language.
@@ -626,6 +646,12 @@ Mandatory rules:
626646
- Findings from incidents, audits, dependency reviews, and SAMM assessments
627647
SHOULD feed back into templates, checklists, security docs, and AI-agent
628648
guidance files so improvements become structural rather than one-off fixes.
649+
- Systems where Zero Trust applicability is material SHOULD maintain a
650+
dedicated applicability note using `zero-trust-applicability-template.md` or
651+
an equivalent repository-local format.
652+
- Repositories performing periodic SAMM reviews SHOULD maintain their current
653+
assessment snapshot and follow-up actions using `samm-assessment-template.md`
654+
or an equivalent repository-local format.
629655

630656
**Rationale**: Zero Trust addresses the realities of remote access, services,
631657
and cloud deployment; SAMM addresses the maturity of the development program
@@ -722,7 +748,7 @@ allowed path.
722748
`.github/copilot-instructions.md` for per-agent operational guidance. This
723749
constitution is the authoritative policy layer above all agent-specific files.
724750

725-
**Version**: 1.11.0 | **Ratified**: 2026-03-31 | **Last Amended**: 2026-04-24
751+
**Version**: 1.12.0 | **Ratified**: 2026-03-31 | **Last Amended**: 2026-04-24
726752

727753
<!-- EN: constitution.md placeholder
728754
[DE-Zusammenfassung: constitution.md beschreibt die Prinzipien und Standards für alle home-baseline Workspaces.]

.specify/templates/adr-template.md

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
# ADR-[NNN]: [Titel der Entscheidung / Decision Title]
2+
3+
**Status**: [Vorgeschlagen / Proposed | Akzeptiert / Accepted | Veraltet / Deprecated | Ersetzt / Superseded by ADR-XXX]
4+
**Datum / Date**: [YYYY-MM-DD]
5+
**Entscheider / Deciders**: [Namen oder Rollen / Names or roles]
6+
**Constitution-Referenz / Constitution Reference**: [Principle XII / XIII / I / ...]
7+
**ISO-Referenz / ISO Reference**: [z. B. A.8.27, A.8.28, A.8.25]
8+
9+
## Kontext / Context
10+
11+
<!--
12+
Beschreibe das Problem oder die Situation, die eine architektonische Entscheidung
13+
erfordert. Welche Sicherheitsanforderungen sind betroffen? Welche Bedrohungen oder
14+
Risiken motivieren die Entscheidung?
15+
16+
Describe the problem or situation requiring an architectural decision. What security
17+
requirements are affected? What threats or risks motivate the decision?
18+
-->
19+
20+
[Kontext hier beschreiben / Describe context here]
21+
22+
## Entscheidung / Decision
23+
24+
<!--
25+
Beschreibe die gewählte Lösung klar und konkret. Verwende aktive Sprache:
26+
"Wir verwenden..." / "We use..."
27+
28+
Describe the chosen solution clearly and concretely. Use active voice:
29+
"We use..." / "Wir verwenden..."
30+
-->
31+
32+
[Entscheidung hier beschreiben / Describe decision here]
33+
34+
## Begründung / Rationale
35+
36+
<!--
37+
Warum wurde diese Option gewählt? Wie adressiert sie die Sicherheitsanforderungen?
38+
Welche Constitution-Prinzipien werden damit erfüllt?
39+
40+
Why was this option chosen? How does it address security requirements?
41+
Which constitution principles does it satisfy?
42+
-->
43+
44+
[Begründung hier / Rationale here]
45+
46+
## Alternativen / Alternatives Considered
47+
48+
<!--
49+
Welche anderen Optionen wurden betrachtet und warum wurden sie verworfen?
50+
51+
What other options were considered and why were they rejected?
52+
-->
53+
54+
### Alternative 1: [Name]
55+
56+
- **Beschreibung / Description**: [Kurzbeschreibung]
57+
- **Verworfen weil / Rejected because**: [Grund]
58+
59+
### Alternative 2: [Name]
60+
61+
- **Beschreibung / Description**: [Kurzbeschreibung]
62+
- **Verworfen weil / Rejected because**: [Grund]
63+
64+
## Konsequenzen / Consequences
65+
66+
### Positiv / Positive
67+
68+
- [Sicherheitsvorteil / Security benefit]
69+
- [Architekturvorteil / Architecture benefit]
70+
71+
### Negativ / Negative
72+
73+
- [Einschränkung oder Aufwand / Limitation or effort]
74+
- [Technische Schuld / Technical debt]
75+
76+
### Residualrisiken / Residual Risks
77+
78+
- [Verbleibendes Risiko trotz Mitigation / Remaining risk despite mitigation]
79+
80+
## Compliance-Nachweis / Compliance Evidence
81+
82+
| Constitution Principle | Erfüllt / Satisfied | Nachweis / Evidence |
83+
|---|---|---|
84+
| I. Security-First | [Ja/Nein/N/A] | [Kurzbeschreibung] |
85+
| XII. Secure Code Generation | [Ja/Nein/N/A] | [Kurzbeschreibung] |
86+
| XIII. Secure Software Architecture | [Ja/Nein/N/A] | [Kurzbeschreibung] |
87+
88+
## Verknüpfte Dokumente / Related Documents
89+
90+
- Threat Model: [Link oder Pfad / Link or path]
91+
- Spec: [Link oder Pfad]
92+
- Plan: [Link oder Pfad]
93+
94+
<!-- EN: adr-template.md
95+
[DE-Zusammenfassung: Template fuer Security Architecture Decision Records (S-ADR), ISO 27002 A.8.27, iSAQB-aligned.]
96+
-->

0 commit comments

Comments
 (0)