Path 03Lesson 6 / 6

Threat-model an AI development workflow

Map assets, trust boundaries, and possible failures. Select controls and tests for a specific development scenario.

Advanced11 minReviewed

Published by How we write

What you will learn

  • Draw the development system beyond the application itself.
  • Describe a concrete threat with an actor, action, and consequence.
  • Convert a threat into an owned control and verification step.

Choose a limited scenario

Start with one workflow that people can understand. For example, an agent reads an issue, edits a repository, runs tests, and opens a pull request. Include the systems that make these actions possible.

List the assets that matter: source code, customer information, credentials, release artifacts, and service availability. Identify who owns them. Then identify the people and systems that can read or change each asset.

OWASP recommends modeling the system, identifying threats, choosing responses, and validating the result. Use the method early and update it as the system changes. Threat modeling guidance.

Draw the trust boundaries

For the fictional issue-to-PR workflow, draw these connections:

Issue → agent → repository → test runner → artifact store → deployment

Add the model provider and the secret store. Mark where content comes from a less trusted source. Mark where an identity gains a new capability, such as moving from reading an issue to writing repository files.

The application diagram alone does not show the whole development risk. A production database can be private while a CI job exposes a credential. Include temporary environments and support access when they affect the scenario.

Write a concrete failure path

Avoid entries such as “AI might be unsafe.” Write an actor, an action, an affected asset, and a consequence. Include the conditions needed for the scenario to occur.

ScenarioControl to examineEvidence to request
Issue text redirects the agent to an unrelated repositoryRepository and tool scopeDenied write outside the task repository
An untrusted test job reads a production credentialJob identity and secret isolationWorkflow inspection and isolated denial test
Deployment uses a different artifact from the reviewed oneArtifact identity and promotion rulesMatching digest in approval and deployment records
A failed migration prevents service recoveryCompatibility and restore procedureRecovery exercise with representative fictional data

These are examples, not a complete threat list. Your data, tools, and operating environment determine the relevant scenarios.

Choose a response with an owner

Prioritize consequences and credible exposure. Avoid presenting a numerical score as precision you do not have. Record the uncertainty and the evidence that could change the priority.

A response can remove the risky capability, reduce its scope, add a control, or accept a defined residual risk. Acceptance needs an authorized owner and a reason. It should not be an agent’s unreviewed conclusion.

Turn the chosen response into work with an observable acceptance condition. “Improve agent security” is difficult to verify. “The test job cannot read the production secret” defines a boundary that can be checked.

Review after material changes

A new connector, model route, environment, or permission can change the threat model. Add these changes to the review triggers. Also use incidents and failed evaluations to update assumptions.

Try the risk-review exercise to change a scenario’s data, authority, audience, and recovery conditions. The result suggests questions. It does not replace a system-specific threat model or authorize the work.

Do the exercise

Open the risk-review exercise. Select internal data, branch writes, external users, and difficult recovery. Choose one resulting concern. Write the actor, entry point, affected asset, consequence, control, denial test, owner, and review trigger.

Download worksheet (Markdown)

Check your understanding

A threat register contains “AI risk: high” without further detail. What should you add first?

Sources & further reading

Related reading from Taiga