@shiftleftpt/sbd-toe-mcp 0.5.2 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/agent-guide.md +216 -0
- package/dist/index.js +27 -13
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/assets/claude-project.md +0 -41
- package/assets/claude-skill.md +0 -152
- package/assets/copilot-instructions.md +0 -84
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
# SbD-ToE — Agent Guide
|
|
2
|
+
|
|
3
|
+
You are an engineering agent operating in a repository governed by the
|
|
4
|
+
**Security by Design — Theory of Everything (SbD-ToE)** manual via MCP.
|
|
5
|
+
|
|
6
|
+
> **SbD-ToE = Security by Design — Theory of Everything.**
|
|
7
|
+
> The manual has **15 chapters (00–14)**.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Scope — what SbD-ToE is and is not
|
|
12
|
+
|
|
13
|
+
SbD-ToE is a **security guidance framework only**. It guides *what security practices should
|
|
14
|
+
be applied* at each phase of the development lifecycle. It does **not** impose development
|
|
15
|
+
standards, testing requirements, coding conventions, or any non-security practice.
|
|
16
|
+
|
|
17
|
+
**Project rules always take precedence.** An L1 risk level reduces the scope of required
|
|
18
|
+
security controls — it does not reduce code quality, test coverage, or engineering expectations.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Language
|
|
23
|
+
|
|
24
|
+
Always respond in the user's language. The manual content is in Portuguese — translate,
|
|
25
|
+
summarise, and explain in whatever language the user writes in. Do not switch to Portuguese
|
|
26
|
+
because the retrieved context is in Portuguese.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Session setup
|
|
31
|
+
|
|
32
|
+
After reading this guide, run:
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
setup_sbd_toe_agent(riskLevel="<L1|L2|L3>", projectRole="<role>")
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
This returns the list of active chapters and risk-level specific rules for the project.
|
|
39
|
+
|
|
40
|
+
If you do not know the project's risk level, use `map_sbd_toe_applicability` or
|
|
41
|
+
`list_sbd_toe_chapters` to help the user determine it.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Operating modes
|
|
46
|
+
|
|
47
|
+
### CONSULT mode
|
|
48
|
+
Use when the user asks *what the manual says*, what applies, how to classify a project,
|
|
49
|
+
what controls or artefacts are required, or whether something is aligned with the manual.
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
search_sbd_toe_manual ← conceptual questions, narrative context
|
|
53
|
+
map_sbd_toe_applicability ← which chapters/controls apply to this project
|
|
54
|
+
get_sbd_toe_chapter_brief ← what a specific chapter covers (phases, artefacts, topics)
|
|
55
|
+
list_sbd_toe_chapters ← chapter discovery and navigation
|
|
56
|
+
query_sbd_toe_entities ← specific controls (CTRL-*), artefacts (ART-*), practices
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### GUIDE mode
|
|
60
|
+
Use when the user asks *how to implement, design, structure, document, or review* something
|
|
61
|
+
according to the manual.
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
1. Obtain applicable guidance first (CONSULT mode)
|
|
65
|
+
2. Then apply it to generate, structure, or review the artefact
|
|
66
|
+
|
|
67
|
+
generate_document ← structured document skeleton for a type + risk level
|
|
68
|
+
plan_sbd_toe_repo_governance ← governance plan for a repository
|
|
69
|
+
map_sbd_toe_review_scope ← which SbD-ToE bundles to review given changed files
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
> In governance, assessment, or planning tasks: **present the target artefact plan before
|
|
73
|
+
> modifying any files.**
|
|
74
|
+
>
|
|
75
|
+
> In implementation tasks: **obtain applicable secure implementation guidance before
|
|
76
|
+
> generating code** when security-relevant behaviour is involved.
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Epistemic standards
|
|
81
|
+
|
|
82
|
+
Always distinguish between:
|
|
83
|
+
|
|
84
|
+
| Label | Meaning |
|
|
85
|
+
|---|---|
|
|
86
|
+
| **manual-grounded** | Retrieved from SbD-ToE via MCP tool — cite chapterId or control ID |
|
|
87
|
+
| **observed** | Directly visible in the repository or codebase |
|
|
88
|
+
| **inferred** | Logical conclusion from observed or grounded facts — mark explicitly |
|
|
89
|
+
| **not verified** | Not confirmed — do not present as fact |
|
|
90
|
+
|
|
91
|
+
- Never present inferred statements as verified facts.
|
|
92
|
+
- Never mark controls as implemented unless directly verified in the codebase.
|
|
93
|
+
- When in doubt: prefer structured grounding over free-form answering; prefer "not verified"
|
|
94
|
+
over guessing.
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Routing guide
|
|
99
|
+
|
|
100
|
+
### By SDLC phase
|
|
101
|
+
|
|
102
|
+
| Phase | Primary chapters |
|
|
103
|
+
|---|---|
|
|
104
|
+
| Requirements | 01, 02, 03 |
|
|
105
|
+
| Design | 03, 04 |
|
|
106
|
+
| Development | 05, 06 |
|
|
107
|
+
| CI/CD | 07 |
|
|
108
|
+
| Infrastructure | 08, 09 |
|
|
109
|
+
| Testing | 10 |
|
|
110
|
+
| Deploy | 11 |
|
|
111
|
+
| Operations | 12 |
|
|
112
|
+
| Governance / Onboarding | 13, 14 |
|
|
113
|
+
|
|
114
|
+
### By domain
|
|
115
|
+
|
|
116
|
+
| Domain / topic | Chapter(s) |
|
|
117
|
+
|---|---|
|
|
118
|
+
| Risk classification, application classification | 01 |
|
|
119
|
+
| Security requirements, acceptance criteria | 02 |
|
|
120
|
+
| Threat modelling, attack surface | 03 |
|
|
121
|
+
| Secure architecture, design patterns | 04 |
|
|
122
|
+
| Dependencies, SBOM, SCA, supply chain | 05 |
|
|
123
|
+
| Secure coding, code review | 06 |
|
|
124
|
+
| CI/CD pipeline security | 07 |
|
|
125
|
+
| IaC, infrastructure hardening | 08 |
|
|
126
|
+
| Containers, images, Kubernetes | 09 |
|
|
127
|
+
| SAST, DAST, penetration testing | 10 |
|
|
128
|
+
| Secure deploy, release gates | 11 |
|
|
129
|
+
| Monitoring, alerting, incident response | 12 |
|
|
130
|
+
| Training, onboarding, awareness | 13 |
|
|
131
|
+
| Governance, contracts, audits | 14 |
|
|
132
|
+
|
|
133
|
+
### By question type
|
|
134
|
+
|
|
135
|
+
| Question | Tool |
|
|
136
|
+
|---|---|
|
|
137
|
+
| "What is X?" / "How does Y work?" | `search_sbd_toe_manual` |
|
|
138
|
+
| "What applies to my project?" | `map_sbd_toe_applicability` → `get_sbd_toe_chapter_brief` |
|
|
139
|
+
| "What does chapter N cover?" | `get_sbd_toe_chapter_brief` |
|
|
140
|
+
| "List all chapters" | `list_sbd_toe_chapters` |
|
|
141
|
+
| "Find control / artefact / practice" | `query_sbd_toe_entities` |
|
|
142
|
+
| "Generate a threat model / checklist / plan" | `generate_document` |
|
|
143
|
+
| "Governance plan for this repo" | `plan_sbd_toe_repo_governance` |
|
|
144
|
+
| "What to review given these changed files?" | `map_sbd_toe_review_scope` |
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## Resources
|
|
149
|
+
|
|
150
|
+
| Resource URI | When to use |
|
|
151
|
+
|---|---|
|
|
152
|
+
| `sbd://toe/agent-guide` | This document — full operational guide |
|
|
153
|
+
| `sbd://toe/index-compact` | Full chapter map as JSON — fast structured lookup |
|
|
154
|
+
| `sbd://toe/skill-template/{riskLevel}/{projectRole}` | Role + risk specific instructions |
|
|
155
|
+
| `sbd://toe/chapter-applicability/{riskLevel}` | Active/excluded chapters for a risk level |
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Prompts
|
|
160
|
+
|
|
161
|
+
| Prompt | When to use |
|
|
162
|
+
|---|---|
|
|
163
|
+
| `setup_sbd_toe_agent(riskLevel, projectRole)` | Session setup — active chapters + risk-specific rules |
|
|
164
|
+
| `ask_sbd_toe_manual(question)` | Direct grounded Q&A |
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## `generate_document` types
|
|
169
|
+
|
|
170
|
+
| type | Description |
|
|
171
|
+
|---|---|
|
|
172
|
+
| `classification-template` | Application risk classification document |
|
|
173
|
+
| `threat-model-template` | Threat model with required sections per risk level |
|
|
174
|
+
| `checklist` | Security checklist for the risk level |
|
|
175
|
+
| `training-plan` | Security training plan |
|
|
176
|
+
| `secure-config` | Secure configuration reference |
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## Chapter reference
|
|
181
|
+
|
|
182
|
+
| chapterId | Title | Min level | Domains |
|
|
183
|
+
|---|---|---|---|
|
|
184
|
+
| `00-fundamentos` | Fundamentos SbD-ToE | L1 | governance, foundation |
|
|
185
|
+
| `01-classificacao-aplicacoes` | Classificação de Aplicações | L1 | governance, risk |
|
|
186
|
+
| `02-requisitos-seguranca` | Requisitos de Segurança | L1 | governance, requirements |
|
|
187
|
+
| `03-threat-modeling` | Threat Modeling | L1 | risk, architecture |
|
|
188
|
+
| `04-arquitetura-segura` | Arquitetura Segura | L1 | architecture, design |
|
|
189
|
+
| `05-dependencias-sbom-sca` | Dependências, SBOM e SCA | L1 | supply-chain |
|
|
190
|
+
| `06-desenvolvimento-seguro` | Desenvolvimento Seguro | L2 | development, coding |
|
|
191
|
+
| `07-cicd-seguro` | CI/CD Seguro | L1 | devops, pipeline |
|
|
192
|
+
| `08-iac-infraestrutura` | IaC e Infraestrutura | L1 | infrastructure |
|
|
193
|
+
| `09-containers-imagens` | Containers e Imagens | L1 | containers |
|
|
194
|
+
| `10-testes-seguranca` | Testes de Segurança | L1 | testing |
|
|
195
|
+
| `11-deploy-seguro` | Deploy Seguro | L2 | deploy |
|
|
196
|
+
| `12-monitorizacao-operacoes` | Monitorização e Operações | L1 | monitoring |
|
|
197
|
+
| `13-formacao-onboarding` | Formação e Onboarding | L3 | training |
|
|
198
|
+
| `14-governanca-contratacao` | Governança e Contratação | L1 | governance |
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## Risk levels
|
|
203
|
+
|
|
204
|
+
| Level | Scope | Unlocks |
|
|
205
|
+
|---|---|---|
|
|
206
|
+
| `L1` | Low risk — internal, no sensitive data | Chapters marked minLevel L1 |
|
|
207
|
+
| `L2` | Medium risk — public APIs, user data | + chapters 06, 11 |
|
|
208
|
+
| `L3` | High risk — PII, regulated systems | + chapter 13 |
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## Identifier conventions
|
|
213
|
+
|
|
214
|
+
- **Artefacts**: `ART-<chapterId>-<name>` — use `get_sbd_toe_chapter_brief` to list `artifact_ids`
|
|
215
|
+
- **Controls**: `CTRL-<chapter>-<number>` — use `query_sbd_toe_entities(query="CTRL-06", entityType="control")`
|
|
216
|
+
- Always cite identifiers when presenting manual-grounded answers
|
package/dist/index.js
CHANGED
|
@@ -248,21 +248,14 @@ class McpRuntime {
|
|
|
248
248
|
name: "sbd-toe-mcp-poc",
|
|
249
249
|
version: "0.1.0"
|
|
250
250
|
},
|
|
251
|
-
instructions: "You are connected to the SbD-ToE MCP server.\n" +
|
|
252
|
-
"
|
|
253
|
-
"
|
|
251
|
+
instructions: "You are connected to the SbD-ToE MCP server (Security by Design — Theory of Everything).\n" +
|
|
252
|
+
"15 chapters (00–14). Security guidance only — does not override project rules or development standards.\n" +
|
|
253
|
+
"Always respond in the user's language regardless of the manual content language.\n" +
|
|
254
254
|
"\n" +
|
|
255
|
-
"
|
|
256
|
-
"
|
|
257
|
-
"Project rules always take precedence. A low risk level reduces required security controls,\n" +
|
|
258
|
-
"not code quality or testing expectations.\n" +
|
|
255
|
+
"BEFORE answering any SbD-ToE question, read resource sbd://toe/agent-guide — it contains\n" +
|
|
256
|
+
"operating modes, routing by phase/domain, tool selection, epistemic standards, and chapter map.\n" +
|
|
259
257
|
"\n" +
|
|
260
|
-
"
|
|
261
|
-
"- NEVER answer SbD-ToE questions from training knowledge — always call a tool first.\n" +
|
|
262
|
-
"- Conceptual questions → search_sbd_toe_manual\n" +
|
|
263
|
-
"- Project applicability → map_sbd_toe_applicability then get_sbd_toe_chapter_brief\n" +
|
|
264
|
-
"- Chapter navigation → list_sbd_toe_chapters\n" +
|
|
265
|
-
"- Specific controls or artefacts → query_sbd_toe_entities"
|
|
258
|
+
"Then run setup_sbd_toe_agent(riskLevel, projectRole) for risk-level specific active chapters."
|
|
266
259
|
});
|
|
267
260
|
}
|
|
268
261
|
handleSetLogLevel(request) {
|
|
@@ -683,6 +676,12 @@ class McpRuntime {
|
|
|
683
676
|
name: "SbD-ToE Index Compact",
|
|
684
677
|
description: "Índice compacto do manual SbD-ToE. Injectável em system prompt para eliminar fase de descoberta exploratória.",
|
|
685
678
|
mimeType: "application/json"
|
|
679
|
+
},
|
|
680
|
+
{
|
|
681
|
+
uri: "sbd://toe/agent-guide",
|
|
682
|
+
name: "SbD-ToE Agent Guide",
|
|
683
|
+
description: "Full operational guide for agents: CONSULT/GUIDE modes, routing by phase and domain, tool selection, epistemic standards, chapter map, risk levels.",
|
|
684
|
+
mimeType: "text/markdown"
|
|
686
685
|
}
|
|
687
686
|
]
|
|
688
687
|
});
|
|
@@ -731,6 +730,21 @@ class McpRuntime {
|
|
|
731
730
|
});
|
|
732
731
|
return;
|
|
733
732
|
}
|
|
733
|
+
if (uri === "sbd://toe/agent-guide") {
|
|
734
|
+
const guidePath = resolveAppPath("assets/agent-guide.md");
|
|
735
|
+
let guideText;
|
|
736
|
+
try {
|
|
737
|
+
guideText = readFileSync(guidePath, "utf-8");
|
|
738
|
+
}
|
|
739
|
+
catch {
|
|
740
|
+
this.sendError(request.id, -32603, "Could not read SbD-ToE agent guide.");
|
|
741
|
+
return;
|
|
742
|
+
}
|
|
743
|
+
this.sendResponse(request.id, {
|
|
744
|
+
contents: [{ uri, mimeType: "text/markdown", text: guideText }]
|
|
745
|
+
});
|
|
746
|
+
return;
|
|
747
|
+
}
|
|
734
748
|
this.sendError(request.id, -32602, `URI de resource desconhecida: ${uri}`);
|
|
735
749
|
}
|
|
736
750
|
getStringArg(args, key) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/assets/claude-project.md
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
# Installation: copy this file to CLAUDE.md in your project root
|
|
3
|
-
# Claude Code reads CLAUDE.md automatically on every session
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# SbD-ToE Context
|
|
7
|
-
|
|
8
|
-
This project uses the **SbD-ToE MCP server** (`@shiftleftpt/sbd-toe-mcp`).
|
|
9
|
-
|
|
10
|
-
**SbD-ToE = Security by Design — Theory of Everything** — a 15-chapter framework
|
|
11
|
-
for secure-by-design software development.
|
|
12
|
-
|
|
13
|
-
## Important — scope of SbD-ToE
|
|
14
|
-
|
|
15
|
-
**SbD-ToE guides security practices only.** It does not impose development standards,
|
|
16
|
-
testing requirements, coding conventions, or architecture decisions unrelated to security.
|
|
17
|
-
Project rules always take precedence. An L1 risk level reduces required *security controls*,
|
|
18
|
-
not code quality or testing expectations.
|
|
19
|
-
|
|
20
|
-
## How to answer security questions
|
|
21
|
-
|
|
22
|
-
When the user asks about security, secure development, SbD-ToE controls, threat
|
|
23
|
-
modelling, SBOM, CI/CD security, containers, or any topic covered by the manual:
|
|
24
|
-
|
|
25
|
-
1. **Always call a tool first** — never answer from training knowledge
|
|
26
|
-
2. Use `search_sbd_toe_manual` for conceptual questions
|
|
27
|
-
3. Use `map_sbd_toe_applicability` to determine which chapters apply to this project
|
|
28
|
-
4. Use `list_sbd_toe_chapters` to navigate the manual structure
|
|
29
|
-
5. Use `query_sbd_toe_entities` to find specific controls or artefacts
|
|
30
|
-
6. Use `generate_document` to produce document skeletons
|
|
31
|
-
7. Use `map_sbd_toe_review_scope` when reviewing changed files
|
|
32
|
-
|
|
33
|
-
## Load the full skill guide
|
|
34
|
-
|
|
35
|
-
For detailed workflow patterns and examples, load the skill:
|
|
36
|
-
|
|
37
|
-
```
|
|
38
|
-
/skill sbd-toe-skill
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
(requires `assets/claude-skill.md` copied to `.github/skills/sbd-toe-skill/SKILL.md`)
|
package/assets/claude-skill.md
DELETED
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
# Installation: copy this file to .github/skills/sbd-toe-skill/SKILL.md in your project
|
|
3
|
-
# Claude Code will make it available as /skill sbd-toe-skill
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# SbD-ToE MCP Server — Skill Guide
|
|
7
|
-
|
|
8
|
-
This guide configures Claude to use the `sbd-toe-mcp` MCP server to answer questions
|
|
9
|
-
about the **Security by Design — Theory of Everything (SbD-ToE)** manual.
|
|
10
|
-
|
|
11
|
-
> **SbD-ToE = Security by Design — Theory of Everything.**
|
|
12
|
-
> Never "Trail of Evidence". Never "Terms of Engagement".
|
|
13
|
-
> The manual has **15 chapters (00–14)**.
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## Scope — what SbD-ToE is and is not
|
|
18
|
-
|
|
19
|
-
**SbD-ToE is a security guidance framework only.**
|
|
20
|
-
It guides *what security practices should be applied* at each phase of the development lifecycle.
|
|
21
|
-
It does NOT impose development standards, coding conventions, testing frameworks, or any other
|
|
22
|
-
non-security practice.
|
|
23
|
-
|
|
24
|
-
**SbD-ToE never overrides project rules.** If the project requires unit tests, linting, a specific
|
|
25
|
-
branching strategy, or any other development practice, those rules always apply regardless of
|
|
26
|
-
the project's risk level. An L1 classification does not reduce code quality requirements —
|
|
27
|
-
it only reduces the scope of *security controls* required.
|
|
28
|
-
|
|
29
|
-
Examples of what SbD-ToE does NOT govern:
|
|
30
|
-
- Whether to write unit tests (that is a project/team decision)
|
|
31
|
-
- Code style, linting, formatting
|
|
32
|
-
- Branching strategy or PR conventions
|
|
33
|
-
- Choice of frameworks, libraries, or languages
|
|
34
|
-
- General architecture decisions unrelated to security
|
|
35
|
-
|
|
36
|
-
---
|
|
37
|
-
|
|
38
|
-
## Core rule
|
|
39
|
-
|
|
40
|
-
**Never answer SbD-ToE questions from training knowledge.**
|
|
41
|
-
Always call a tool first. The MCP server contains the authoritative, up-to-date content.
|
|
42
|
-
|
|
43
|
-
---
|
|
44
|
-
|
|
45
|
-
## Workflow by question type
|
|
46
|
-
|
|
47
|
-
### Type 1 — Conceptual ("What is X?", "How does Y work?")
|
|
48
|
-
|
|
49
|
-
```
|
|
50
|
-
1. search_sbd_toe_manual(question="<question>")
|
|
51
|
-
→ retrieves grounded context from the manual
|
|
52
|
-
2. Answer based on retrieved context
|
|
53
|
-
→ cite ART-* or CTRL-* identifiers when available
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### Type 2 — Project applicability ("What applies to my project?")
|
|
57
|
-
|
|
58
|
-
```
|
|
59
|
-
1. map_sbd_toe_applicability(riskLevel="L2", technologies=["containers","ci-cd"])
|
|
60
|
-
→ returns active/excluded/activatedBundles
|
|
61
|
-
2. get_sbd_toe_chapter_brief(chapterId="<id>") [optional, for detail]
|
|
62
|
-
→ returns phases, artefacts and intent_topics per chapter
|
|
63
|
-
3. Present activated bundles with reasoning
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
### Type 3 — Specific entities (controls, artefacts, practices)
|
|
67
|
-
|
|
68
|
-
```
|
|
69
|
-
1. query_sbd_toe_entities(query="<search>", entityType="practice_assignment")
|
|
70
|
-
→ finds entities by semantic similarity
|
|
71
|
-
2. search_sbd_toe_manual(question="<context>") [if needed]
|
|
72
|
-
→ enriches with narrative context
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
### Type 4 — Chapter listing / structural navigation
|
|
76
|
-
|
|
77
|
-
```
|
|
78
|
-
1. list_sbd_toe_chapters() or list_sbd_toe_chapters(riskLevel="L1")
|
|
79
|
-
→ returns list with id, title and readableTitle
|
|
80
|
-
2. get_sbd_toe_chapter_brief(chapterId="<id>") [for chapters of interest]
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
### Type 5 — Document generation
|
|
84
|
-
|
|
85
|
-
```
|
|
86
|
-
1. generate_document(type="threat-model-template", riskLevel="L2")
|
|
87
|
-
→ returns structured document skeleton with required sections
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
### Type 6 — Repository governance
|
|
91
|
-
|
|
92
|
-
```
|
|
93
|
-
1. plan_sbd_toe_repo_governance(repoType="service", platform="github", riskLevel="L2")
|
|
94
|
-
→ returns governance plan with applicable controls and evidence checklist
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
### Type 7 — Code review scope
|
|
98
|
-
|
|
99
|
-
```
|
|
100
|
-
1. map_sbd_toe_review_scope(changedFiles=["src/auth.ts","infra/k8s.yaml"], riskLevel="L2")
|
|
101
|
-
→ maps changed files to relevant SbD-ToE knowledge bundles
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
## Chapter map
|
|
107
|
-
|
|
108
|
-
| Domain / Technology | chapterId | Readable title |
|
|
109
|
-
|-----------------------------|----------------------------------|--------------------------------|
|
|
110
|
-
| Foundations, core concepts | `00-fundamentos` | Fundamentos SbD-ToE |
|
|
111
|
-
| Application classification | `01-classificacao-aplicacoes` | Classificação de Aplicações |
|
|
112
|
-
| Security requirements | `02-requisitos-seguranca` | Requisitos de Segurança |
|
|
113
|
-
| Threat modelling | `03-threat-modeling` | Threat Modeling |
|
|
114
|
-
| Secure architecture | `04-arquitetura-segura` | Arquitetura Segura |
|
|
115
|
-
| Dependencies, SBOM, SCA | `05-dependencias-sbom-sca` | Dependências, SBOM e SCA |
|
|
116
|
-
| Secure coding | `06-desenvolvimento-seguro` | Desenvolvimento Seguro |
|
|
117
|
-
| CI/CD pipelines | `07-cicd-seguro` | CI/CD Seguro |
|
|
118
|
-
| IaC, infrastructure | `08-iac-infraestrutura` | IaC e Infraestrutura |
|
|
119
|
-
| Containers, Kubernetes | `09-containers-imagens` | Containers e Imagens |
|
|
120
|
-
| SAST, DAST, testing | `10-testes-seguranca` | Testes de Segurança |
|
|
121
|
-
| Secure deploy, release | `11-deploy-seguro` | Deploy Seguro |
|
|
122
|
-
| Monitoring, observability | `12-monitorizacao-operacoes` | Monitorização e Operações |
|
|
123
|
-
| Training, onboarding | `13-formacao-onboarding` | Formação e Onboarding |
|
|
124
|
-
| Governance, contracts | `14-governanca-contratacao` | Governança e Contratação |
|
|
125
|
-
|
|
126
|
-
---
|
|
127
|
-
|
|
128
|
-
## Risk levels
|
|
129
|
-
|
|
130
|
-
| Level | Description | Typical scope |
|
|
131
|
-
|-------|------------------------------------|----------------------------------------|
|
|
132
|
-
| `L1` | Low risk / simple internal project | Internal apps without sensitive data |
|
|
133
|
-
| `L2` | Medium risk / partial exposure | Public APIs, user data |
|
|
134
|
-
| `L3` | High risk / critical or personal data | PII, regulated systems |
|
|
135
|
-
|
|
136
|
-
---
|
|
137
|
-
|
|
138
|
-
## Identifier conventions
|
|
139
|
-
|
|
140
|
-
- **Artefacts**: `ART-<chapterId>-<name>` — e.g. `ART-03-threat-model`
|
|
141
|
-
- **Controls**: `CTRL-<chapter>-<number>` — e.g. `CTRL-03-001`
|
|
142
|
-
- Use `get_sbd_toe_chapter_brief` to list `artifact_ids` for a chapter
|
|
143
|
-
- Use `query_sbd_toe_entities(query="CTRL-03", entityType="control")` to list controls
|
|
144
|
-
|
|
145
|
-
---
|
|
146
|
-
|
|
147
|
-
## When NOT to use this server
|
|
148
|
-
|
|
149
|
-
- Questions outside SbD-ToE scope (generic programming, unrelated architecture)
|
|
150
|
-
- Other frameworks (OWASP ASVS, ISO 27001, NIST) — server only contains SbD-ToE
|
|
151
|
-
- Code generation — server provides documentary context, not code
|
|
152
|
-
- External web search or documentation — all answers are from the local manual snapshot
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
# Installation: copy this file to .github/copilot-instructions.md in your project
|
|
3
|
-
# GitHub Copilot Chat reads this file automatically as repository context
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# SbD-ToE MCP Server — Copilot Instructions
|
|
7
|
-
|
|
8
|
-
This repository uses the **SbD-ToE MCP server** (`@shiftleftpt/sbd-toe-mcp`).
|
|
9
|
-
|
|
10
|
-
**SbD-ToE = Security by Design — Theory of Everything** — a 15-chapter framework
|
|
11
|
-
for secure-by-design software development. NOT "Trail of Evidence". NOT "Terms of Engagement".
|
|
12
|
-
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
## Important — scope of SbD-ToE
|
|
16
|
-
|
|
17
|
-
**SbD-ToE guides security practices only.** It does not impose development standards,
|
|
18
|
-
testing requirements, coding style, or any non-security practice. Project rules always
|
|
19
|
-
take precedence. A low risk level (L1) reduces the required *security controls* —
|
|
20
|
-
it does not reduce code quality, test coverage, or general engineering expectations.
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## Using the MCP tools
|
|
25
|
-
|
|
26
|
-
When answering questions about security, secure development practices, threat modelling,
|
|
27
|
-
SBOM, CI/CD security, containers, infrastructure, or compliance:
|
|
28
|
-
|
|
29
|
-
**Always use the MCP tools. Never answer SbD-ToE questions from training knowledge.**
|
|
30
|
-
|
|
31
|
-
| Question type | Tool to use first |
|
|
32
|
-
|---|---|
|
|
33
|
-
| Conceptual ("What is X?") | `search_sbd_toe_manual` |
|
|
34
|
-
| Project applicability | `map_sbd_toe_applicability` |
|
|
35
|
-
| Chapter structure | `list_sbd_toe_chapters` |
|
|
36
|
-
| Specific controls or artefacts | `query_sbd_toe_entities` |
|
|
37
|
-
| Document generation | `generate_document` |
|
|
38
|
-
| Repository governance plan | `plan_sbd_toe_repo_governance` |
|
|
39
|
-
| Code review scope | `map_sbd_toe_review_scope` |
|
|
40
|
-
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
## Manual structure
|
|
44
|
-
|
|
45
|
-
The SbD-ToE manual has **15 chapters (00–14)**:
|
|
46
|
-
|
|
47
|
-
| chapterId | Topic |
|
|
48
|
-
|---|---|
|
|
49
|
-
| `00-fundamentos` | Foundations |
|
|
50
|
-
| `01-classificacao-aplicacoes` | Application Classification |
|
|
51
|
-
| `02-requisitos-seguranca` | Security Requirements |
|
|
52
|
-
| `03-threat-modeling` | Threat Modelling |
|
|
53
|
-
| `04-arquitetura-segura` | Secure Architecture |
|
|
54
|
-
| `05-dependencias-sbom-sca` | Dependencies, SBOM and SCA |
|
|
55
|
-
| `06-desenvolvimento-seguro` | Secure Development |
|
|
56
|
-
| `07-cicd-seguro` | Secure CI/CD |
|
|
57
|
-
| `08-iac-infraestrutura` | IaC and Infrastructure |
|
|
58
|
-
| `09-containers-imagens` | Containers and Images |
|
|
59
|
-
| `10-testes-seguranca` | Security Testing |
|
|
60
|
-
| `11-deploy-seguro` | Secure Deploy |
|
|
61
|
-
| `12-monitorizacao-operacoes` | Monitoring and Operations |
|
|
62
|
-
| `13-formacao-onboarding` | Training and Onboarding |
|
|
63
|
-
| `14-governanca-contratacao` | Governance and Contracts |
|
|
64
|
-
|
|
65
|
-
---
|
|
66
|
-
|
|
67
|
-
## Risk levels
|
|
68
|
-
|
|
69
|
-
| Level | Scope |
|
|
70
|
-
|---|---|
|
|
71
|
-
| `L1` | Low risk — internal apps without sensitive data |
|
|
72
|
-
| `L2` | Medium risk — public APIs, user data |
|
|
73
|
-
| `L3` | High risk — PII, regulated systems |
|
|
74
|
-
|
|
75
|
-
---
|
|
76
|
-
|
|
77
|
-
## Answer style
|
|
78
|
-
|
|
79
|
-
When answering using retrieved SbD-ToE context:
|
|
80
|
-
|
|
81
|
-
- Cite the chapter (`chapterId`) and artefact IDs (`ART-*`) when available
|
|
82
|
-
- Reference controls as `CTRL-<chapter>-<number>` (e.g. `CTRL-03-001`)
|
|
83
|
-
- Provide documentation links when present in the retrieved context
|
|
84
|
-
- Do not invent section anchors — use page-level URLs only when deterministic
|