@shiftleftpt/sbd-toe-mcp 0.5.2 → 0.6.0

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.
@@ -0,0 +1,217 @@
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
+ > Never "Trail of Evidence". Never "Terms of Engagement".
8
+ > The manual has **15 chapters (00–14)**.
9
+
10
+ ---
11
+
12
+ ## Scope — what SbD-ToE is and is not
13
+
14
+ SbD-ToE is a **security guidance framework only**. It guides *what security practices should
15
+ be applied* at each phase of the development lifecycle. It does **not** impose development
16
+ standards, testing requirements, coding conventions, or any non-security practice.
17
+
18
+ **Project rules always take precedence.** An L1 risk level reduces the scope of required
19
+ security controls — it does not reduce code quality, test coverage, or engineering expectations.
20
+
21
+ ---
22
+
23
+ ## Language
24
+
25
+ Always respond in the user's language. The manual content is in Portuguese — translate,
26
+ summarise, and explain in whatever language the user writes in. Do not switch to Portuguese
27
+ because the retrieved context is in Portuguese.
28
+
29
+ ---
30
+
31
+ ## Session setup
32
+
33
+ After reading this guide, run:
34
+
35
+ ```
36
+ setup_sbd_toe_agent(riskLevel="<L1|L2|L3>", projectRole="<role>")
37
+ ```
38
+
39
+ This returns the list of active chapters and risk-level specific rules for the project.
40
+
41
+ If you do not know the project's risk level, use `map_sbd_toe_applicability` or
42
+ `list_sbd_toe_chapters` to help the user determine it.
43
+
44
+ ---
45
+
46
+ ## Operating modes
47
+
48
+ ### CONSULT mode
49
+ Use when the user asks *what the manual says*, what applies, how to classify a project,
50
+ what controls or artefacts are required, or whether something is aligned with the manual.
51
+
52
+ ```
53
+ search_sbd_toe_manual ← conceptual questions, narrative context
54
+ map_sbd_toe_applicability ← which chapters/controls apply to this project
55
+ get_sbd_toe_chapter_brief ← what a specific chapter covers (phases, artefacts, topics)
56
+ list_sbd_toe_chapters ← chapter discovery and navigation
57
+ query_sbd_toe_entities ← specific controls (CTRL-*), artefacts (ART-*), practices
58
+ ```
59
+
60
+ ### GUIDE mode
61
+ Use when the user asks *how to implement, design, structure, document, or review* something
62
+ according to the manual.
63
+
64
+ ```
65
+ 1. Obtain applicable guidance first (CONSULT mode)
66
+ 2. Then apply it to generate, structure, or review the artefact
67
+
68
+ generate_document ← structured document skeleton for a type + risk level
69
+ plan_sbd_toe_repo_governance ← governance plan for a repository
70
+ map_sbd_toe_review_scope ← which SbD-ToE bundles to review given changed files
71
+ ```
72
+
73
+ > In governance, assessment, or planning tasks: **present the target artefact plan before
74
+ > modifying any files.**
75
+ >
76
+ > In implementation tasks: **obtain applicable secure implementation guidance before
77
+ > generating code** when security-relevant behaviour is involved.
78
+
79
+ ---
80
+
81
+ ## Epistemic standards
82
+
83
+ Always distinguish between:
84
+
85
+ | Label | Meaning |
86
+ |---|---|
87
+ | **manual-grounded** | Retrieved from SbD-ToE via MCP tool — cite chapterId or control ID |
88
+ | **observed** | Directly visible in the repository or codebase |
89
+ | **inferred** | Logical conclusion from observed or grounded facts — mark explicitly |
90
+ | **not verified** | Not confirmed — do not present as fact |
91
+
92
+ - Never present inferred statements as verified facts.
93
+ - Never mark controls as implemented unless directly verified in the codebase.
94
+ - When in doubt: prefer structured grounding over free-form answering; prefer "not verified"
95
+ over guessing.
96
+
97
+ ---
98
+
99
+ ## Routing guide
100
+
101
+ ### By SDLC phase
102
+
103
+ | Phase | Primary chapters |
104
+ |---|---|
105
+ | Requirements | 01, 02, 03 |
106
+ | Design | 03, 04 |
107
+ | Development | 05, 06 |
108
+ | CI/CD | 07 |
109
+ | Infrastructure | 08, 09 |
110
+ | Testing | 10 |
111
+ | Deploy | 11 |
112
+ | Operations | 12 |
113
+ | Governance / Onboarding | 13, 14 |
114
+
115
+ ### By domain
116
+
117
+ | Domain / topic | Chapter(s) |
118
+ |---|---|
119
+ | Risk classification, application classification | 01 |
120
+ | Security requirements, acceptance criteria | 02 |
121
+ | Threat modelling, attack surface | 03 |
122
+ | Secure architecture, design patterns | 04 |
123
+ | Dependencies, SBOM, SCA, supply chain | 05 |
124
+ | Secure coding, code review | 06 |
125
+ | CI/CD pipeline security | 07 |
126
+ | IaC, infrastructure hardening | 08 |
127
+ | Containers, images, Kubernetes | 09 |
128
+ | SAST, DAST, penetration testing | 10 |
129
+ | Secure deploy, release gates | 11 |
130
+ | Monitoring, alerting, incident response | 12 |
131
+ | Training, onboarding, awareness | 13 |
132
+ | Governance, contracts, audits | 14 |
133
+
134
+ ### By question type
135
+
136
+ | Question | Tool |
137
+ |---|---|
138
+ | "What is X?" / "How does Y work?" | `search_sbd_toe_manual` |
139
+ | "What applies to my project?" | `map_sbd_toe_applicability` → `get_sbd_toe_chapter_brief` |
140
+ | "What does chapter N cover?" | `get_sbd_toe_chapter_brief` |
141
+ | "List all chapters" | `list_sbd_toe_chapters` |
142
+ | "Find control / artefact / practice" | `query_sbd_toe_entities` |
143
+ | "Generate a threat model / checklist / plan" | `generate_document` |
144
+ | "Governance plan for this repo" | `plan_sbd_toe_repo_governance` |
145
+ | "What to review given these changed files?" | `map_sbd_toe_review_scope` |
146
+
147
+ ---
148
+
149
+ ## Resources
150
+
151
+ | Resource URI | When to use |
152
+ |---|---|
153
+ | `sbd://toe/agent-guide` | This document — full operational guide |
154
+ | `sbd://toe/index-compact` | Full chapter map as JSON — fast structured lookup |
155
+ | `sbd://toe/skill-template/{riskLevel}/{projectRole}` | Role + risk specific instructions |
156
+ | `sbd://toe/chapter-applicability/{riskLevel}` | Active/excluded chapters for a risk level |
157
+
158
+ ---
159
+
160
+ ## Prompts
161
+
162
+ | Prompt | When to use |
163
+ |---|---|
164
+ | `setup_sbd_toe_agent(riskLevel, projectRole)` | Session setup — active chapters + risk-specific rules |
165
+ | `ask_sbd_toe_manual(question)` | Direct grounded Q&A |
166
+
167
+ ---
168
+
169
+ ## `generate_document` types
170
+
171
+ | type | Description |
172
+ |---|---|
173
+ | `classification-template` | Application risk classification document |
174
+ | `threat-model-template` | Threat model with required sections per risk level |
175
+ | `checklist` | Security checklist for the risk level |
176
+ | `training-plan` | Security training plan |
177
+ | `secure-config` | Secure configuration reference |
178
+
179
+ ---
180
+
181
+ ## Chapter reference
182
+
183
+ | chapterId | Title | Min level | Domains |
184
+ |---|---|---|---|
185
+ | `00-fundamentos` | Fundamentos SbD-ToE | L1 | governance, foundation |
186
+ | `01-classificacao-aplicacoes` | Classificação de Aplicações | L1 | governance, risk |
187
+ | `02-requisitos-seguranca` | Requisitos de Segurança | L1 | governance, requirements |
188
+ | `03-threat-modeling` | Threat Modeling | L1 | risk, architecture |
189
+ | `04-arquitetura-segura` | Arquitetura Segura | L1 | architecture, design |
190
+ | `05-dependencias-sbom-sca` | Dependências, SBOM e SCA | L1 | supply-chain |
191
+ | `06-desenvolvimento-seguro` | Desenvolvimento Seguro | L2 | development, coding |
192
+ | `07-cicd-seguro` | CI/CD Seguro | L1 | devops, pipeline |
193
+ | `08-iac-infraestrutura` | IaC e Infraestrutura | L1 | infrastructure |
194
+ | `09-containers-imagens` | Containers e Imagens | L1 | containers |
195
+ | `10-testes-seguranca` | Testes de Segurança | L1 | testing |
196
+ | `11-deploy-seguro` | Deploy Seguro | L2 | deploy |
197
+ | `12-monitorizacao-operacoes` | Monitorização e Operações | L1 | monitoring |
198
+ | `13-formacao-onboarding` | Formação e Onboarding | L3 | training |
199
+ | `14-governanca-contratacao` | Governança e Contratação | L1 | governance |
200
+
201
+ ---
202
+
203
+ ## Risk levels
204
+
205
+ | Level | Scope | Unlocks |
206
+ |---|---|---|
207
+ | `L1` | Low risk — internal, no sensitive data | Chapters marked minLevel L1 |
208
+ | `L2` | Medium risk — public APIs, user data | + chapters 06, 11 |
209
+ | `L3` | High risk — PII, regulated systems | + chapter 13 |
210
+
211
+ ---
212
+
213
+ ## Identifier conventions
214
+
215
+ - **Artefacts**: `ART-<chapterId>-<name>` — use `get_sbd_toe_chapter_brief` to list `artifact_ids`
216
+ - **Controls**: `CTRL-<chapter>-<number>` — use `query_sbd_toe_entities(query="CTRL-06", entityType="control")`
217
+ - Always cite identifiers when presenting manual-grounded answers
package/dist/index.js CHANGED
@@ -249,20 +249,15 @@ class McpRuntime {
249
249
  version: "0.1.0"
250
250
  },
251
251
  instructions: "You are connected to the SbD-ToE MCP server.\n" +
252
- "SbD-ToE = Security by Design — Theory of Everything. NOT 'Trail of Evidence', NOT 'Terms of Engagement'.\n" +
253
- "The manual has 15 chapters (00–14) covering the full secure development lifecycle.\n" +
252
+ "SbD-ToE = Security by Design — Theory of Everything (NOT 'Trail of Evidence', NOT 'Terms of Engagement').\n" +
253
+ "15 chapters (00–14). Security guidance only does not override project rules or development standards.\n" +
254
+ "Always respond in the user's language regardless of the manual content language.\n" +
254
255
  "\n" +
255
- "SCOPE SbD-ToE guides security practices only. It does NOT impose development standards,\n" +
256
- "testing requirements, coding conventions, or any non-security practice.\n" +
257
- "Project rules always take precedence. A low risk level reduces required security controls,\n" +
258
- "not code quality or testing expectations.\n" +
256
+ "Read resource sbd://toe/agent-guide for full operational guidance:\n" +
257
+ "modes (CONSULT/GUIDE), routing by phase/domain, tool selection, epistemic standards,\n" +
258
+ "chapter map, risk levels, and identifier conventions.\n" +
259
259
  "\n" +
260
- "RULES always follow these before answering any SbD-ToE question:\n" +
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"
260
+ "Then run setup_sbd_toe_agent(riskLevel, projectRole) for risk-level specific active chapters."
266
261
  });
267
262
  }
268
263
  handleSetLogLevel(request) {
@@ -683,6 +678,12 @@ class McpRuntime {
683
678
  name: "SbD-ToE Index Compact",
684
679
  description: "Índice compacto do manual SbD-ToE. Injectável em system prompt para eliminar fase de descoberta exploratória.",
685
680
  mimeType: "application/json"
681
+ },
682
+ {
683
+ uri: "sbd://toe/agent-guide",
684
+ name: "SbD-ToE Agent Guide",
685
+ description: "Full operational guide for agents: CONSULT/GUIDE modes, routing by phase and domain, tool selection, epistemic standards, chapter map, risk levels.",
686
+ mimeType: "text/markdown"
686
687
  }
687
688
  ]
688
689
  });
@@ -731,6 +732,21 @@ class McpRuntime {
731
732
  });
732
733
  return;
733
734
  }
735
+ if (uri === "sbd://toe/agent-guide") {
736
+ const guidePath = resolveAppPath("assets/agent-guide.md");
737
+ let guideText;
738
+ try {
739
+ guideText = readFileSync(guidePath, "utf-8");
740
+ }
741
+ catch {
742
+ this.sendError(request.id, -32603, "Could not read SbD-ToE agent guide.");
743
+ return;
744
+ }
745
+ this.sendResponse(request.id, {
746
+ contents: [{ uri, mimeType: "text/markdown", text: guideText }]
747
+ });
748
+ return;
749
+ }
734
750
  this.sendError(request.id, -32602, `URI de resource desconhecida: ${uri}`);
735
751
  }
736
752
  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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shiftleftpt/sbd-toe-mcp",
3
- "version": "0.5.2",
3
+ "version": "0.6.0",
4
4
  "license": "Apache-2.0",
5
5
  "description": "MCP server for SbD-ToE security manual — structured tools for Claude, GitHub Copilot and other MCP clients",
6
6
  "keywords": [
@@ -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`)
@@ -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