Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

gitlab-mr-reviewer

v1.0.1

当需要审核 GitLab 合并请求、检查 MR diff 风险、发布 GitLab 审查评论、执行 approve/request changes,或发送 MR 审查通知时使用。

0· 141·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for whrime/gitlab-mr-reviewer.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "gitlab-mr-reviewer" (whrime/gitlab-mr-reviewer) from ClawHub.
Skill page: https://clawhub.ai/whrime/gitlab-mr-reviewer
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Canonical install target

openclaw skills install whrime/gitlab-mr-reviewer

ClawHub CLI

Package manager switcher

npx clawhub@latest install gitlab-mr-reviewer
Security Scan
Capability signals
CryptoCan make purchasesRequires OAuth tokenRequires sensitive credentials
These labels describe what authority the skill may exercise. They are separate from suspicious or malicious moderation verdicts.
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
Name/description, SKILL.md, and the included scripts (mr_analyzer.py, gitlab_inline_commenter.py, feishu_notifier.py, webhook_listener.py) are coherent: they implement MR checkout, diff analysis, inline comments to GitLab, and optional Feishu notifications. The binaries and endpoints used (git, glab, Python stdlib HTTP calls, GitLab API, Feishu webhook) match the stated purpose.
Instruction Scope
SKILL.md defines preflight checks and a constrained workflow (fetch/checkout, run analyzer, post comments, notify). The scripts perform file system and subprocess operations (git fetch/checkout, glab calls, running the analyzer), start an HTTP webhook listener (if run), and make outbound HTTP requests to GitLab/Feishu endpoints. These behaviors are expected for this skill, but the skill explicitly requires a local REVIEW_REPO_PATH and tokens — the SKILL.md warns not to leak secrets and to prompt the user if config is missing.
Install Mechanism
No install spec is provided (instruction-only install), but multiple Python scripts are bundled with the skill and will be written to disk as part of installation. There are no external downloads in the manifest. This is reasonable but worth noting: code will run locally and invoke subprocesses, so review the shipped scripts before granting permissions.
!
Credentials
The code and SKILL.md require sensitive environment variables (GITLAB_TOKEN, REVIEW_REPO_PATH, GITLAB_HOST, GITLAB_PROJECT_ID, FEISHU_WEBHOOK_URL, optionally GITLAB_WEBHOOK_SECRET), but the skill registry metadata declares no required environment variables or primary credential. That mismatch is a red flag: the skill will need secrets to function, but they are not declared in the metadata for the installer to see or verify.
Persistence & Privilege
The skill does not request 'always: true' or any elevated platform privilege. It can run a webhook listener and spawn background threads/processes when executed, which is expected for a webhook-driven reviewer. There's no evidence it modifies other skills or global configuration.
What to consider before installing
This skill appears to implement a legitimate GitLab MR reviewer, but there are important inconsistencies you should address before installing: - Metadata vs reality: The package metadata lists no required environment variables or primary credential, but the SKILL.md and the scripts clearly need secrets and configuration (GITLAB_TOKEN, REVIEW_REPO_PATH, GITLAB_HOST, GITLAB_PROJECT_ID, FEISHU_WEBHOOK_URL, optional GITLAB_WEBHOOK_SECRET). Treat that as a warning sign — ask the publisher to correct metadata or inspect the code yourself. - Inspect the shipped scripts: The skill will run local git/glab commands, run the analyzer, make HTTP requests to GitLab and Feishu, and can start an HTTP server if you run webhook_listener.py. Review the Python files (they are included) and run them in a sandbox or CI runner first. - Minimize blast radius: If you proceed, run the skill on a dedicated runner or container, provide only the minimal GitLab PAT scope (api) and a Feishu webhook that has limited privileges, and set a webhook secret. Ensure REVIEW_REPO_PATH points to a non-sensitive checkout and avoid running the webhook listener on a public host without proper secret verification. - Logging & output: run_review prints analyzer stdout/stderr (may contain code snippets); be cautious about exposing secrets in logs and verify analyzer output before sending notifications. If the publisher can update registry metadata to declare required env vars and explain expected deployments (local runner vs. hosted), that would raise confidence. If you cannot verify those corrections, do not provide broad credentials or expose this skill to a production environment.

Like a lobster shell, security has layers — review code before you run it.

latestvk97258n5hady9j04gx7k4rfm1185ecqx
141downloads
0stars
2versions
Updated 3d ago
v1.0.1
MIT-0

GitLab MR Reviewer

GitLab MR 审查调度层技能。只定义触发条件、执行顺序、硬规则和失败回退;命令细节与长参考统一放到 references/

适用场景

  • 用户明确提到 GitLab MR 审查,例如:审核 MR #42检查合并请求 42
  • 需要对 MR 发布行内评论、总结评论、approve 或 request changes
  • 需要在审查后发送飞书通知
  • 需要对 MR 做静态分析或 AI 深审(在配置允许时)

不适用场景

  • GitHub PR 审查(非 GitLab)
  • 纯本地代码评审且用户明确不希望与 GitLab 交互
  • 缺少最小配置且用户不希望先做初始化

执行前检查清单(Preflight)

执行前必须确认:

  • 工具可用:gitglabpython
  • 配置齐全:GITLAB_PROJECT_IDREVIEW_REPO_PATHGITLAB_DEFAULT_BASE_BRANCH
  • 主机格式一致:GITLAB_HOST 统一使用主机名(例如 gitlab.example.com,不带协议)
  • 已认证:glab auth status 可通过,或存在有效 GITLAB_TOKEN
  • 当前任务目标明确:仅审查 / 审查并评论 / 审查并通知 / approve

缺少最小配置时,先停下并向用户追问,不得猜测 project id、host、repo path。

核心工作流

  1. 同步仓库:进入 REVIEW_REPO_PATH 并执行 git fetch --all --prune
  2. 切换 MR:优先 glab mr checkout <MR_ID>
  3. 运行分析:执行 scripts/mr_analyzer.py 生成 JSON 结果
  4. 生成结论:根据严重级别与置信度,得出 approverequest_changes
  5. 发布评论:
    • 有有效文件与行号 -> scripts/gitlab_inline_commenter.py
    • 无法定位行号 -> 回退为 MR 总结评论
  6. 需要通知时:执行 scripts/feishu_notifier.py

硬规则

  • 永远先静态分析,再决定是否做 AI 深审
  • 不泄露任何 secret(如 GITLAB_TOKENFEISHU_WEBHOOK_URL
  • confidence < 0.6 不下结论,改为提问式评论
  • 单个问题只评论一次,避免重复刷屏
  • 行号缺失或定位失败时,必须降级为 summary note
  • 大 MR 优先审查高风险文件,不做无边界全量深审

失败回退顺序(必须按顺序)

  1. glab mr checkout 失败 -> 检查 glab version、认证、host
  2. 仍失败 -> 使用 git fetch origin merge-requests/<MR_ID>/head:mr-<MR_ID> + git checkout
  3. mr_analyzer.py 显示无 diff -> 校验 base 分支与当前 HEAD
  4. 行内评论发布失败 -> 回退到 MR 总结评论(Overview)
  5. AI 上下文超限 -> 仅审查 review_order 前 N 个高风险文件
  6. 证据不足 -> 停止断言并向作者提问

输出契约

  • mr_analyzer.py 输出是后续评论/通知的事实来源
  • 至少保证字段:verdictscorefindingsseverity_counts
  • findingsfileline 缺失时,不发送行内评论
  • 审查结论只允许:approverequest_changesblock

最小示例

示例 1:审核 MR

输入:审核 MR #42

动作:preflight -> checkout -> analyzer -> 评论总结 -> 给出结论

示例 2:审核并通知

输入:审核 MR #42 并通知飞书

动作:示例 1 全流程 + feishu_notifier.py

示例 3:通过 MR

输入:通过 MR #42

动作:仅在无阻塞问题时执行 glab mr approve 42;否则改为 request changes 并解释原因

参考文档

  • 配置模板:gitlab-mr-reviewer-context.md
  • GitLab 命令与发布流程:references/gitlab_review_workflow.md
  • 审查清单:references/mr_review_checklist.md
  • AI 审查提示词:references/review_prompts.md

Comments

Loading comments...