Modelar as ameaças de um fluxo de desenvolvimento com IA
ConcluídoMapeie os ativos, as fronteiras de confiança e as falhas possíveis. Selecione controlos e testes para um cenário de desenvolvimento específico.
Publicado por TaigaComo escrevemos
Verifique a sua compreensãoUm registo de ameaças contém «risco de IA: elevado» sem mais detalhes. O que deve acrescentar primeiro?Faça o exercício
O que vai aprender
- Desenhar o sistema de desenvolvimento para além da própria aplicação.
- Descrever uma ameaça concreta com um interveniente, uma ação e uma consequência.
- Converter uma ameaça num controlo com um responsável e num passo de verificação.
Escolha um cenário limitado
Comece por um fluxo de trabalho que as pessoas consigam compreender. Por exemplo, um agente lê uma issue, edita um repositório, executa testes e abre um pull request. Inclua os sistemas que tornam possíveis estas ações.
Liste os ativos importantes: código-fonte, informação de clientes, credenciais, artefactos de lançamento e disponibilidade do serviço. Identifique os responsáveis por eles. Depois, identifique as pessoas e os sistemas que podem ler ou alterar cada ativo.
A OWASP recomenda modelar o sistema, identificar ameaças, escolher respostas e validar o resultado. Use o método cedo e atualize-o à medida que o sistema muda. Orientações para modelação de ameaças.
Desenhe as fronteiras de confiança
Para o fluxo fictício de uma issue até ao PR, desenhe estas ligações:
Issue → agent → repository → test runner → artifact store → deployment
Acrescente o fornecedor do modelo e o armazenamento de segredos. Assinale onde o conteúdo vem de uma fonte menos fiável. Assinale onde uma identidade ganha uma nova capacidade, como passar de ler uma issue a escrever ficheiros no repositório.
O diagrama da aplicação, por si só, não mostra todo o risco do desenvolvimento. Uma base de dados de produção pode ser privada enquanto uma tarefa de CI expõe uma credencial. Inclua ambientes temporários e acesso do suporte quando afetarem o cenário.
Escreva um percurso de falha concreto
Evite entradas como «a IA pode não ser segura». Indique um interveniente, uma ação, um ativo afetado e uma consequência. Inclua as condições necessárias para o cenário ocorrer.
| Cenário | Controlo a examinar | Evidência a pedir |
|---|---|---|
| O texto de uma issue desvia o agente para um repositório sem relação com a tarefa | Âmbito do repositório e da ferramenta | Recusa de escrita fora do repositório da tarefa |
| Uma tarefa de teste não fiável lê uma credencial de produção | Identidade da tarefa e isolamento dos segredos | Inspeção do fluxo de trabalho e teste de recusa isolado |
| O deployment usa um artefacto diferente do revisto | Identidade do artefacto e regras de promoção | Digest coincidente nos registos de aprovação e de deployment |
| Uma migração falhada impede a recuperação do serviço | Compatibilidade e procedimento de restauro | Exercício de recuperação com dados fictícios representativos |
Estes são exemplos, não uma lista completa de ameaças. Os seus dados, ferramentas e ambiente operacional determinam os cenários relevantes.
Escolha uma resposta com um responsável
Dê prioridade às consequências e à exposição plausível. Evite apresentar uma pontuação numérica como uma precisão que não tem. Registe a incerteza e as evidências que poderiam alterar a prioridade.
Uma resposta pode remover a capacidade arriscada, reduzir o seu âmbito, acrescentar um controlo ou aceitar um risco residual definido. A aceitação exige um responsável autorizado e uma justificação. Não deve ser uma conclusão do agente sem revisão.
Transforme a resposta escolhida em trabalho com uma condição de aceitação observável. «Melhorar a segurança do agente» é difícil de verificar. «A tarefa de teste não consegue ler o segredo de produção» define um limite que pode ser verificado.
Reveja após alterações relevantes
Um novo conector, percurso até ao modelo, ambiente ou permissão pode alterar o modelo de ameaças. Acrescente estas alterações às condições de revisão. Use também os incidentes e as avaliações falhadas para atualizar os pressupostos.
Experimente o exercício de revisão de riscos para alterar os dados, a autoridade, o público e as condições de recuperação de um cenário. O resultado sugere perguntas. Não substitui um modelo de ameaças específico do sistema nem autoriza o trabalho.
Faça o exercício
Abra o exercício de revisão de riscos. Selecione dados internos, escritas no branch, utilizadores externos e recuperação difícil. Escolha uma das preocupações resultantes. Registe o interveniente, o ponto de entrada, o ativo afetado, a consequência, o controlo, o teste de recusa, o responsável e a condição de revisão.
Descarregar ficha (Markdown)Desmarcar esta opção elimina todo o progresso guardado neste browser.
O progresso fica neste browser. Sem conta nem rastreamento.