Back to skill

Security audit

鲁班 | Luban 打磨工坊

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a coherent skill-improvement workflow, but it tells agents to push commits to a remote repository automatically after validation without a separate push approval gate.

Review this skill carefully before installing. It is suitable only if you are comfortable with an agent inspecting your skill repository, searching the web for comparisons, editing files, committing changes, and potentially pushing to a remote. Require a local policy override that no push, pull request, merge, tag, release, or deployment may happen without explicit approval naming the remote and branch.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
SKILL.md:68
Finding

Automatic Remote Pushes Without Explicit Push Authorization

Content
View full analysis

Vulnerability Details

File Location: SKILL.md:58, SKILL.md:68, and SKILL.md:444
Vulnerability Type: Unauthorized remote repository modification
Risk Level: Medium

Vulnerable Code

SKILL.md:58:

markdown
- **每轮只刨一个面,信任后升级粒度。** 首轮严格单面,建立信任;用户明确批量授权("全做""都修了")后,切换为"单提交单面"——每个提交独立过验证门、提完立刻推送,归因单位从轮降到提交。

SKILL.md:68:

markdown
- **commit 即 push。** 不囤本地提交,每个通过验证的提交立刻推送。

SKILL.md:444:

markdown
6. **merge到默认分支、打tag发版、任何对真实用户可见的部署**——这三个动作每一次都需要明确授权。

These instructions respectively require an immediate push after each validated commit and require explicit authorization for merging, tagging, and deployment, but omit pushing from the protected operations.

Technical Analysis

The Skill treats successful local validation as sufficient authorization to push a commit to a remote repository. However, authorization to edit files or make local commits does not inherently authorize remote publication.

A Git push crosses a local-to-remote trust boundary. It can expose source changes to collaborators, update a shared branch, trigger CI/CD workflows, invoke repository automation, or disclose material accidentally included in a commit. The Skill's separate consent rules recognize this boundary for merges, tags, releases, and deployments, but do not apply the same protection to pushes.

Exploitation is conditional on the executing Agent already having access to valid Git credentials and a writable remote. The Skill does not acquire new credentials or elevate operating-system privileges. Instead, it can cause the Agent to exercise existing repository permissions beyond the scope clearly authorized by the user.

Attack Path

  1. A user supplies a repository and requests that the Skill review or improve it.
  2. The Agent modifies files and validates the resulting change.
  3. The Agent creates a local commit under the Skill's workflow.
  4. The `commit immediately followed by ...[truncated 1349 chars]
Remediation
View remediation

Remediation Suggestions

  1. Separate local commits from remote pushes. Keep validated commits local by default.
  2. After committing, present the user with the commit hash, changed-file list, diff summary, intended remote, and intended branch.
  3. Require explicit imperative authorization before every push, identifying the relevant remote and branch.
  4. Treat pushing, opening a pull request, merging, force-pushing, tagging, releasing, and deploying as separate approval gates.
  5. Never infer push authorization from broad instructions such as “fix everything,” from authorization to edit files, or from authorization to create local commits.
  6. Before requesting push approval, scan staged and committed content for credentials, tokens, private paths, environment files, and unexpected binary or generated files.
  7. Prohibit force-pushes by default and require separate, explicit authorization if they are exceptionally necessary.
  8. Prefer pushing to a newly created, user-approved feature branch rather than directly updating a shared or default branch.
  9. Replace the current policy with wording equivalent to:
markdown
Create validated commits locally and report their hashes and diff summaries. Do not push any commit until the user explicitly authorizes a specific remote and branch. Authorization to edit, commit, fix multiple issues, open a pull request, merge, tag, release, or deploy does not imply authorization for any other remote action.
Vulnerability Patterns
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (4)

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 45)May include surrounding context.

md
- `SKILL.md`、`README.md`

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
65% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · SKILL.md (reported line 479)May include surrounding context.

md
- 不要在没有批量授权时一轮刨多个面;拿到批量授权后也不要把多个面塞进一个提交。
- 不要只信CI状态灯。绿灯下产物可能已经停更多日,必须拉真实产物对账。
- 不要把用户的疑问句当成发布授权。
- 不要用`git reset --hard`当默认回刀方案;如涉及git,优先用可审计的diff或revert思路。
- 不要让刨子和尺子握在同一只手里——同一个视角不能既"改"又"评"。
- 不要因为同行的Skill火,就照搬它的名字、叙事和结构。学手艺,不偷皮。
- 不要凭记忆编造同行。所有同类Skill必须带URL;搜不到就诚实标注"未找到"。

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The skill instructions are written entirely in Chinese and present the persona and outputs as Chinese-language artifacts like 《Skill打磨报告》 and “出师证书”, with no indication that the user can choose another language. That creates a language/locale policy concern because the skill appears to impose a specific language without opt-in.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The trigger guidance is extremely broad and includes generic phrases like improving, optimizing, auditing, or publishing a skill. In an agent ecosystem, such broad matching can cause unintended invocation, leading this skill to activate in contexts where the user wanted a different tool or a narrower review path, which may in turn prompt unnecessary repository inspection, network lookups, or modification suggestions.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.