Security Review Flow
A manually initiated GitLab Duo Agent Platform foundational flow, in beta, that reviews a merge-request diff and its surrounding context for business-logic and authorization vulnerabilities. GitLab documents that it posts findings into the merge request as threaded diff comments with a CWE classification, severity rating, tier and explanation, can provide an inline suggested fix, replies within finding discussions when mentioned, and sets its own reviewer state, never setting Approve. Reviews are requested by assigning a dedicated Duo Security Review service account as a reviewer.
Recorded characteristics
- Function
- GitLab documents Security Review Flow as a GitLab Duo Agent Platform foundational flow that detects business-logic vulnerabilities in merge requests. GitLab states that, unlike static analysis tools that scan for known patterns, the flow reasons about the intent of the code and identifies vulnerabilities that emerge from incorrect assumptions about authorization, data exposure and control flow. When a review is requested, the flow analyses the merge-request diff and its surrounding context. Five security-analysis categories are documented: access-control review, identifying missing or misconfigured authorization checks on state-changing operations; authorization-gap detection, surfacing broken object-level and function-level authorization issues; business-logic analysis, detecting flaws in application workflows that could be exploited, such as race conditions in financial or stateful operations; information disclosure, identifying code paths that can leak sensitive data to unauthorized callers; and mass-assignment risk, flagging endpoints or models that can expose unintended fields to user input. These five categories are the documented scope and are not treated here as exhaustive vulnerability coverage. Findings are posted as threaded diff comments, each carrying a CWE classification, a severity rating, an explanation and, where possible, an inline suggested fix that can be applied with one action. The documented CWE identifiers are CWE-639 (broken object-level authorization / IDOR), CWE-862 (missing authorization), CWE-284 (improper access control), CWE-200 (exposure of sensitive information), CWE-840 (business-logic errors), CWE-915 (mass assignment) and CWE-362 (race conditions / time-of-check to time-of-use). Findings also carry a tier classification: Tier 1 (Exploitable), Tier 2 (Logic Flaw) or Tier 3 (Design Issue). When a user mentions the flow in a thread, GitLab documents that it reads the thread context and replies directly, without performing a full re-review. When the flow is reassigned as a reviewer it performs another review: it confirms fixes and resolves the corresponding thread, identifies additional required changes where a fix is incorrect or incomplete, leaves unaddressed findings open without comment, and creates new threads for new findings. This record covers the Security Review Flow only. Software Development Flow, Code Review Flow, the non-agentic GitLab Duo Code Review, SAST, GitLab Advanced SAST, agentic SAST vulnerability resolution, SAST false-positive detection, GitLab Duo Agentic Chat and generic GitLab Duo Agent Platform functionality are separate documented mechanisms and their behaviours are not attributed to this record.
- Data access
- The documented data accessed is the merge-request diff and its surrounding code context within the project under review, together with the merge-request discussion threads the flow reads when replying to a mention or performing another review. GitLab documents a bounded search and read budget for the analysis, so very large files or diffs might not be fully reviewed. Access is exercised through the dedicated Duo Security Review service account associated with the top-level group rather than through the initiating user's own identity, and no broader data access beyond the merge request and its project context is established for this flow.
- Actions
- Can take actions
- External actions
- No
- Human confirmation
- Conditional
- Permission basis
- Dedicated agent identity
- Administrative control
- Documented controls. Enablement is layered: GitLab Duo must be turned on, with GitLab Duo Core where no Pro or Enterprise add-on is present; the GitLab Duo Agent Platform must be turned on for the top-level group in GitLab 18.8 and later, or beta and experimental features turned on in GitLab 18.7 and earlier; flow execution must be allowed; foundational flows must be allowed; and Security Review must be turned on individually for the top-level group. GitLab documents these settings under the group's GitLab Duo configuration, with equivalent instance, group and project configuration for GitLab Self-Managed. Role requirements are documented: the Owner role for the top-level group configuration, the Maintainer or Owner role for project-level configuration, and the Developer, Maintainer or Owner role to request a review. Turning the flow on provisions the dedicated Duo Security Review service account for the top-level group. Model selection is a documented control, restricted for this flow to a specific supported set. GitLab Credits consumption is a documented commercial control. Controls documented for unrelated GitLab AI features are not attributed to this flow.
- Default state
- Conditional
- Availability
- GitLab documents Security Review Flow as beta, introduced in GitLab 19.1, on the Ultimate tier, with the offerings GitLab.com, GitLab Self-Managed and GitLab Dedicated. General availability is not documented. Prerequisites include the Developer, Maintainer or Owner role; foundational flows and Security Review turned on for the top-level group; GitLab Duo turned on, with GitLab Duo Core where no Pro or Enterprise add-on applies; instance configuration for GitLab Self-Managed; and the Agent Platform turned on for the top-level group in GitLab 18.8 and later, or beta and experimental features in GitLab 18.7 and earlier. During beta, reviews are always started manually.
- Licensing
- GitLab documents that Security Review Flow uses GitLab Credits each time it performs a review, and that credit usage scales with diff complexity and the selected model. GitLab publishes approximate examples for small, standard and large reviews; those figures are illustrative estimates in GitLab's documentation and are not recorded here as guaranteed costs. The documented tier is Ultimate.
- External model or provider
- GitLab's Agent Platform model documentation records the current default model for Security Review Flow as Claude Sonnet 4.6, and documents that this flow supports selecting Claude Sonnet 4.5 or Claude Sonnet 4.6, with other listed Claude models shown as unsupported for this flow. GitLab states that every GitLab Duo feature uses a default model, that GitLab might update default models to optimise performance, and that model changes come from the GitLab AI Gateway and take effect regardless of the GitLab version unless otherwise noted. Claude Sonnet 4.6 is therefore recorded as the currently documented default and expressly not as a permanently fixed model or provider. Applicability of GitLab Duo Self-Hosted models to this specific flow is not established and is not inherited from other GitLab flows.
- Limitations and uncertainty
- Recorded limitations and uncertainties. 1. Advisory output. GitLab states that Security Review Flow results are AI-generated and are advisory input, not an authoritative or complete security assessment. 2. Findings can include false positives and should be treated as input that needs human judgement, not as a final verdict. 3. The analysis works within a bounded search and read budget, so very large files or diffs might not be fully reviewed. 4. A review that reports no findings is not proof that the merge request is secure. 5. The flow complements but does not replace human security review, or other GitLab security tools such as SAST and GitLab Advanced SAST. 6. Vulnerability-report boundary: GitLab documents that findings are not tracked in the Vulnerability Report and do not count toward merge-request approval policies; these findings are therefore not formal GitLab vulnerability objects. 7. Remediation boundary: the flow generates a suggested fix, but the human applies the suggestion, commits it to another branch, resolves or dismisses findings, and creates issues from findings. GitLab does not document this flow autonomously committing, pushing or merging remediation code, and no such behaviour is attributed to it. 8. The role or permission level granted to the Duo Security Review service account is not publicly established in current documentation, nor is any inheritance of the initiating user's permissions. 9. GitLab documents composite identity generally for foundational flows using service accounts, but its exact application to Security Review Flow is not established and is not recorded here as a specific capability fact. 10. Self-hosted model applicability to this flow is not established. 11. Beta status means documented behaviour, including the manual-only initiation, may change.
Evidence
- Security review flow
Supports: Function · Data access · Actions · External actions · Human confirmation · Permission basis · Admin controls · Default state · Availability · Licensing · Limitations · General · Primary source
Documents that the flow detects business-logic vulnerabilities in merge requests by reasoning about code intent, analyses the merge-request diff and surrounding context, lists the five security-analysis categories, posts threaded diff comments with CWE classification, severity, tier and explanation, provides inline suggested fixes where possible, replies in threads when mentioned, and performs another review when reassigned.
Documents analysis of the merge-request diff and its surrounding context, reading of thread context when mentioned, and a bounded search and read budget.
Documents that the flow posts findings as threaded diff comments and internal notes, replies within discussions, resolves threads when a re-review confirms a fix, and sets its reviewer state: Request changes for critical or high severity, Comment for medium or low and where there are no findings, and never Approve. Applying a suggestion, committing it to another branch, resolving or dismissing findings and creating issues are documented as human actions.
All documented actions occur within GitLab: merge-request comments, internal notes, thread replies and reviewer state.
Documents that a review is started manually by assigning the Duo Security Review service account as a reviewer, that during beta reviews are always started manually, that another review requires reassignment, and that applying or dismissing findings are separate human actions; no per-action approval is documented for the flow's own posting and reviewer-state changes once a review is requested.
Documents that the Duo Security Review service account is created for the top-level group when Security Review Flow is turned on, is available to all projects and subgroups within it, is named per group, and is the identity assigned as reviewer.
Documents prerequisites and enablement: turning on foundational flows and Security Review for the top-level group, turning on GitLab Duo, GitLab Duo Core where applicable, Self-Managed instance configuration, Agent Platform enablement in GitLab 18.8 and later, and role requirements.
Documents the layered prerequisite chain that must be satisfied before the flow can be used, rather than availability by default.
Documents beta status, introduction in GitLab 19.1, the Ultimate tier and the GitLab.com, GitLab Self-Managed and GitLab Dedicated offerings.
Documents that GitLab Credits are used for each review and that credit usage scales with diff complexity and the selected model, with approximate examples.
Documents that results are AI-generated advisory input rather than an authoritative or complete security assessment, that false positives are possible, that a bounded search and read budget means very large files or diffs might not be fully reviewed, that no findings is not proof of security, that the flow complements rather than replaces human review and SAST or Advanced SAST, and that findings are not tracked in the Vulnerability Report and do not count toward merge-request approval policies.
Documents that on public projects findings are posted in the internal note only, with no inline diff comments, so that security details are not publicly exposed. This behaviour is documented for public projects and is not generalised here to private or internal projects.
- Foundational flows
Supports: Admin controls · Permission basis · Default state · Primary source
Documents turning foundational flows on or off, including allowing flow execution, allowing foundational flows and the individual per-flow setting, with group, project and instance configuration and the associated Owner or Maintainer role requirements.
States that foundational flows use a service account to complete tasks.
Shows that foundational flows, including this one, require explicit enablement rather than being on by default.
- GitLab Duo Agent Platform AI models
Supports: External model · Licensing · Primary source
Records Claude Sonnet 4.6 as the default model for Security Review Flow, records the supported selection of Claude Sonnet 4.5 and Claude Sonnet 4.6 for this flow with other listed models unsupported, and states that GitLab might update default models and that changes come from the AI Gateway regardless of the GitLab version.
Documents model selection as a factor affecting credit usage for Agent Platform features.
- Turn GitLab Duo Agent Platform on or off
Supports: Admin controls · Default state · Primary source
Documents turning the GitLab Duo Agent Platform on or off at instance, group and project level, a prerequisite for this flow.
Supports the conditional default state: the Agent Platform must be turned on for the relevant scope before the flow is available.
- GitLab Duo Agent Platform composite identity
Supports: Permission basis · Limitations · Primary source
Provides GitLab's general composite-identity description for Agent Platform service accounts, used here only as context; its exact application to Security Review Flow is not established.
Basis for recording that composite identity is documented generally for foundational flows rather than specifically established for this flow.
- GitLab Duo Agent Platform security threats and mitigations
Supports: Limitations · General · Primary source
GitLab's documentation of security threats and mitigations in agentic systems, supporting the recorded need for human judgement over agent output.
Provides the Agent Platform security context within which this flow operates.
- GitLab Duo Agentic Chat
Supports: Limitations · Primary source
Boundary evidence: Agentic Chat is a separate conversational mechanism, and its session and tool-approval behaviour is not attributed to this flow.
- Code review flow
Supports: General · Primary source
Boundary evidence: Code Review Flow is a separate agentic merge-request code-review flow with its own model and scope, kept distinct from Security Review Flow.
- Software development flow
Supports: General · Primary source
Boundary evidence: Software Development Flow is a separate IDE-local, plan-driven development flow, kept distinct from Security Review Flow.