Pular para o conteúdo principal

Exemplo: Agentic SDLC ponta-a-ponta

Enquadramento

Quando o sistema inclui agentes AI com tool-use — modelos que executam acções reais (criar PRs, aplicar manifests Kubernetes, contactar APIs externas) — o processo de desenvolvimento seguro ganha paragens próprias em cada fase do SDLC. O SbD-ToE distribuiu essas paragens pelos capítulos existentes (não criou capítulo novo), mas a vista de processo ponta-a-ponta vive aqui, neste exemplo.

O conteúdo é transversal por desenho: serve AI Act Art. 9/14/15/26/53/55, NIS2 Art. 21 (cadeia de fornecimento + supervisão de risco operacional), DORA Art. 28–30 (ICT third-party + agente como principal não-humano) e CRA Anexo I (cybersec by design + vulnerability handling para componentes AI).

O SbD-ToE prescreve as paragens e a sua substância; este exemplo demonstra como as encadear num caso operacional realista — o caso baseline assumido é uma equipa que adopta um agente de auditoria de PR (nível A2) ligando à pipeline.


Visão geral do fluxo

Cada paragem do fluxo tem substância normativa num capítulo do SbD-ToE, e — quando aplicável — operacionalização em policy. A tabela seguinte é a tradução directa do fluxo em locais do manual.


Paragens do processo agentic

Paragem 1 — Decisão de adopção e classificação do nível de autonomia

ItemLocal no SbD-ToEO que se faz
Modelo A0–A4Cap. 02 §A0–A4Classificar o nível de autonomia por agente × contexto (projecto / ambiente / tarefa). Regra prática: começar no nível mais baixo compatível com o trabalho real
Requisitos REQ-AGN-*Cap. 02 §REQ-AGNREQ-AGN-001 mandate · REQ-AGN-002 nível classificado · REQ-AGN-003 kill-switch exercitado · REQ-AGN-004 intent declaration
User story de operacionalizaçãoCap. 02 US-15Classificar e registar o mandate do agente

📌 Sem classificação A0–A4 declarada e mandate registado, o agente não opera além de A0 (consulta sem efeito real).


Paragem 2 — Threat modeling para o agente

ItemLocal no SbD-ToEO que se faz
Playbook agenticCap. 03 §playbook-agenticDFD canónico (humano → cliente → modelo → tool runtime → sistema externo); threat library com IDs reais MITRE ATLAS + OWASP LLM Top 10
User storyCap. 03 US-11Executar o playbook antes da activação e em cada subida de nível
RAG-specific (se aplicável)Cap. 04 §rag-patternsThreats RAG: indirect prompt injection via documento, embedding poisoning, cross-namespace contamination

📌 Em sistemas RAG, a fronteira inference-time deixa de ser uma só — o conteúdo recuperado é user-untrusted por desenho.


Paragem 3 — Arquitectura: agente como principal isolado

ItemLocal no SbD-ToEO que se faz
ARC-015Cap. 04 §ARC-015Agente como principal não-humano isolado; workload identity efémera; scope mínimo por tool
Padrões agentes-principalsCap. 04 §agentes-principalsIntent declaration; aprovação humana out-of-band; kill-switch arquitectónico; audit per tool invocation
User storyCap. 04 US-16Revisão de arquitectura para A2+ antes da activação
Self-hosted runtime (se aplicável)Cap. 09 — Inferência Self-HostedPesos como activo crítico; GPU isolation; container hardening

Paragem 4 — Mandate registado e versionado

ItemLocal no SbD-ToEO que se faz
Policy 38 — MandatesPolicy 38Conteúdo mínimo do mandate (16 campos); ciclo de vida proposta → aprovação → activação → revisão → revogação
Policy 16 §11 (regras operacionais A2+)Policy 16 §11Regras por nível, proibições, classes de incidente

Paragem 5 — Identidade e segredos para o agente na pipeline

ItemLocal no SbD-ToEO que se faz
User storyCap. 07 US-19Agente AI como principal na pipeline — OIDC, scope per-tool, TTL ≤ 1h, audit completo
Policy 18 §9Policy 18 §9Identidade dedicada, scoping per-tool, kill-switch operacional
Policy 18 §10 (PII em prompts)Policy 18 §10Bridge para RGPD quando agente vê dados pessoais

Paragem 6 — Prompts e skill files como código

ItemLocal no SbD-ToEO que se faz
Prompts-como-códigoCap. 06 §prompts-como-codigoVersionamento em VCS, code review, secret scanning, drift detection vs fonte canónica
Structured outputsCap. 06 §structured-outputsSchema declarado, validação dupla sintáctica + semântica, fail-open com fallback
Policy 15Policy 15 §2Alcance estendido a prompts/skill files; mudança de tools_allowlist tratada como mudança IAM

Paragem 7 — AI BOM + supply chain de modelos

ItemLocal no SbD-ToEO que se faz
DEP-011..014Cap. 05 §DEP-011Inventário AI + AI BOM (CycloneDX 1.6 ml-bom) + pinning + providers aprovados
User storyCap. 05 US-14Gerar AI BOM por build; provider aprovado obrigatório
Policy 39Policy 39Ciclo de vida AI BOM; resposta a incidentes upstream por classe (AML.T0019/T0109/T0110)
Policy 33 §10 (contratação)Policy 33 §10Cláusulas Art. 53/55 declaradas + RGPD Art. 28

Paragem 8 — Eval suite contínua

ItemLocal no SbD-ToEO que se faz
Cap. 10 §C5Cap. 10 §C5Regression de prompt/skill, abuse corpus, drift detection, A/B testing, test telemetry
Policy 19 §7Policy 19 §7Composição mínima por nível A0–A4

📌 Subir nível de autonomia sem eval suite à medida é proibido — Policy 38 §5.4 bloqueia.


Paragem 9 — Release gates

ItemLocal no SbD-ToEO que se faz
User storyCap. 11 US-18Eval suite como gate; model rollback independente; canary release para mudanças de versão maior; autonomy demotion automático quando eval falha

Paragem 10 — Operação: telemetria agentic

ItemLocal no SbD-ToEO que se faz
OPS-011..014Cap. 12 §OPS-011OPS-011 (observabilidade AI/ML), OPS-012 (audit per tool invocation), OPS-013 (token budget), OPS-014 (jailbreak / off-policy)
User storyCap. 12 US-13Telemetria agentic em produção; sinais alimentam IR
Policy 30 §9Policy 30 §9Classes de sinal agentic; cruzamento com IR

Paragem 11 — Revisão e renovação

ItemLocal no SbD-ToEO que se faz
Ciclo do mandatePolicy 38 §5.6Revisão pela review_cadence declarada (A2 anual · A3 semestral · A4 trimestral); cruzar intent events, off-policy actions, kill-switch exercitado
Revisão organizacionalPolicy 38 §6Revisão do conjunto de mandates activos com cadência por nível de criticidade (L1 anual · L2 semestral · L3 trimestral)
Formação contínuaPolicy 37 §11Trilho formativo activo conforme função e cadência
Função compostaCap. 00 — AI Reliability EngineerQuem opera o risco no dia-a-dia: appsec + devops + grc sob mandate do CISO

Cruzamento com regulamento

O processo descrito serve em simultâneo várias obrigações regulatórias. Mapeamento sintético:

RegulamentoArtigoParagem do processo
AI ActArt. 4 (literacia)Paragem 11 (formação)
AI ActArt. 9 (gestão de risco)Paragens 1, 2
AI ActArt. 10 (dados / governação)Paragem 7 (AI BOM)
AI ActArt. 11 + Anexo IV (doc técnica)Paragens 4, 7
AI ActArt. 12 + Art. 19 (logging)Paragem 10
AI ActArt. 13 (transparência aos deployers)Paragem 4 (mandate como fonte)
AI ActArt. 14 (supervisão humana)Paragens 1, 3, 4 (camada agentic colmata gap histórico)
AI ActArt. 15 (robustez / cybersec)Paragens 2, 3, 8, 10
AI ActArt. 17 (QMS)Todo o processo (Policy 38 + Policy 39 dão ciclos formais)
AI ActArt. 25 (cadeia de fornecimento)Paragem 7
AI ActArt. 26 (deployer)Paragem 4 (mandate de deployer) + Paragem 10
AI ActArt. 53 / 55 (GPAI)Paragens 7, 8, 10
AI ActArt. 72 (pós-mercado)Paragem 10
AI ActArt. 73 (incidentes graves)Paragens 10, 11
NIS2Art. 21 (medidas de gestão de risco)Paragens 1, 2, 3, 10
NIS2Art. 23 (notificação de incidentes)Paragem 10 + Policy 30 §9.3
DORAArt. 6 (framework de gestão de risco ICT)Paragens 1, 2
DORAArt. 9 (proteção e prevenção)Paragens 3, 5, 6
DORAArt. 28–30 (third-party ICT)Paragem 7 + Cap. 14 US-21
DORAArt. 17 (gestão de incidentes ICT)Paragens 10, 11
CRAAnexo I Parte I (cybersec by design)Paragens 3, 5, 6, 8
CRAAnexo I Parte II (vulnerability handling)Paragem 7 (Policy 39 §7) + Paragens 10, 11
CRAArt. 13 (SBOM)Paragem 7 (AI BOM cobre + complementa)
RGPDArt. 5(1)(c) (minimização)Policy 18 §10.1
RGPDArt. 6 / 9 (base legal)Policy 18 §10.2
RGPDArt. 28 (sub-processadores)Paragem 7 + Policy 33 §10
RGPDArt. 44–49 (transferências)Policy 33 §10.2

Exemplo concreto: agente de auditoria de PR (nível A2)

Cenário ilustrativo, baseado num caso operacional realista — implementável com o servidor MCP SbD-ToE.

PassoAcçãoOnde aterra
1Equipa decide adoptar Claude Code em modo A2 para auditoria automática de PRs no repo payments-service (L2).Cap. 02 §A0–A4
2appsec executa playbook agentic de threat modeling, identifica prompt injection via repo content como threat primária.Cap. 03 US-11
3Arquitectura confirma ARC-015: identidade claude-code-pr-auditor@payments-prod via OIDC; scopes gh:pr:read, gh:pr:write:comment (não merge).Cap. 04 US-16
4Mandate aprovado por tech lead + appsec: autonomy_level: A2, tools_allowlist, kill-switch documentado (revogação OIDC ≤ 15 s).Policy 38 + Cap. 02 US-15
5Pipeline configura agente como principal OIDC; intent_audit_sink configurado para SIEM.Cap. 07 US-19
6Skill file .claude/skills/pr-auditor.md versionado em audit-tooling/, code-reviewed, secret scanning activo.Cap. 06 + Policy 15
7AI BOM declara claude-opus-4-7@sha:... como dependência pinned; DEP-014 confirma Anthropic na lista aprovada.Cap. 05 US-14 + Policy 39
8Eval suite executa 200 PR-cases (boa-fé + adversariais) antes do cutover.Cap. 10 §C5
9Release através do pipeline normal, com eval_run_id arquivado e mandate_ref no audit trail.Cap. 11 US-18
10Produção: OPS-012 regista cada tool invocation (comentar PR); OPS-013 aplica budget mensal de tokens; OPS-014 detecta tentativa de prompt injection via descrição de PR.Cap. 12 US-13
11Revisão anual do mandate: kill-switch exercitado, 3 off-policy actions detectadas (todas mitigadas); manter A2.Policy 38 §5.6

Anti-padrões transversais

  • Subir nível A1 → A2 sem novo mandate aprovado — viola REQ-AGN-001/REQ-AGN-002 e ignora todas as paragens 1–4.
  • tools_allowlist alargada via commit sem revisão — equivalente a alterar IAM policy sem aprovação; viola Policy 15 §2 + Policy 38 §5.5.
  • Kill-switch documentado mas nunca exercitado — decorativo. REQ-AGN-003 exige cadência (anual A2 · trimestral A3 · mensal A4).
  • Aprovação humana dentro do canal do agente (e.g. prompt "confirmas?" → utilizador responde "sim" no mesmo chat) — prompt injection torna trivial a auto-aprovação. Tem de ser out-of-band.
  • Modelo latest ou range semver — viola DEP-013; expõe a AI Supply Chain Rug Pull (AML.T0109).
  • Eval suite que nunca falha — sinal de cobertura insuficiente, não de excelência. Falta abuse corpus representativo.
  • Audit per tool invocation sem mandate_ref — perde-se a capacidade de auditar o mandate, e portanto o cumprimento do Art. 26.
  • Off-policy action a viver apenas em dashboard, sem aterrar em IR — incidente não é dashboard. OPS-014 ↔ Cap. 12 US-04.
  • PII em prompts enviada a provider fora da lista aprovadashadow AI com risco RGPD imediato (Policy 18 §10).

Como usar este exemplo

  1. Para uma equipa que está a adoptar agentes pela primeira vez: percorrer as paragens 1 → 11 antes da primeira activação operacional. Não é necessário implementar tudo em A1; o nível A1 cobre paragens 1–6 + 10 (sem eval nem release gate obrigatórios).
  2. Para auditoria interna / externa: usar a tabela de cruzamento com regulamento para reconstruir a árvore de evidência por artigo.
  3. Para revisão pós-incidente: identificar em que paragem a falha ocorreu e reforçar (paragens 2, 3, 8, 10 são as mais sensíveis em incidentes operacionais; paragens 4, 7 são as mais sensíveis em auditorias regulatórias).
  4. Para evolução do programa: cada release significativa do manual revisita este fluxo — se uma paragem ganha novo controlo ou novo requisito, este exemplo é o primeiro a actualizar.

Referências cruzadas