yunxiao-devops

WarnAudited by ClawScan on May 10, 2026.

Overview

This Yunxiao DevOps skill is purpose-aligned, but it deserves review because it can modify code/devops resources, create local SSH credentials, and run dynamic shell commands.

Install only if you are comfortable granting DevOps automation access. Use least-privileged Yunxiao tokens, review every diff/MR/deployment action before confirming, and check whether the bug-fix flow creates or uses SSH keys and external Claude/Anthropic processing.

Findings (6)

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

A malformed work item value could potentially cause local command execution in the agent environment.

Why it was flagged

The snippet runs a shell command containing a dynamic workitemId. If that value can come from a user or callback and is not strictly validated, shell metacharacters could execute unintended local commands.

Skill content
execSync(`node ${import.meta.dirname}/workitem-card.mjs ${workitemId}`, { stdio: 'inherit' });
Recommendation

Replace shell-string execSync with spawn/execFile argument arrays, and strictly validate work item IDs before use.

What this means

The skill may create or rely on a long-lived SSH credential that can access code repositories.

Why it was flagged

This creates a default SSH private key in the user's home directory with an empty passphrase. That is persistent credential material and is not clearly surfaced in the visible setup instructions.

Skill content
spawnSync('ssh-keygen', ['-t', 'rsa', '-b', '4096', '-f', `${homedir()}/.ssh/id_rsa`, '-N', ''], { stdio: 'pipe' });
Recommendation

Do not auto-create default SSH keys without explicit user approval; let users choose an existing key or create a clearly documented, passphrase-protected, scoped key.

What this means

A user click or callback can change repository state and work item status.

Why it was flagged

The skill explicitly supports pushing code, creating merge requests, merging them, and updating work item state. This is purpose-aligned but high impact.

Skill content
`BUGFIX_CONFIRM_DIFF|workitemId|repoId|fixBranch|workDir` | 确认 diff → 推送 + 创建 MR ... `BUGFIX_CONFIRM_MERGE|workitemId|repoId|mrId` | 确认合并 → 合并 MR + 工作项→已修复
Recommendation

Review diffs, MR targets, and branch names carefully before confirming; use least-privileged Yunxiao tokens.

What this means

The skill can act with the permissions of the configured Yunxiao and Feishu credentials.

Why it was flagged

The skill requires cloud DevOps and optional Feishu credentials. This is expected for the integration, but these credentials can grant broad workspace access depending on token scope.

Skill content
`YUNXIAO_TOKEN` | 云效 Personal Access Token ... `YUNXIAO_ORG_ID` ... `FEISHU_APP_ID` / `FEISHU_APP_SECRET` | 飞书 App 凭证
Recommendation

Use narrowly scoped, non-permanent tokens and rotate them if exposed.

What this means

Bug-fix context or repository content may be processed by an external LLM provider depending on the Claude Code workflow.

Why it was flagged

The bug-fix flow passes Anthropic credentials and provider configuration to a child process, consistent with the SKILL.md reference to Claude Code repair. Users should understand the provider/data boundary.

Skill content
env: { ...process.env, ANTHROPIC_AUTH_TOKEN: process.env.ANTHROPIC_API_KEY, ANTHROPIC_BASE_URL: process.env.ANTHROPIC_BASE_URL || 'https://api.anthropic.com' }
Recommendation

Avoid using this flow on sensitive repositories unless the external provider and data handling are acceptable.

What this means

It is harder to confirm exactly which release is being installed or reviewed.

Why it was flagged

The supplied registry metadata says version 2.5.0, while the packaged _meta.json says 1.0.3. This provenance mismatch is not malicious by itself, but it weakens review clarity.

Skill content
"version": "1.0.3"
Recommendation

Ask the publisher to align package metadata with registry metadata and provide a source/homepage.