Claude Code, Skill
evolab
A²时代的 AI 工作流工具箱 —— Agentic AI × Anything,一个编排者,调度一群专家。
Compatibility: Not stated.
Grade B
Minor issues only, no Medium or High. Worth a quick look at the findings below before installing.
Not a guarantee. A hygiene check of the source at the commit shown, not a security audit.
PERMISSION_DELETE_FILES NETWORK_NO_FIXED_HOST SECRETS_PATH_DOTENV OBFUSCATION_FILE_OVER_READ_CAP
Why this grade
- PERMISSION_DELETE_FILES Low
Contains a call that can delete files.
skills/cto-orchestration/references/doc-lifecycle.py, line 48
r = subprocess.run(("git", "-C", str(cwd)) + args, capture_output=True, text=True) - NETWORK_NO_FIXED_HOST Low
Makes a network call whose host is not written as a fixed address.
skills/cto-orchestration/references/agentctl/cto-guard-bash.py, line 1555
# `&` in a URL (`curl x?a=1&b=2`) IS a real shell background hazard → DENY is correct (quote it). - SECRETS_PATH_DOTENV Low
Mentions a .env file.
skills/repo-governance-bootstrap/SKILL.md, line 60
ACCESS.local.md / .env # gitignored - 元数据+名字+gotcha / 值(KEY=VALUE, 600) - OBFUSCATION_FILE_OVER_READ_CAP Note
A file was over the read cap and was not fully read.
skills/cto-orchestration/references/agentctl/duplexctl.py, line 1
#!/usr/bin/env python3
Any High, or two or more Medium findings, give D. One Medium gives C. Low findings or a security Note give B. Each code names a finding behind the letter.
Grades are a hygiene check of the source at the commit shown, on the date checked, not a security audit or a guarantee. The free directory grades are automated. Before release, a PlugVet engineer reviews every paid report and any grade we hold back, including all F grades, against the source code and the evidence we quote.
What was checked
Plain notes from the hygiene checks.
Permissions
Concern
can delete files.
PERMISSION_DELETE_FILES
skills/cto-orchestration/references/doc-lifecycle.py, line 48
r = subprocess.run(("git", "-C", str(cwd)) + args, capture_output=True, text=True)
skills/cto-orchestration/references/goal-preflight.py, line 418
with subprocess.Popen(command, shell=True, cwd=cwd, text=True,
skills/cto-orchestration/references/agentctl/cto-guard-agent.py, line 95
proc = subprocess.run(["git"] + args, capture_output=True, text=True,
Show more
skills/cto-orchestration/references/agentctl/cto-guard-bash.py, line 81
proc = subprocess.run(["git", "-C", repo, "worktree", "list", "--porcelain"],
skills/cto-orchestration/references/agentctl/cto-guard-bash.py, line 449
proc = subprocess.run(["git", "-C", repo, "status", "--porcelain"],
skills/cto-orchestration/references/agentctl/cto-guard-bash.py, line 817
proc = subprocess.run(["git", "-C", path, "rev-parse", "--is-inside-work-tree"],
skills/cto-orchestration/references/agentctl/cto-guard-bash.py, line 929
proc = subprocess.run(["git", "-C", repo, "worktree", "list", "--porcelain"],
skills/cto-orchestration/references/agentctl/cto-guard-bash.py, line 2003
os.remove(marker)
skills/cto-orchestration/references/agentctl/cto-guard-bash.py, line 2490
os.remove(marker)
skills/cto-orchestration/references/agentctl/cto-guard-edit.py, line 154
proc = subprocess.run(["git", "-C", path, "rev-parse", "--show-toplevel"],
Install and update
Pass
No install-time script found, and dependencies are pinned or absent.
Network
Concern
can reach a host that is not written as a fixed address.
NETWORK_NO_FIXED_HOST
skills/cto-orchestration/references/agentctl/cto-guard-bash.py, line 1555
# `&` in a URL (`curl x?a=1&b=2`) IS a real shell background hazard → DENY is correct (quote it).
Secrets
Concern
reads a credential or environment file.
SECRETS_PATH_DOTENV
skills/repo-governance-bootstrap/SKILL.md, line 60
ACCESS.local.md / .env # gitignored - 元数据+名字+gotcha / 值(KEY=VALUE, 600)
skills/repo-governance-bootstrap/references/templates.md, line 208
- - **桥接** = `<如启动时 Y="$X" 进程 env 覆盖 .env;或 vault→Y 注入>`。
.gitignore, line 19
ACCESS.local.*
Show more
skills/agent-backend-standard/references/secrets-discipline.md, line 20
key:value 行,凭证直进 transcript)。**命名刻意不入 `.env` 家族**:dotenv 生态会
skills/agent-backend-standard/references/secrets-discipline.md, line 21
自动加载 `.env*` 进每个 dev 进程(与"值只在显式 source 时进子进程"相悖),且
skills/agent-backend-standard/references/secrets-discipline.md, line 22
`ACCESS.local.md↔.env` 同词干让分离结构写在文件名上;gitignore 仍同时盖 `.env*` 作生态兜底。
skills/repo-governance-bootstrap/SKILL.md, line 129
9. **生成 `ACCESS.local.md` + 值文件孪生 `ACCESS.local.env` 并写进 `.gitignore`**:按 `references/templates.md` 的 ACCESS.local 模板建三段式骨架(值/元数据物理分离:`.md` 只留元数据+秘密名字+gotcha,值进纯 KEY=VALUE 的 `.env`
skills/repo-governance-bootstrap/references/templates.md, line 188
> 命名刻意不入 `.env` 家族(防 dotenv 生态自动加载;同词干配对自明),
Agent instructions
Pass
No instruction to ignore earlier instructions or to hide a step.
Obfuscation
Note
a file was over the read cap and was not fully read.
OBFUSCATION_FILE_OVER_READ_CAP
skills/cto-orchestration/references/agentctl/duplexctl.py, line 1
#!/usr/bin/env python3
Licence
Pass
A licence file is present (LICENSE).
Maintainer activity
Pass
The latest commit is within the last 365 days.
Note
Hygiene check of commit 693233c5c3ea. can delete files. can reach a host that is not written as a fixed address. reads a credential or environment file. a file was over the read cap and was not fully read.
Date and source
Date checked:
github.com
Commit graded: 693233c5c3ea42da4845b3e913ed8ba6bda4f781
This link goes to the original host. PlugVet does not host or check what you download from there, and installing it is your own decision and risk.