GitLab MR Code Review

WarnAudited by ClawScan on May 18, 2026.

Overview

This is a coherent GitLab MR reviewer, but it would run in the background using your GitLab token to comment on all visible open merge requests, and repo-controlled prompt files can influence it.

Before installing, use a dedicated low-privilege GitLab bot token limited to the intended projects, restrict the cron workflow to an allowlist, and consider disabling source-branch custom prompt files. Monitor the cron job and GitLab comments closely, and only use it on repositories where AI processing of code diffs is acceptable.

Findings (5)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

The skill could post unwanted, incorrect, or overly broad review comments across every project the token can access.

Why it was flagged

The worker is told to automatically enumerate open MRs and post GitLab comments/notes without per-action approval or an explicit project allowlist.

Skill content
1. Run: node {baseDir}/scripts/gitlab-api.js list-mrs — get all open MRs ... For each unreviewed MR: ... post-comment ... post-note ... 5. Do not ask for permission — execute directly.
Recommendation

Restrict the worker to explicit projects, add a dry-run or approval option for posting, use rate limits/logging, and avoid broad default processing of all visible MRs.

What this means

An MR author could modify the custom prompt file to steer the autonomous reviewer’s conclusions, comments, or tool use.

Why it was flagged

The worker fetches a prompt/rules file from the MR source branch and the artifacts do not say to treat that content as untrusted or prevent it from overriding reviewer behavior.

Skill content
c. Check for custom rules: node {baseDir}/scripts/gitlab-api.js get-file <project_id> <source_branch> .gitlab-review-prompt.md
Recommendation

Load review rules only from a trusted protected branch or admin-controlled location, and explicitly treat repository content as untrusted data that cannot override system instructions or tool permissions.

What this means

A broadly scoped personal token could let the worker read code diffs and post comments under that identity across many projects.

Why it was flagged

The helper uses the supplied GitLab token for API access and the default MR listing spans all MRs visible to that credential.

Skill content
const headers = { "PRIVATE-TOKEN": GITLAB_TOKEN, "Content-Type": "application/json" }; ... "/merge_requests?state=opened&scope=all&order_by=created_at&sort=asc&per_page=100"
Recommendation

Use a dedicated bot token with minimal scopes and access only to intended projects; protect the .env file and rotate the token if exposed.

What this means

Repository changes may be processed by the AI reviewer and reflected in generated GitLab comments.

Why it was flagged

MR diffs are intentionally loaded into the AI review context. This is core to the skill, but those diffs may contain proprietary code or secrets.

Skill content
Cron (*/2 * * * *) → gitlab-api.js list-mrs → skip reviewed → fetch diff → AI review → post comments/note
Recommendation

Use only on repositories where AI review is allowed, and add policies to avoid exposing secrets or sensitive code details in comments.

What this means

The reviewer can keep running and posting every two minutes after initial setup.

Why it was flagged

The setup creates a recurring background worker. This persistence is disclosed and purpose-aligned, but it continues until disabled and may not deliver local notifications.

Skill content
openclaw cron add ... --cron "*/2 * * * *" ... --session "isolated" ... --no-deliver
Recommendation

Install it only if ongoing automation is intended; monitor with openclaw cron list and disable or remove the cron job when no longer needed.