Input data and information sources
External code, dependencies, tickets and online documentation enter the assistant's context. Source code, test data and logs can contain personal information.
Also known as: AI coding assistant
The assistant suggests code, tests and fixes in the development environment for developers to review and accept themselves.
Understand the use case
A language model reads the open file and additional project context and produces suggestions in the editor or chat. Mercedes-Benz, Germany's Federal Employment Agency and a Dutch archive use such assistants. Security agencies BSI and ANSSI have published a dedicated report.
This page describes a typical system design. Actual data flows and permissions depend on your implementation.
System design and data flows
The assistant reads the open file, additional project context and the developer's request.
External code, dependencies, tickets and online documentation enter the assistant's context. Source code, test data and logs can contain personal information.
A language model uses these to complete code or answer the request.
The language model processes the instruction together with the available code context and produces a suggestion for code, tests or documentation. The development environment presents this suggestion for adoption. Execution, testing and integration into the project involve other tools and the required approvals.
Code, tests, commands or explanations appear as suggestions in the editor.
A generated result is newly worded or created. To assess it, the instruction and context on which it is based must remain identifiable.
Accepted suggestions enter the source code and, with the next release, the software running in production.
The model supplies information for subsequent use. Selection, adoption or a professional decision in the following workflow is a separate step and should not automatically be attributed to the model.
Explore the system design: Select a component to see its task, incoming and outgoing data, and role in the use case. The guided walkthrough explains each phase. Then use Yes, Uncertain and No to represent your specific system variant.
13 review first27 clarify8 baseline threats
The diagram shows the typical architecture. Select a component to see what happens there and adapt its features to your system. Enable “Analysis guidance” to see which threats need reviewing for this architecture. The page's checklist continues to describe the typical case.
None yet. Each change will appear here.
In this system design: 13 to review first, 27 to clarify, 8 baseline threats.
External access: Depends on your system
To clarify
Input: Part of every AI system
Review first
To clarify
Baseline for every AI system
Third-party content: Present
Review first
AI model: Part of every AI system
Review first
Baseline for every AI system
Provider service: Present
Review first
To clarify
Document collection: Depends on your system
To clarify
Memory: Depends on your system
To clarify
Training and feedback: Depends on your system
To clarify
Tools and interfaces: Depends on your system
To clarify
Result: Part of every AI system
Review first
To clarify
Baseline for every AI system
person: Part of every AI system
Review first
Unapproved AI services: Depends on your system
To clarify
Supply chain and technical foundations: 5 baseline threats applying to every AI system
Baseline for every AI system
Executes commands itself, edits files and submits complete changes for review
Generative AI assistant for staff
Helps with general drafting, summarising and research rather than programming
External code, dependencies, tickets and online documentation enter the assistant's context. Source code, test data and logs can contain personal information.
The language model comes from the assistant's provider or another model provider.
Many assistants search the organisation's code repository for relevant context. Some companies fine-tune the model on their own code; most use it unchanged.
In chat, some assistants call search or development environment functions. With a cloud service, code snippets leave the organisation's environment.
Using a provider does not automatically determine where processing takes place. Storage location, subcontractors, deletion periods and use for training must be checked for the specific deployment.
Assess risks and determine measures
Record data, participants, interfaces and permissions. Resolve uncertain characteristics in the model.
Relate review candidates to actual data flows: what could happen, and who would be affected?
Assess impacts and likelihood in the deployment context. The number of review candidates is not a risk score.
Select appropriate controls, assign responsibilities and define effectiveness checks. Document residual risks and approvals.
A total of 48 threats from the threat catalogue may be relevant to this use case.
The assistant suggests a nonexistent library, and attackers have published a malicious package under that exact name. Accepting the suggestion introduces malicious code into the organisation's software.
A crafted file in an external project or a dependency comment contains hidden instructions. The assistant then suggests insecure code or discloses its context.
Suggestions that fit smoothly and compile successfully are easily waved through without thorough review. Vulnerabilities such as missing input validation then enter the code.
Sensitive Information Disclosure
The assistant sends snippets from open files to the provider's service. Any credentials or customer data in them leave the organisation's environment.
Training data or an adopted base model can introduce hidden triggers for misbehaviour.
Listed because of this characteristic
Sleepy Agent (Time/Event-Triggered Hidden Instructions)
An instruction-following model can change behaviour at a particular time or event.
Listed because of this characteristic
Users can override the system's working instructions through their inputs.
Listed because of this characteristic
People requesting generated content may try to bypass intended limits.
Listed because of this characteristic
Carefully crafted queries can reveal system instructions, which must therefore contain no secrets.
Listed because of this characteristic
Complex or high-volume inputs can exhaust model computing resources.
Listed because of this characteristic
Targeted queries can recover some personal or protected training data from the model.
Listed because of this characteristic
Exfiltration from ML Application
Protected data can leak through tools, network connections, storage or insiders.
Listed because of this characteristic
Factual Inconsistencies (Hallucinations)
Generated text can invent facts or distort them during rewriting.
Listed because of this characteristic
Up to 27 further threats may apply, depending on your system design. Nine threats need to be reviewed for every AI system. One of these is particularly important here and is therefore listed above.
Each Yes adds further threats to your checklist, up to 27 in total. If you cannot yet answer a question, include its threats in your review.
How your system is built
How you operate the system
A chat-enabled assistant also answers open-ended questions; basic code completion does not.
If yes, add
Many assistants search the organisation's code repository for relevant context.
If yes, add
If yes, add
If yes, add
In chat, some assistants call search or development environment functions.
If yes, add
Development environments increasingly connect assistants to other tools through the Model Context Protocol (MCP).
If yes, add
Some companies fine-tune the model on their own code; most use it unchanged.
If yes, add
Whether the provider fine-tuned the model on labelled examples usually becomes clear only from its documentation.
If yes, add
Accepted and rejected suggestions may feed into the provider's further development.
If yes, add
If yes, add
These questions arise for almost every AI system.
If yes, add
If yes, add
If yes, add
If yes, add
If yes, add
Some staff use private accounts or unapproved extensions.
If yes, add
Measures for the priority review areas are expanded. Each linked measure explains how to implement it.
Controls for the remaining threats are available on their pages in the threat catalogue.
For every AI system Applies since 2 February 2025.
Depending on use Review trigger since 2 August 2025.
Applies if staff or appointed representatives operate or use AI systems.
Applies since 2 February 2025.
Detailed obligations
Applies if a large language model or another third-party general-purpose model is incorporated into an assistant you provide yourself.
Applies since 2 August 2025.
Detailed obligations
Classify your system with the quick checker All obligations in the obligations compass
Review these threats for every AI system, whatever its purpose.
If any of these features does apply to your system, add the listed threats.
Does the system use a knowledge graph storing concepts and their relationships?
If yes, add
Does the system determine its next steps itself based on earlier results?
The assistant handles individual instructions and does not plan its own sequence of tasks.
If yes, add
Do documents from several customers, departments or permission groups share one search store?
If yes, add
Is the system intended to maximise a specified metric, such as revenue, utilisation or clicks?
If yes, add
BSI and ANSSI, AI Coding Assistants, 4 October 2024
The joint German-French publication describes the opportunities and security risks of coding assistants and recommends safeguards.
GitHub, Mercedes-Benz customer story According to the manufacturer
The provider reports that more than 5,000 Mercedes-Benz developers use GitHub Copilot.
Federal Employment Agency, The agency's current main AI applications, 26 January 2026 According to the deployer
The agency lists Tabnine as a coding assistant for all its IT developers.
Dutch Algorithm Register, GitHub Copilot, Zeeuws Archief
The register lists GitHub Copilot as an operational tool that suggests code during programming.
The study shows that language models invent package names that attackers can register and populate with malicious code.
Updated: 30 September 2026. Review checklist rules version 0.3.2, threat catalogue version 2026.10.24.2. How these pages are structured