Skip to main content
Oplane integrates with both GitHub and GitLab to automatically run threat modeling on pull requests and merge requests. Get security feedback directly in your review workflow before you merge.

Setup

Connect your repository through a repo-connected workspace:
  • Connect GitHub — install the Oplane GitHub App and link your repositories
  • Connect GitLab — sign in with GitLab and select your projects

How it works

When you open or update a PR or MR, Oplane analyses the diff, creates a threat model scoped to the changes, and posts the requirements in a single Oplane Security Review summary comment on the PR/MR.

Automatic analysis

Oplane reads the diff, identifies architectural and security-relevant changes, and generates security requirements specific to what changed. All findings appear in one summary comment that lists each requirement with its status and severity, and links to the generated threat model. Oplane updates the comment as requirements are resolved, so it always reflects the current review state. See Comment structure for what the comment contains.

Review modes

You can configure how Oplane reviews your PRs/MRs per workspace:
  • Analyse every PR/MR — Oplane runs automatically on every new pull request or merge request. Best for projects with active development.
  • On request — Mention oplane review, @oplane review, oplane run, or @oplane run in a comment on any PR or MR to trigger a review when you need it.
  • Disabled — No automatic reviews for this workspace.

Check failure threshold

By default, the Oplane Security Review check reports Neutral when unresolved requirements exist. GitHub branch protection and GitLab merge-request approvals treat Neutral as passing, so the check surfaces findings without blocking a merge. Turn on Block merges on unresolved findings per repository to have the check report Fail whenever an unresolved requirement sits at or above a severity you choose. Combined with your CI pipeline’s branch protection rules, this acts as a merge gate to prevent unresolved requirements from slipping through.

Configure the failure threshold

  1. Open the workspace connected to the repository.
  2. Go to workspace settings and find the linked repository. Make sure PR/MR analysis is enabled. The merge-gate setting only appears while analysis is on.
  3. Turn on the Block merges on unresolved findings switch.
  4. Pick a severity on the slider. The slider runs from Low to Critical and starts at Low the first time you enable the switch: Info requirements are advisory and never cause the check to fail, even at the Low setting.
Turning the switch off returns the check to Neutral for unresolved findings. Oplane remembers your last severity, so turning the switch back on restores it. Repositories that previously used the removed Any severity option display as Low. Both block the same findings because Info never blocks.

Use as a merge gate

Oplane does not modify your branch protection. You control which branches enforce the check by marking it as required in your Git provider:
  • GitHub — Open the repository’s Settings → Branches → Branch protection rules (or Settings → Rules → Rulesets), edit the rule for the target branch, and add Oplane Security Review under Require status checks to pass before merging. Once you have finished editing the rule, set the Enforcement Status to Active.
  • GitLab — Open the project’s Settings → Merge requests and require the Oplane Security Review status check under Merge checks, or add it as a required approval rule.
Once the check is required, GitHub or GitLab blocks the merge whenever Oplane reports Fail.

Clear a failing check without a new push

Resolving a requirement in Oplane re-posts the Oplane Security Review check on the same commit SHA that Oplane reviewed. You do not need to push a new commit to clear a failing check. Both of the following trigger a refresh:
  • Marking a requirement as resolved, out of scope, or accepted risk in the Oplane dashboard.
  • Calling the MCP update_implementation_state tool from your coding agent.
If the newly resolved state brings every unresolved requirement below the threshold, the check flips from Fail to Neutral or Pass.

Shared repositories

When multiple workspaces subscribe to the same repository, Oplane posts a single Oplane Security Review check per commit. The strictest failure threshold across those workspaces wins for that repository and commit. For example, if one workspace has merge blocking turned off and another set to High, unresolved High or Critical requirements cause the check to fail.