@shiftleftpt/sbd-toe-mcp 0.20.0-beta.26 → 0.20.0-beta.28

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.
@@ -251,9 +251,23 @@ export function _resolveThreatLandscape(args, ontologyData) {
251
251
  export function handleGetThreatLandscape(args) {
252
252
  const full = _resolveThreatLandscape(args, getOntologyData());
253
253
  // 0.15.0 (P0-1): paginação universal — default 25; coverage + size_estimate sempre.
254
+ /**
255
+ * 0.20.0-beta.28 — a deduplicação é um NÍVEL DE SERIALIZAÇÃO, não uma remoção.
256
+ * `associated_control_ids` é contrato publicado (v1.14 §1.21): renomeá-lo por omissão
257
+ * seria a mesma classe de dano que este ciclo combate. `full` fica byte-idêntico;
258
+ * `standard`/`minimal` trocam os arrays repetidos por refs + legenda (−50% medido).
259
+ */
260
+ const detailArg = typeof args["detail"] === "string" ? args["detail"] : undefined;
261
+ if (detailArg !== undefined && !["full", "standard", "minimal"].includes(detailArg)) {
262
+ throw Object.assign(new Error(`Invalid detail: "${detailArg}". Allowed: full, standard, minimal.`), {
263
+ rpcError: { code: -32602, message: `Invalid detail: "${detailArg}". Allowed: full, standard, minimal.` }
264
+ });
265
+ }
266
+ const dedupe = detailArg === "standard" || detailArg === "minimal";
254
267
  const offsetArg = typeof args["offset"] === "number" ? Math.max(0, Math.floor(args["offset"])) : 0;
255
268
  const limitArg = typeof args["limit"] === "number" ? Math.max(1, Math.floor(args["limit"])) : 25;
256
269
  const totalThreats = full.threats.length;
270
+ const allThreatsForRouting = full.threats;
257
271
  const pagedThreats = full.threats.slice(offsetArg, offsetArg + limitArg);
258
272
  const nextOffset = offsetArg + pagedThreats.length < totalThreats ? offsetArg + pagedThreats.length : null;
259
273
  full.threats = pagedThreats;
@@ -266,13 +280,22 @@ export function handleGetThreatLandscape(args) {
266
280
  : [];
267
281
  const support = declaredConcerns.length > 0 ? threatConcernSupport() : { supported: [], unsupported: [] };
268
282
  const unsupportedHere = declaredConcerns.filter((c) => support.unsupported.includes(c));
283
+ // beta.27: valores FORA do vocabulário eram ignorados em silêncio aqui (o `select`
284
+ // declara-os em `unknown_concerns` desde a beta.22). Mesma classe, quarta instância —
285
+ // apanhada pela invariante entre superfícies, não por um avaliador.
286
+ // A fonte de «conhecido» é o VOCABULÁRIO, não a sondagem de suporte: `threatConcernSupport()`
287
+ // devolve listas vazias enquanto está a sondar (guarda de recursão), e usá-la aqui fazia a
288
+ // cache classificar TODOS os concerns como desconhecidos — resultado dependente da ordem
289
+ // da primeira chamada. Apanhado pela suite antes de sair da lane.
290
+ const knownConcerns = new Set(buildActivationVocabulary().concerns.values.map((c) => String(c.value)));
291
+ const unknownHere = declaredConcerns.filter((c) => !knownConcerns.has(c));
269
292
  /**
270
293
  * 0.20.0-beta.26 (§17-C) — quando TODOS os concerns declarados são não-roteáveis, o
271
294
  * roteamento cai para o âmbito largo e devolve ~25 ameaças de GOVERNAÇÃO (MT-001..025,
272
295
  * 8,4k tk) que não têm nada a ver com o que foi pedido. Cobrar esse payload para dizer
273
296
  * «não sei» é o oposto do contrato: agora pede DECLARAÇÃO, com a lista do que resolve.
274
297
  */
275
- const allUnsupported = declaredConcerns.length > 0 && unsupportedHere.length === declaredConcerns.length;
298
+ const allUnsupported = declaredConcerns.length > 0 && unsupportedHere.length + unknownHere.length === declaredConcerns.length;
276
299
  if (allUnsupported) {
277
300
  return {
278
301
  provenance: {
@@ -291,7 +314,7 @@ export function handleGetThreatLandscape(args) {
291
314
  * substitui. Uma promessa cumprida não se retira por se ter arranjado melhor.
292
315
  */
293
316
  unsupported_concerns: {
294
- values: [...new Set(unsupportedHere)].sort(),
317
+ values: [...new Set([...unsupportedHere, ...unknownHere])].sort(),
295
318
  supported_values: support.supported,
296
319
  note: `Concerns VÁLIDOS do vocabulário que o mapa de ameaças não resolve: ${[...new Set(unsupportedHere)].sort().join(", ")}. ` +
297
320
  "Não são zero ameaças — são zero ameaças ROTEÁVEIS por este mapa. Como são TODOS os que declaraste, " +
@@ -299,7 +322,8 @@ export function handleGetThreatLandscape(args) {
299
322
  "NÃO concluas ausência de ameaças a partir desta resposta: para estes concerns usa select_sbd_toe_requirements."
300
323
  },
301
324
  needs_input: {
302
- reason: `Nenhum dos concerns declarados (${[...new Set(declaredConcerns)].sort().join(", ")}) é roteável pelo mapa de ameaças. ` +
325
+ reason: `Nenhum dos concerns declarados (${[...new Set(declaredConcerns)].sort().join(", ")}) é roteável pelo mapa de ameaças` +
326
+ (unknownHere.length > 0 ? ` (fora do vocabulário: ${[...new Set(unknownHere)].sort().join(", ")})` : "") + ". " +
303
327
  "Sem esta paragem a resposta seria o âmbito largo — ameaças de GOVERNAÇÃO sem relação com o que pediste, " +
304
328
  "a custo de payload cheio, para acabar a dizer que não sabe. Zero útil não é uma resposta.",
305
329
  supported_concerns: support.supported,
@@ -318,15 +342,141 @@ export function handleGetThreatLandscape(args) {
318
342
  concernsApplied: declaredConcerns,
319
343
  note: "needs_input: nenhum concern roteável declarado. Nada foi resolvido — e por isso nada é cobrado."
320
344
  },
321
- coverage: { total: 0, returned: 0, offset: 0, nextOffset: null, hasMore: false }
345
+ coverage: { total: 0, returned: 0, offset: 0, nextOffset: null, hasMore: false },
346
+ // RF-H: a banda `next` está em TODAS as respostas — um pedido de declaração também
347
+ // é uma resposta. Apanhado pela suite de affordances antes de sair da lane.
348
+ next: threatLandscapeAffordances(full.risk_level, support.supported.slice(0, 2))
322
349
  };
323
350
  }
351
+ /**
352
+ * 0.20.0-beta.27 — o concern RESOLVE mas o NÍVEL não traz capítulos: zero ameaças sem
353
+ * uma palavra. Mesma classe do `empty_at_level` do consult, encontrada pela invariante
354
+ * entre superfícies (privacy@L1, threat_modeling@L1).
355
+ */
356
+ const emptyByLevel = declaredConcerns.length > 0 &&
357
+ unsupportedHere.length === 0 &&
358
+ unknownHere.length === 0 &&
359
+ full.threats.length === 0;
360
+ /**
361
+ * 0.20.0-beta.28 — COBERTURA NOMINAL SEM ROUTING REAL.
362
+ *
363
+ * `files` e `privacy` devolviam ~15 meta-ameaças de governação (MT-021..) vindas do
364
+ * cap. 02, sem uma única ameaça dos capítulos do próprio concern — «pior que o
365
+ * unsupported_concerns honesto: antes dizia que não sabia, agora entrega irrelevante com
366
+ * ar de fundamentado». O routing continua nominalmente a resolver; o que faltava era
367
+ * dizer que nada veio do domínio pedido.
368
+ */
369
+ /**
370
+ * 0.20.0-beta.28 — BASE DO ROUTING declarada.
371
+ *
372
+ * `files`/`privacy` devolviam dezenas de ameaças de capítulos sem relação com o concern
373
+ * (06/07/08/12 para manipulação de ficheiros) porque o routing passa pelos capítulos onde
374
+ * os CONTROLOS activados se definem — não por um domínio de ameaças do concern. As
375
+ * ameaças eram reais; a relevância era nominal, e nada o dizia.
376
+ *
377
+ * Duas afirmações, ambas derivadas dos dados do próprio roteamento:
378
+ * - a BASE: domínio próprio do concern, ou capítulos dos controlos activados;
379
+ * - se o concern TEM domínio próprio e ele não contribuiu com uma única ameaça, isso é
380
+ * cobertura NOMINAL e é dito como tal.
381
+ * O cap. 02 nunca conta como prova de domínio: é o capítulo das meta-ameaças de processo.
382
+ */
383
+ const vocabForRouting = buildActivationVocabulary();
384
+ const domainChapters = new Set();
385
+ for (const c of declaredConcerns) {
386
+ const own = CONCERN_TO_DOMAIN_CHAPTER[c];
387
+ if (own !== undefined)
388
+ domainChapters.add(own);
389
+ const entry = vocabForRouting.concerns.values.find((x) => String(x.value) === c);
390
+ for (const chapter of entry?.activates_chapters ?? []) {
391
+ const n = chapterNumber(chapter);
392
+ if (!Number.isNaN(n))
393
+ domainChapters.add(n);
394
+ }
395
+ }
396
+ domainChapters.delete(2);
397
+ // conjunto COMPLETO (antes da paginação): paginar não pode mudar o veredicto
398
+ const allThreatChapters = new Set(allThreatsForRouting.map((t) => chapterNumber(String(t.chapter_id ?? ""))));
399
+ const hasDomain = domainChapters.size > 0;
400
+ const fromDomain = [...domainChapters].some((c) => allThreatChapters.has(c));
401
+ const nominalOnly = declaredConcerns.length > 0 && totalThreats > 0 && hasDomain && !fromDomain;
402
+ /**
403
+ * Deduplicação: `associated_control_names` vinha repetido verbatim em cada ameaça —
404
+ * 241 entradas para 13 nomes distintos, 2.585 tk de um payload de 11.944 (~22%).
405
+ * Legenda + referências: nenhum nome se perde, muda só a codificação.
406
+ */
407
+ const controlLegend = [];
408
+ const refOf = (name) => {
409
+ const at = controlLegend.indexOf(name);
410
+ if (at >= 0)
411
+ return at;
412
+ controlLegend.push(name);
413
+ return controlLegend.length - 1;
414
+ };
415
+ // `associated_control_ids` era a instância AO LADO da mesma classe, no mesmo payload:
416
+ // os CTRL-* repetidos verbatim ×36. A varredura apanhou-a; corrige-se com a de cima.
417
+ const controlIdLegend = [];
418
+ const refOfId = (id) => {
419
+ const at = controlIdLegend.indexOf(id);
420
+ if (at >= 0)
421
+ return at;
422
+ controlIdLegend.push(id);
423
+ return controlIdLegend.length - 1;
424
+ };
324
425
  const shaped = {
325
426
  ...full,
326
- ...(unsupportedHere.length > 0
427
+ ...(dedupe
428
+ ? {
429
+ associated_control_legend: {
430
+ names: controlLegend,
431
+ ids: controlIdLegend,
432
+ note: `Os ${controlLegend.length} nomes e ${controlIdLegend.length} ids DISTINTOS de controlos associados; cada ameaça ` +
433
+ "refere-os por índice em `associated_control_name_refs` e `associated_control_id_refs`. Dedup de " +
434
+ "serialização (0.20.0-beta.28): nada se perde — antes vinham repetidos verbatim em cada ameaça."
435
+ }
436
+ }
437
+ : {}),
438
+ ...(declaredConcerns.length > 0 && totalThreats > 0
439
+ ? {
440
+ routing_basis: {
441
+ basis: hasDomain ? "domain_chapter" : "activated_controls",
442
+ note: hasDomain
443
+ ? `Estes concerns têm capítulo(s) de ameaças próprio(s): ${[...domainChapters].sort((a, b) => a - b).join(", ")}.`
444
+ : "Estes concerns NÃO têm capítulo de ameaças próprio: as ameaças chegam pelos capítulos onde se DEFINEM os controlos que eles activam. São ameaças reais do âmbito activado, mas não são «as ameaças deste domínio» — o manual pode não publicar ameaças específicas para ele. Os REQUISITOS existem: `select_sbd_toe_requirements`."
445
+ }
446
+ }
447
+ : {}),
448
+ ...(nominalOnly
449
+ ? {
450
+ routing_note: {
451
+ declared_concerns: [...new Set(declaredConcerns)].sort(),
452
+ domain_chapters: [...domainChapters].sort((a, b) => a - b).map(String),
453
+ threat_chapters: [...allThreatChapters].filter((n) => !Number.isNaN(n)).sort((a, b) => a - b).map(String),
454
+ note: (hasDomain
455
+ ? `COBERTURA NOMINAL: nenhuma das ${totalThreats} ameaças vem dos capítulos de domínio dos concerns ` +
456
+ `declarados (${[...domainChapters].sort((a, b) => a - b).join(", ")}). `
457
+ : `COBERTURA NOMINAL: os concerns declarados não têm capítulo de ameaças próprio — as ${totalThreats} ` +
458
+ "ameaças vêm todas do âmbito alargado. ") +
459
+ "São sobretudo meta-ameaças de PROCESSO (cap. 02) e do âmbito largo, NÃO ameaças específicas do domínio " +
460
+ "que pediste. Não as apresentes como o panorama de ameaças desse domínio: para estes concerns o manual " +
461
+ "pode simplesmente não publicar ameaças roteáveis. Os REQUISITOS existem — usa `select_sbd_toe_requirements`."
462
+ }
463
+ }
464
+ : {}),
465
+ ...(emptyByLevel
466
+ ? {
467
+ empty_at_level: {
468
+ concerns: [...new Set(declaredConcerns)].sort(),
469
+ level: full.risk_level,
470
+ note: `Os concerns declarados são roteáveis, mas a ${full.risk_level} não activam capítulo nenhum — por isso zero ameaças. ` +
471
+ "NÃO é ausência de ameaças nem «não aplicável»: é o NÍVEL. Confirma noutro nível ou com " +
472
+ "`select_sbd_toe_requirements`, e não apresentes este vazio como «manual-grounded»."
473
+ }
474
+ }
475
+ : {}),
476
+ ...(unsupportedHere.length + unknownHere.length > 0
327
477
  ? {
328
478
  unsupported_concerns: {
329
- values: [...new Set(unsupportedHere)].sort(),
479
+ values: [...new Set([...unsupportedHere, ...unknownHere])].sort(),
330
480
  supported_values: support.supported,
331
481
  note: `Concerns VÁLIDOS do vocabulário que o mapa de ameaças não resolve: ${[...new Set(unsupportedHere)].sort().join(", ")}. ` +
332
482
  "Não são zero ameaças — são zero ameaças ROTEÁVEIS por este mapa, que cobre os domínios listados em supported_values. " +
@@ -355,9 +505,15 @@ export function handleGetThreatLandscape(args) {
355
505
  // DECLARED derivation; associated_controls_text is the Manual's prose;
356
506
  // associated_controls stays as-is for compatibility. Nothing invented.
357
507
  associated_controls: threat.associated_controls ?? [],
358
- // 0.16.0 (v1.16 §1.23): nomes legíveis expostos — os dados subiram, a promessa diz a verdade nova.
359
- associated_control_names: threat.associated_control_names ?? [],
360
- associated_control_ids: threat.associated_control_ids ?? [],
508
+ // 0.20.0-beta.28: os NOMES vão para uma legenda e ficam aqui as referências —
509
+ // vinham repetidos verbatim em cada ameaça (241 entradas para 13 nomes distintos,
510
+ // ~22% do payload). Dedup de serialização: nenhum nome se perde.
511
+ ...(dedupe
512
+ ? { associated_control_name_refs: (threat.associated_control_names ?? []).map(refOf) }
513
+ : { associated_control_names: threat.associated_control_names ?? [] }),
514
+ ...(dedupe
515
+ ? { associated_control_id_refs: (threat.associated_control_ids ?? []).map(refOfId) }
516
+ : { associated_control_ids: threat.associated_control_ids ?? [] }),
361
517
  ...(threat.associated_controls_text ? { associated_controls_text: threat.associated_controls_text } : {}),
362
518
  ...(threat.associated_control_ids_derivation
363
519
  ? { associated_control_ids_derivation: threat.associated_control_ids_derivation }
@@ -1 +1 @@
1
- {"version":3,"file":"get-threat-landscape.js","sourceRoot":"","sources":["../../src/tools/get-threat-landscape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-threat-landscape.js","sourceRoot":"","sources":["../../src/tools/get-threat-landscape.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.20.0-beta.26",
3
+ "version": "0.20.0-beta.28",
4
4
  "license": "Apache-2.0",
5
5
  "description": "MCP server for the SbD-ToE (Security by Design — Theory of Everything) security manual — structured tools for Claude, GitHub Copilot and other MCP clients",
6
6
  "keywords": [