Paula Silva Software Global Black Belt
LinkedIn
18 security · Governance

InfoSec OfficerOficial de SegurançaOficial de Seguridad

Vuln triage and compliance.Triagem de vulns e compliance.Triaje de vulns y cumplimiento.


The InfoSec Officer is the persona that keeps software and AI systems defensible under change. In an AI-native SDLC, the InfoSec Officer operates a Threat Triager agent, four slash prompts, and a validated MCP catalog anchored on GitHub Advanced Security and Microsoft Defender for Cloud — not a backlog of PDF checklists.

Executive summary

The InfoSec Officer owns the security posture of the delivery pipeline and the products it ships. In an AI-native SDLC, they operate a Threat Triager agent with four slash prompts (/vuln-triage, /sbom-scan, /threat-model, /incident-security), scoped instructions for security-sensitive paths, and a validated MCP catalog that reaches into GitHub Advanced Security, Dependabot, CodeQL, Secret Scanning, Push Protection, Microsoft Defender for Cloud, Microsoft Sentinel, Microsoft Purview, Entra ID, and Azure Key Vault.

Primary deliverables are triaged vulnerability queues with SLAs, signed software bills of materials, threat models attached to each architecture decision, and incident responses coordinated through Sentinel. The InfoSec Officer turns security from a release-blocker into a continuous, mostly automatic, evidence-producing layer.

Security is a property of the pipeline, not an audit event. The InfoSec Officer wires policies, detections, and remediations into everyday tools so that by the time a PR reaches merge, most questions are already answered.

Role and responsibilities

Think of the InfoSec Officer like the fire marshal for a city. They do not fight every fire, but they write the building code, certify inspections, run drills, and coordinate the response when a real fire happens. In an AI-native SDLC, the InfoSec Officer enforces the code and orchestrates the response across GitHub, Azure, and Microsoft 365 surfaces.

Primary responsibilities:

  • Triage vulnerability alerts from GitHub Advanced Security, Dependabot, and Defender for Cloud
  • Maintain the SBOM (software bill of materials) per service with signed provenance
  • Author threat models for every new architecture; update when the architecture changes
  • Coordinate security incident response through Microsoft Sentinel and GitHub issues
  • Enforce Push Protection, Secret Scanning, CodeQL, and Dependabot policies on every repository
  • Integrate AI safety (content filters, PII redaction) with the ML AI Engineer’s pipelines
  • Operate the Threat Triager agent and /vuln-triage, /sbom-scan, /threat-model, /incident-security prompts
  • Manage identity and secret hygiene via Microsoft Entra ID and Azure Key Vault

Jobs to be done

  1. As an InfoSec Officer, I want every Dependabot or CodeQL alert triaged within SLA, so that exposed windows are minimized.
  2. As an InfoSec Officer, I want a signed SBOM published with every release, so that supply-chain questions have immediate answers.
  3. As an InfoSec Officer, I want threat models attached to architecture PRs, so that mitigations are in place before code lands.
  4. As an InfoSec Officer, I want Push Protection and Secret Scanning on by default, so that credentials never reach a remote branch.
  5. As an InfoSec Officer, I want Defender for Cloud findings converted into GitHub issues automatically, so that remediation work is visible in the same backlog as features.
  6. As an InfoSec Officer, I want Sentinel alerts enriched with repo context, so that triage is fast and accurate.
  7. As an InfoSec Officer, I want incident timelines produced automatically from chat, commits, and alerts, so that post-incident reviews are fact-based.
  8. As an InfoSec Officer, I want all secrets stored in Azure Key Vault with managed identity, so that no long-lived credentials sit in CI.

Pain points before AI-native

  • Alert fatigue. Thousands of Dependabot and CodeQL alerts with no triage, so real issues hide in noise.
  • SBOMs as PDFs. Bills of materials produced once, never signed, never consumed in CI.
  • Threat models in a vault. Threat models written at project kickoff, never revisited; they describe a system that no longer exists.
  • Incident chaos. Incidents managed across five tools; the timeline is recovered later by interviewing people.
  • Credentials in CI. API keys in GitHub Actions secrets, rotated on holidays, stored in plain YAML by accident.
  • Policies as slides. Security policies exist in SharePoint, not as enforced configuration.
  • Siloed AI safety. AI safety controls owned by a different team, not integrated into the same review.

AI-native daily workflow

The InfoSec Officer works from Visual Studio Code and the terminal with Claude Code, orchestrating the Threat Triager and enforcing hooks across every repository.

Morning setup

  1. Open Microsoft Defender for Cloud, Microsoft Sentinel, and GitHub Advanced Security dashboards.
  2. Run /vuln-triage --since=yesterday to cluster new alerts by service and severity.
  3. Review Push Protection bypasses and Secret Scanning notifications from overnight.
  4. Check Azure Key Vault access logs for anomalies; confirm Entra ID Conditional Access is healthy.
  5. Post the security standup digest in Microsoft Teams with open incidents and SLA clocks.

Midday execution

  1. For each architecture PR, invoke /threat-model; the Threat Triager drafts STRIDE findings and mitigations, then opens tracking issues.
  2. For every vulnerability cluster, triage with /vuln-triage: assign owner, severity, fix window, compensating controls.
  3. Run /sbom-scan as part of CI; block release on unsigned or policy-violating components.
  4. Coordinate the active incident channel in Microsoft Teams; /incident-security keeps the timeline current.

Afternoon review

  1. Verify Defender for Cloud recommendations and file Azure Policy exceptions where warranted.
  2. Review CodeQL query additions and merge approved custom queries into the shared pack.
  3. Update the quarterly risk register in the repo; publish the updated posture score to Microsoft Loop.

Agent

AgentFilePurpose
threat-triager.github/agents/threat-triager.agent.mdTriages vulnerabilities, runs SBOM scans, drafts threat models, coordinates incidents

Slash prompts

CommandFilePurpose
/vuln-triage.github/prompts/vuln-triage.prompt.mdCluster alerts, assign owners, set SLA, propose remediations
/sbom-scan.github/prompts/sbom-scan.prompt.mdGenerate, sign, and verify the SBOM for a release
/threat-model.github/prompts/threat-model.prompt.mdDraft STRIDE analysis and mitigation tasks on an architecture PR
/incident-security.github/prompts/incident-security.prompt.mdMaintain live incident timeline from Sentinel, Teams, and GitHub

Instructions scoped

Scope (applyTo)FilePurpose
.github/workflows/**/*.yml.github/instructions/actions-security.instructions.mdOIDC to Azure, no long-lived secrets, pinned SHA actions
infra/**/*.bicep.github/instructions/infra-security.instructions.mdKey Vault references, managed identity, network isolation
src/**/auth/**.github/instructions/auth.instructions.mdEntra ID patterns, token handling, least privilege
prompts/**/*.prompt.md.github/instructions/ai-safety.instructions.mdContent-safety guardrails and PII redaction

Hooks

  • pre-commit: Secret Scanning, push protection, dependency policy check
  • pre-push: CodeQL fast queries on changed files
  • post-merge: Dependabot triage, SBOM refresh, Defender for Cloud sync
  • pre-release: SBOM signature and threat-model presence gate
  • on-incident: create a Sentinel incident record and pin the Microsoft Teams channel

Validated MCPs

MCPPurposeOwner
GitHub MCP ServerRead Advanced Security alerts, Dependabot, CodeQL, manage issues and PRsGitHub
Azure MCP ServerDrive Defender for Cloud, Sentinel, Key Vault, Entra ID, Azure Policy operationsMicrosoft
Microsoft Learn Docs MCPResolve current security guidance across Microsoft stacksMicrosoft
Azure DevOps MCP ServerTrack remediation work items when the team uses Azure DevOpsMicrosoft
Playwright MCPValidate security UX flows (SSO, MFA, consent) end-to-endMicrosoft

Real examples

Example 1: zero-day triage inside an hour

A CVE lands in a widely used dependency. /vuln-triage identifies 23 repos exposed and maps each to its service owner. The Threat Triager opens issues with linked fix PRs already drafted by Copilot. Within an hour, 19 PRs are merged; the remaining 4 get documented compensating controls. Defender for Cloud confirms the exposure has closed.

Example 2: threat model drives a design change

An architecture PR proposes a new endpoint that accepts signed URLs. /threat-model flags a replay risk and suggests a nonce plus short expiry. The Software Architect updates the design before the PR merges; the mitigation tasks are linked and closed automatically when the implementation lands.

Example 3: signed SBOM blocks a release

The release workflow invokes /sbom-scan. The pipeline detects an unsigned transitive dependency and blocks release. The InfoSec Officer confirms the component is not under active exploitation, files a temporary exception in Azure Policy, and the release proceeds with full audit trail.

Anti-patterns

  • Spreadsheet triage. Triage outside GitHub loses context and SLA tracking; stay in issues.
  • Long-lived secrets. Any secret older than 90 days is a liability; use managed identity and Key Vault references.
  • One-time threat models. Models must evolve with the system; tie them to architecture PRs.
  • Ignoring Push Protection bypasses. Every bypass is reviewed the same day, not at quarter end.
  • Safety silos. AI safety belongs in the same pipeline as app security, with the same reviewers.
  • Policy as PDF. Policies that are not Azure Policy or GitHub Advanced Security configurations do not exist.
  • Incidents without timelines. Every incident yields a reproducible timeline generated from tools, not memory.

KPIs and impact metrics

MetricBaseline (manual)Target (agentic)Source
Mean time to triage CVE4 days< 4 hours/vuln-triage history
SBOM coverage40 percent100 percent of releasesGitHub Actions
Threat model coverage on arch PRs20 percent100 percent/threat-model runs
Secrets detected at push time12 per month0Push Protection logs
Defender for Cloud high findings > 7 days30< 5Defender for Cloud
Sentinel incidents with automated timeline10 percent100 percentSentinel workbooks
Key Vault credential rotation on time60 percent100 percentEntra ID audit

Maturity in four levels

  • L1 Manual: Advisories tracked in a spreadsheet, no SBOM, threat models at kickoff only.
  • L2 Assisted: Dependabot and Secret Scanning enabled but untriaged; Defender for Cloud dashboards watched ad hoc.
  • L3 Augmented: Threat Triager agent, four slash prompts, scoped instructions, CodeQL custom pack, Sentinel integration.
  • L4 Autonomous: Automated triage with SLA enforcement, signed SBOMs blocking release, threat models attached to every architecture PR, incidents with auto-generated timelines.

Integration with other personas

  • From Software Architect: design diagrams and ADRs feeding /threat-model.
  • To Developer: remediation issues with linked fix drafts.
  • With ML AI Engineer: AI safety configuration, content-safety filters, PII redaction.
  • With SRE: shared Sentinel runbooks and incident response.
  • With Compliance Auditor: SBOMs, threat models, and audit-grade evidence packs.
  • From Data Engineer: Purview classifications driving data-handling controls.
  • With DBA: database access reviews and least-privilege checks.

Glossary

  • SBOM: software bill of materials — signed list of every component in a release.
  • STRIDE: threat modeling taxonomy (Spoofing, Tampering, Repudiation, Information disclosure, Denial of service, Elevation of privilege).
  • Push Protection: GitHub Advanced Security feature blocking secrets from reaching remote branches.
  • Managed identity: Microsoft Entra ID identity used by workloads, eliminating stored credentials.
  • Dependabot: GitHub service that opens PRs for vulnerable dependencies.
  • Sentinel incident: a Microsoft Sentinel case object collecting alerts, entities, and timeline.
  • Compensating control: an alternative mitigation when the preferred fix is not yet feasible.

References

O InfoSec Officer é a persona que mantém software e sistemas de IA defensáveis sob mudança. Em um SDLC AI-nativo, o InfoSec Officer opera um agente Threat Triager, quatro slash prompts e um catálogo validado de MCPs ancorado no GitHub Advanced Security e Microsoft Defender for Cloud — não um backlog de checklists em PDF.

Resumo executivo

O InfoSec Officer é dono da postura de segurança do pipeline de entrega e dos produtos que ele entrega. Em um SDLC AI-nativo, ele opera um agente Threat Triager com quatro slash prompts (/vuln-triage, /sbom-scan, /threat-model, /incident-security), instruções com escopo para caminhos sensíveis à segurança e um catálogo validado de MCPs que alcança GitHub Advanced Security, Dependabot, CodeQL, Secret Scanning, Push Protection, Microsoft Defender for Cloud, Microsoft Sentinel, Microsoft Purview, Entra ID e Azure Key Vault.

As entregas primárias são filas de vulnerabilidades triadas com SLAs, bills of materials de software assinados, modelos de ameaça anexados a cada decisão de arquitetura e respostas a incidentes coordenadas através do Sentinel. O InfoSec Officer transforma segurança de um bloqueador de release em uma camada contínua, quase toda automática, produtora de evidências.

Segurança é uma propriedade do pipeline, não um evento de auditoria. O InfoSec Officer conecta políticas, detecções e remediações às ferramentas do dia a dia para que, quando um PR chega ao merge, a maioria das perguntas já esteja respondida.

Papel e responsabilidades

Pense no InfoSec Officer como o marechal de incêndio de uma cidade. Ele não combate cada incêndio, mas escreve o código de construção, certifica inspeções, conduz simulações e coordena a resposta quando um incêndio real acontece. Em um SDLC AI-nativo, o InfoSec Officer enforça o código e orquestra a resposta através de superfícies do GitHub, Azure e Microsoft 365.

Responsabilidades primárias:

  • Triar alertas de vulnerabilidade do GitHub Advanced Security, Dependabot e Defender for Cloud
  • Manter o SBOM (software bill of materials) por serviço com proveniência assinada
  • Criar modelos de ameaça para cada nova arquitetura; atualizar quando a arquitetura mudar
  • Coordenar resposta a incidentes de segurança através do Microsoft Sentinel e issues do GitHub
  • Enforçar Push Protection, Secret Scanning, CodeQL e políticas do Dependabot em cada repositório
  • Integrar segurança de IA (filtros de conteúdo, redação de PII) com os pipelines do ML AI Engineer
  • Operar o agente Threat Triager e os prompts /vuln-triage, /sbom-scan, /threat-model, /incident-security
  • Gerenciar higiene de identidade e segredos via Microsoft Entra ID e Azure Key Vault

Jobs to be done

  1. Como InfoSec Officer, eu quero cada alerta do Dependabot ou CodeQL triado dentro do SLA, para que janelas de exposição sejam minimizadas.
  2. Como InfoSec Officer, eu quero um SBOM assinado publicado a cada release, para que perguntas sobre supply chain tenham respostas imediatas.
  3. Como InfoSec Officer, eu quero modelos de ameaça anexados a PRs de arquitetura, para que mitigações estejam em vigor antes do código aterrissar.
  4. Como InfoSec Officer, eu quero Push Protection e Secret Scanning habilitados por padrão, para que credenciais nunca alcancem uma branch remota.
  5. Como InfoSec Officer, eu quero achados do Defender for Cloud convertidos em issues do GitHub automaticamente, para que o trabalho de remediação seja visível no mesmo backlog que features.
  6. Como InfoSec Officer, eu quero alertas do Sentinel enriquecidos com contexto de repositório, para que a triagem seja rápida e precisa.
  7. Como InfoSec Officer, eu quero timelines de incidente produzidas automaticamente a partir de chat, commits e alertas, para que revisões pós-incidente sejam baseadas em fatos.
  8. Como InfoSec Officer, eu quero todos os segredos armazenados no Azure Key Vault com managed identity, para que nenhuma credencial de longa duração fique no CI.

Dores antes do AI-nativo

  • Fadiga de alertas. Milhares de alertas do Dependabot e CodeQL sem triagem, então problemas reais se escondem no ruído.
  • SBOMs como PDFs. Bills of materials produzidos uma vez, nunca assinados, nunca consumidos no CI.
  • Modelos de ameaça em um cofre. Modelos de ameaça escritos no kickoff do projeto, nunca revisitados; descrevem um sistema que não existe mais.
  • Caos de incidentes. Incidentes gerenciados em cinco ferramentas; a timeline é recuperada depois entrevistando pessoas.
  • Credenciais no CI. Chaves de API em secrets do GitHub Actions, rotacionadas em feriados, armazenadas em YAML plano por acidente.
  • Políticas como slides. Políticas de segurança existem no SharePoint, não como configuração enforçada.
  • Segurança de IA em silo. Controles de segurança de IA pertencendo a outro time, não integrados na mesma revisão.

Fluxo diário AI-nativo

O InfoSec Officer trabalha a partir do Visual Studio Code e do terminal com Claude Code, orquestrando o Threat Triager e enforçando hooks em cada repositório.

Setup da manhã

  1. Abra os dashboards do Microsoft Defender for Cloud, Microsoft Sentinel e GitHub Advanced Security.
  2. Rode /vuln-triage --since=yesterday para agrupar novos alertas por serviço e severidade.
  3. Revise bypasses de Push Protection e notificações de Secret Scanning da noite anterior.
  4. Verifique logs de acesso do Azure Key Vault para anomalias; confirme que o Conditional Access do Entra ID está saudável.
  5. Poste o resumo de standup de segurança no Microsoft Teams com incidentes abertos e relógios de SLA.

Execução no meio do dia

  1. Para cada PR de arquitetura, invoque /threat-model; o Threat Triager redige achados e mitigações STRIDE, depois abre issues de rastreamento.
  2. Para cada cluster de vulnerabilidade, triar com /vuln-triage: atribuir dono, severidade, janela de correção, controles compensatórios.
  3. Rode /sbom-scan como parte do CI; bloquear release em componentes não assinados ou violando políticas.
  4. Coordene o canal ativo de incidente no Microsoft Teams; /incident-security mantém a timeline atualizada.

Revisão no fim da tarde

  1. Verifique recomendações do Defender for Cloud e registre exceções de Azure Policy quando justificadas.
  2. Revise adições de queries CodeQL e faça merge de queries customizadas aprovadas no pack compartilhado.
  3. Atualize o registro de riscos trimestral no repo; publique o score de postura atualizado no Microsoft Loop.

Primitivas recomendadas

Agente

AgenteArquivoPropósito
threat-triager.github/agents/threat-triager.agent.mdTria vulnerabilidades, roda scans de SBOM, redige modelos de ameaça, coordena incidentes

Slash prompts

ComandoArquivoPropósito
/vuln-triage.github/prompts/vuln-triage.prompt.mdAgrupar alertas, atribuir donos, definir SLA, propor remediações
/sbom-scan.github/prompts/sbom-scan.prompt.mdGerar, assinar e verificar o SBOM para um release
/threat-model.github/prompts/threat-model.prompt.mdRedigir análise STRIDE e tarefas de mitigação em um PR de arquitetura
/incident-security.github/prompts/incident-security.prompt.mdManter timeline de incidente em tempo real a partir do Sentinel, Teams e GitHub

Instruções com escopo

Escopo (applyTo)ArquivoPropósito
.github/workflows/**/*.yml.github/instructions/actions-security.instructions.mdOIDC para Azure, sem segredos de longa duração, actions com SHA fixo
infra/**/*.bicep.github/instructions/infra-security.instructions.mdReferências ao Key Vault, managed identity, isolamento de rede
src/**/auth/**.github/instructions/auth.instructions.mdPadrões do Entra ID, tratamento de tokens, mínimo privilégio
prompts/**/*.prompt.md.github/instructions/ai-safety.instructions.mdGuardrails de segurança de conteúdo e redação de PII

Hooks

  • pre-commit: Secret Scanning, push protection, verificação de política de dependências
  • pre-push: queries rápidas do CodeQL em arquivos alterados
  • post-merge: triagem do Dependabot, atualização de SBOM, sincronização com Defender for Cloud
  • pre-release: gate de assinatura de SBOM e presença de modelo de ameaça
  • on-incident: criar um registro de incidente no Sentinel e fixar o canal do Microsoft Teams

MCPs validados

MCPPropósitoDono
GitHub MCP ServerLer alertas do Advanced Security, Dependabot, CodeQL, gerenciar issues e PRsGitHub
Azure MCP ServerOperar Defender for Cloud, Sentinel, Key Vault, Entra ID, Azure PolicyMicrosoft
Microsoft Learn Docs MCPResolver orientação de segurança atualizada em stacks MicrosoftMicrosoft
Azure DevOps MCP ServerRastrear work items de remediação quando o time usa Azure DevOpsMicrosoft
Playwright MCPValidar fluxos de UX de segurança (SSO, MFA, consentimento) ponta a pontaMicrosoft

Exemplos reais

Exemplo 1: triagem de zero-day em menos de uma hora

Um CVE atinge uma dependência amplamente usada. /vuln-triage identifica 23 repos expostos e mapeia cada um ao seu dono de serviço. O Threat Triager abre issues com PRs de correção já rascunhados pelo Copilot. Em menos de uma hora, 19 PRs estão merged; os 4 restantes recebem controles compensatórios documentados. Defender for Cloud confirma que a exposição foi fechada.

Exemplo 2: modelo de ameaça direciona mudança de design

Um PR de arquitetura propõe um novo endpoint que aceita URLs assinadas. /threat-model sinaliza um risco de replay e sugere um nonce mais expiração curta. O Software Architect atualiza o design antes do merge do PR; as tarefas de mitigação são linkadas e fechadas automaticamente quando a implementação aterrissa.

Exemplo 3: SBOM assinado bloqueia um release

O workflow de release invoca /sbom-scan. O pipeline detecta uma dependência transitiva não assinada e bloqueia o release. O InfoSec Officer confirma que o componente não está sob exploração ativa, registra uma exceção temporária no Azure Policy, e o release prossegue com trilha de auditoria completa.

Anti-padrões

  • Triagem em planilha. Triagem fora do GitHub perde contexto e rastreamento de SLA; fique em issues.
  • Segredos de longa duração. Qualquer segredo com mais de 90 dias é uma responsabilidade; use managed identity e referências ao Key Vault.
  • Modelos de ameaça únicos. Modelos devem evoluir com o sistema; vincule-os a PRs de arquitetura.
  • Ignorar bypasses de Push Protection. Cada bypass é revisado no mesmo dia, não no final do trimestre.
  • Silos de segurança. Segurança de IA pertence ao mesmo pipeline que segurança de aplicação, com os mesmos revisores.
  • Política como PDF. Políticas que não são configurações do Azure Policy ou GitHub Advanced Security não existem.
  • Incidentes sem timelines. Todo incidente produz uma timeline reproduzível gerada a partir de ferramentas, não de memória.

KPIs e métricas de impacto

MétricaLinha base (manual)Meta (agêntico)Fonte
Tempo médio para triar CVE4 dias< 4 horasHistórico de /vuln-triage
Cobertura de SBOM40 por cento100 por cento dos releasesGitHub Actions
Cobertura de modelo de ameaça em PRs de arquitetura20 por cento100 por centoExecuções de /threat-model
Segredos detectados no push12 por mês0Logs de Push Protection
Achados altos do Defender for Cloud > 7 dias30< 5Defender for Cloud
Incidentes do Sentinel com timeline automatizada10 por cento100 por centoWorkbooks do Sentinel
Rotação de credenciais do Key Vault em dia60 por cento100 por centoAuditoria do Entra ID

Maturidade em quatro níveis

  • L1 Manual: Advisories rastreados em planilha, sem SBOM, modelos de ameaça apenas no kickoff.
  • L2 Assistido: Dependabot e Secret Scanning habilitados mas sem triagem; dashboards do Defender for Cloud acompanhados ad hoc.
  • L3 Aumentado: Agente Threat Triager, quatro slash prompts, instruções com escopo, pack customizado do CodeQL, integração com Sentinel.
  • L4 Autônomo: Triagem automatizada com enforcement de SLA, SBOMs assinados bloqueando release, modelos de ameaça anexados a cada PR de arquitetura, incidentes com timelines auto-geradas.

Integração com outras personas

  • Do Software Architect: diagramas de design e ADRs alimentando /threat-model.
  • Para o Developer: issues de remediação com rascunhos de correção linkados.
  • Com o ML AI Engineer: configuração de segurança de IA, filtros de segurança de conteúdo, redação de PII.
  • Com o SRE: runbooks compartilhados do Sentinel e resposta a incidentes.
  • Com o Compliance Auditor: SBOMs, modelos de ameaça e pacotes de evidência de grau auditável.
  • Do Data Engineer: classificações do Purview direcionando controles de tratamento de dados.
  • Com o DBA: revisões de acesso a banco de dados e verificações de mínimo privilégio.

Glossário

  • SBOM: software bill of materials — lista assinada de cada componente em um release.
  • STRIDE: taxonomia de modelagem de ameaças (Spoofing, Tampering, Repudiation, Information disclosure, Denial of service, Elevation of privilege).
  • Push Protection: feature do GitHub Advanced Security que bloqueia segredos de alcançar branches remotas.
  • Managed identity: identidade do Microsoft Entra ID usada por workloads, eliminando credenciais armazenadas.
  • Dependabot: serviço do GitHub que abre PRs para dependências vulneráveis.
  • Incidente do Sentinel: um objeto de caso do Microsoft Sentinel que coleta alertas, entidades e timeline.
  • Controle compensatório: uma mitigação alternativa quando a correção preferida ainda não é viável.

Referências

El InfoSec Officer es la persona que mantiene defensibles el software y los sistemas de IA en el cambio continuo. En un SDLC AI-nativo, el InfoSec Officer opera un agente Threat Triager, cuatro slash prompts, y un catálogo validado de MCPs anclado en GitHub Advanced Security y Microsoft Defender for Cloud — no una lista de verificación PDF.

Resumen ejecutivo

El InfoSec Officer posee la postura de seguridad del pipeline de entrega y los productos que lanza. En un SDLC AI-nativo, opera un agente Threat Triager con cuatro slash prompts (/vuln-triage, /sbom-scan, /threat-model, /incident-security), instrucciones con alcance para rutas sensibles a seguridad, y un catálogo validado de MCPs que alcanza GitHub Advanced Security, Dependabot, CodeQL, Secret Scanning, Push Protection, Microsoft Defender for Cloud, Microsoft Sentinel, Microsoft Purview, Entra ID, y Azure Key Vault.

Los entregables principales son colas de vulnerabilidades triadas con SLAs, facturas de materiales de software firmadas, modelos de amenaza adjuntos a cada decisión de arquitectura, e incidentes respondidos coordinados a través de Sentinel. El InfoSec Officer convierte la seguridad de un bloqueador de lanzamiento en una capa continua, mayormente automática y productora de evidencia.

La seguridad es una propiedad del pipeline, no un evento de auditoría. El InfoSec Officer integra políticas, detecciones y remediaciones en herramientas cotidianas para que en el momento en que una PR llega a merge, la mayoría de preguntas ya tengan respuesta.

Rol y responsabilidades

Piensa en el InfoSec Officer como el inspector de seguridad de una ciudad. No apaga cada fuego, pero redacta el código de construcción, certifica inspecciones, realiza simulacros, y coordina la respuesta cuando ocurre un incendio real. En un SDLC AI-nativo, el InfoSec Officer refuerza el código y orquesta la respuesta a través de superficies GitHub, Azure, y Microsoft 365.

Responsabilidades principales:

  • Triage de alertas de vulnerabilidad desde GitHub Advanced Security, Dependabot, y Defender for Cloud
  • Mantener el SBOM (software bill of materials) por servicio con procedencia firmada
  • Redactar modelos de amenaza para cada nueva arquitectura; actualizar cuando la arquitectura cambia
  • Coordinar la respuesta a incidentes de seguridad a través de Microsoft Sentinel y issues de GitHub
  • Reforzar Push Protection, Secret Scanning, CodeQL, y políticas de Dependabot en cada repositorio
  • Integrar seguridad de IA (filtros de contenido, redacción de PII) con los pipelines del ML AI Engineer
  • Operar el agente Threat Triager y los prompts /vuln-triage, /sbom-scan, /threat-model, /incident-security
  • Gestionar higiene de identidad y secretos a través de Microsoft Entra ID y Azure Key Vault

Jobs to be done

  1. Como InfoSec Officer, quiero que cada alerta de Dependabot o CodeQL sea triada dentro del SLA, para que las ventanas de exposición se minimicen.
  2. Como InfoSec Officer, quiero un SBOM firmado publicado con cada lanzamiento, para que las preguntas sobre supply chain tengan respuestas inmediatas.
  3. Como InfoSec Officer, quiero modelos de amenaza adjuntos a PRs de arquitectura, para que las mitigaciones estén en lugar antes de que el código llegue.
  4. Como InfoSec Officer, quiero Push Protection y Secret Scanning habilitados por defecto, para que las credenciales nunca alcancen una rama remota.
  5. Como InfoSec Officer, quiero que los hallazgos de Defender for Cloud se conviertan automáticamente en issues de GitHub, para que el trabajo de remediación sea visible en el mismo backlog que las features.
  6. Como InfoSec Officer, quiero alertas de Sentinel enriquecidas con contexto de repo, para que el triaje sea rápido y preciso.
  7. Como InfoSec Officer, quiero que las cronologías de incidentes se produzcan automáticamente desde chat, commits, y alertas, para que las revisiones posteriores al incidente se basen en hechos.
  8. Como InfoSec Officer, quiero todos los secretos almacenados en Azure Key Vault con identidad administrada, para que no haya credenciales de larga vida en CI.

Puntos de dolor antes de la era AI-nativa

  • Fatiga de alertas. Miles de alertas de Dependabot y CodeQL sin triaje, por lo que los problemas reales se pierden en el ruido.
  • SBOMs como PDFs. Facturas de materiales producidas una vez, nunca firmadas, nunca consumidas en CI.
  • Modelos de amenaza en una bóveda. Modelos de amenaza redactados en el lanzamiento del proyecto, nunca revisados; describen un sistema que ya no existe.
  • Caos en incidentes. Incidentes gestionados en cinco herramientas; la cronología se recupera luego entrevistando personas.
  • Credenciales en CI. Claves API en secretos de GitHub Actions, rotadas en vacaciones, almacenadas en YAML plano por accidente.
  • Políticas como diapositivas. Las políticas de seguridad existen en SharePoint, no como configuración reforzada.
  • Seguridad de IA aislada. Los controles de seguridad de IA propiedad de un equipo diferente, no integrados en la misma revisión.

Flujo diario AI-nativo

El InfoSec Officer trabaja desde Visual Studio Code y la terminal con Claude Code, orquestando el Threat Triager e imponiendo hooks en cada repositorio.

Setup de la mañana

  1. Abrir dashboards de Microsoft Defender for Cloud, Microsoft Sentinel, y GitHub Advanced Security.
  2. Ejecutar /vuln-triage --since=yesterday para agrupar nuevas alertas por servicio y severidad.
  3. Revisar bypasses de Push Protection y notificaciones de Secret Scanning durante la noche.
  4. Verificar los logs de acceso a Azure Key Vault para anomalías; confirmar que Conditional Access de Entra ID esté saludable.
  5. Publicar el resumen de standup de seguridad en Microsoft Teams con incidentes abiertos y relojes de SLA.

Ejecución al mediodía

  1. Para cada PR de arquitectura, invocar /threat-model; el Threat Triager redacta hallazgos y mitigaciones STRIDE, luego abre issues de seguimiento.
  2. Para cada grupo de vulnerabilidades, triage con /vuln-triage: asignar propietario, severidad, ventana de corrección, controles compensatorios.
  3. Ejecutar /sbom-scan como parte de CI; bloquear lanzamiento en componentes sin firmar o que violen política.
  4. Coordinar el canal de incidente activo en Microsoft Teams; /incident-security mantiene actualizada la cronología.

Revisión al final de la tarde

  1. Verificar recomendaciones de Defender for Cloud y archivar excepciones de Azure Policy donde sea justificado.
  2. Revisar adiciones de consultas CodeQL y fusionar consultas personalizadas aprobadas en el pack compartido.
  3. Actualizar el registro de riesgo trimestral en el repo; publicar la puntuación de postura actualizada a Microsoft Loop.

Primitivas recomendadas

Agente

AgenteArchivoPropósito
threat-triager.github/agents/threat-triager.agent.mdTriages vulnerabilities, runs SBOM scans, drafts threat models, coordinates incidents

Slash prompts

ComandoArchivoPropósito
/vuln-triage.github/prompts/vuln-triage.prompt.mdCluster alerts, assign owners, set SLA, propose remediations
/sbom-scan.github/prompts/sbom-scan.prompt.mdGenerate, sign, and verify the SBOM for a release
/threat-model.github/prompts/threat-model.prompt.mdDraft STRIDE analysis and mitigation tasks on an architecture PR
/incident-security.github/prompts/incident-security.prompt.mdMaintain live incident timeline from Sentinel, Teams, and GitHub

Instrucciones con alcance

Alcance (applyTo)ArchivoPropósito
.github/workflows/**/*.yml.github/instructions/actions-security.instructions.mdOIDC to Azure, no long-lived secrets, pinned SHA actions
infra/**/*.bicep.github/instructions/infra-security.instructions.mdKey Vault references, managed identity, network isolation
src/**/auth/**.github/instructions/auth.instructions.mdEntra ID patterns, token handling, least privilege
prompts/**/*.prompt.md.github/instructions/ai-safety.instructions.mdContent-safety guardrails and PII redaction

Hooks

  • pre-commit: Secret Scanning, push protection, dependency policy check
  • pre-push: CodeQL fast queries on changed files
  • post-merge: Dependabot triage, SBOM refresh, Defender for Cloud sync
  • pre-release: SBOM signature and threat-model presence gate
  • on-incident: create a Sentinel incident record and pin the Microsoft Teams channel

MCPs validados

MCPPropósitoDueño
GitHub MCP ServerRead Advanced Security alerts, Dependabot, CodeQL, manage issues and PRsGitHub
Azure MCP ServerDrive Defender for Cloud, Sentinel, Key Vault, Entra ID, Azure Policy operationsMicrosoft
Microsoft Learn Docs MCPResolve current security guidance across Microsoft stacksMicrosoft
Azure DevOps MCP ServerTrack remediation work items when the team uses Azure DevOpsMicrosoft
Playwright MCPValidate security UX flows (SSO, MFA, consent) end-to-endMicrosoft

Ejemplos reales

Ejemplo 1: triaje de día cero en una hora

Llega un CVE en una dependencia ampliamente utilizada. /vuln-triage identifica 23 repos expuestos y mapea cada uno a su propietario de servicio. El Threat Triager abre issues con PRs de corrección ya redactados por Copilot. Dentro de una hora, 19 PRs están fusionadas; los 4 restantes reciben controles compensatorios documentados. Defender for Cloud confirma que la exposición se cerró.

Ejemplo 2: modelo de amenaza impulsa un cambio de diseño

Una PR de arquitectura propone un nuevo endpoint que acepta URLs firmadas. /threat-model marca un riesgo de replay y sugiere un nonce más expiración corta. El Software Architect actualiza el diseño antes de que la PR se fusione; las tareas de mitigación se vinculan y cierran automáticamente cuando la implementación llega.

Ejemplo 3: SBOM firmado bloquea un lanzamiento

El flujo de lanzamiento invoca /sbom-scan. El pipeline detecta una dependencia transitiva sin firmar y bloquea el lanzamiento. El InfoSec Officer confirma que el componente no está bajo explotación activa, archiva una excepción temporal en Azure Policy, y el lanzamiento procede con pista de auditoría completa.

Anti-patrones

  • Triaje en spreadsheet. El triaje fuera de GitHub pierde contexto y seguimiento de SLA; mantenerse en issues.
  • Secretos de larga vida. Cualquier secreto mayor a 90 días es una responsabilidad; usar identidad administrada y referencias de Key Vault.
  • Modelos de amenaza una sola vez. Los modelos deben evolucionar con el sistema; vincularlos a PRs de arquitectura.
  • Ignorar bypasses de Push Protection. Cada bypass es revisado el mismo día, no al cierre de trimestre.
  • Silos de seguridad. La seguridad de IA pertenece en el mismo pipeline que la seguridad de app, con los mismos revisores.
  • Política como PDF. Las políticas que no son Azure Policy o configuraciones de GitHub Advanced Security no existen.
  • Incidentes sin cronología. Cada incidente produce una cronología reproducible generada desde herramientas, no memoria.

KPIs y métricas de impacto

MétricaBaseline (manual)Objetivo (agéntico)Fuente
Tiempo medio para triage de CVE4 días< 4 horas/vuln-triage history
Cobertura SBOM40 por ciento100 por ciento de lanzamientosGitHub Actions
Cobertura de modelo de amenaza en PRs de arq20 por ciento100 por ciento/threat-model runs
Secretos detectados al momento de push12 por mes0Push Protection logs
Hallazgos altos de Defender for Cloud > 7 días30< 5Defender for Cloud
Incidentes de Sentinel con cronología automática10 por ciento100 por cientoSentinel workbooks
Rotación de credencial de Key Vault a tiempo60 por ciento100 por cientoEntra ID audit

Madurez en cuatro niveles

  • L1 Manual: Avisos rastreados en spreadsheet, no SBOM, modelos de amenaza solo en lanzamiento.
  • L2 Asistido: Dependabot y Secret Scanning habilitados pero sin triage; dashboards de Defender for Cloud observados ad hoc.
  • L3 Aumentado: Agente Threat Triager, cuatro slash prompts, instrucciones con alcance, pack personalizado de CodeQL, integración de Sentinel.
  • L4 Autónomo: Triaje automatizado con refuerzo de SLA, SBOMs firmados bloqueando lanzamiento, modelos de amenaza adjuntos a cada PR de arquitectura, incidentes con cronologías auto-generadas.

Integración con otras personas

  • Del Software Architect: diagramas de diseño y ADRs alimentando /threat-model.
  • Para el Developer: issues de remediación con drafts de corrección vinculados.
  • Con ML AI Engineer: configuración de seguridad de IA, filtros de content-safety, redacción de PII.
  • Con SRE: runbooks de Sentinel compartidos y respuesta a incidentes.
  • Con Compliance Auditor: SBOMs, modelos de amenaza, y paquetes de evidencia de grado de auditoría.
  • Del Data Engineer: clasificaciones de Purview impulsando controles de manejo de datos.
  • Con DBA: revisiones de acceso a base de datos y verificaciones de least privilege.

Glosario

  • SBOM: software bill of materials — lista firmada de cada componente en un lanzamiento.
  • STRIDE: taxonomía de modelado de amenaza (Spoofing, Tampering, Repudiation, Information disclosure, Denial of service, Elevation of privilege).
  • Push Protection: Feature de GitHub Advanced Security que bloquea secretos de llegar a ramas remotas.
  • Managed identity: Identidad de Microsoft Entra ID usada por cargas de trabajo, eliminando credenciales almacenadas.
  • Dependabot: Servicio de GitHub que abre PRs para dependencias vulnerables.
  • Sentinel incident: un objeto de caso de Microsoft Sentinel recopilando alertas, entidades, y cronología.
  • Compensating control: una mitigación alternativa cuando la corrección preferida aún no es viable.

Referencias

Paula Silva | Software Global Black Belt

Start with the platform, not the agents. Comece pela plataforma, não pelos agentes. Comience por la plataforma, no por los agentes.

Building the future of software development with AI and Agentic DevOps.

Knowledge Hub · v3.4.0 · 2026-06-19
paulasilva · 2026-06-19 EN · PT-BR · ES