oia-skill
A legitimate project scaffolding tool with well-documented risks; the curl|sh for Deno and npx execution are declared but inherit standard supply-chain risk from third-party packages.
为什么得出这个结论
1/4 个维度触发声明资源与推断能力基本一致。
提取到 1 个高危 IOC 或外联信号。
没有形成明确的恶意路径。
发现 1 项需要关注的依赖或供应链线索。
风险分是怎么被拉高的
Deno installation via deno.land/install.sh is standard practice but still executes arbitrary remote script — risk is documented in skill-card.md
@oia-ai/oia-fresh@latest fetches and executes third-party npm code without version pinning
SKILL.md documents shell and filesystem access but does not formally declare them as capabilities
最关键的证据
Unpinned npx package execution
The skill uses 'npx -y @oia-ai/oia-fresh@latest init' which resolves to the latest version at execution time. This allows the published package to change content between executions, potentially introducing malicious code without a manifest change.
SKILL.md:35 curl|sh remote script execution
The Deno installation command pipes a script downloaded from deno.land directly into sh. While deno.land is the official source, this pattern is inherently dangerous as it executes arbitrary remote code.
SKILL.md:24 Capability declarations not formally listed
SKILL.md describes the standard flow with concrete shell commands but does not include a formal 'allowed-tools' or 'declared-capabilities' section, making it harder to audit scope programmatically.
SKILL.md:1 声明能力 vs 实际能力
SKILL.md:21 — deno --version; SKILL.md:24 — curl|sh; SKILL.md:27 — npx --version; SKILL.md:35 — npx init; SKILL.md:47 — deno task dev SKILL.md:35 — scaffold writes to user-specified project directory; bin/install.js:27 — copies to .claude/skills/ SKILL.md:39,48 — polls http://127.0.0.1:5173; npm registry for npx fetches 可疑产物与外联
curl -fsSL https://deno.land/install.sh | sh SKILL.md:24
https://deno.land/install.sh SKILL.md:24
http://127.0.0.1: SKILL.md:39
http://127.0.0.1:5173/ SKILL.md:48
https://clawhub.ai/user/pankitgg skill-card.md:9
https://clawhub.ai/pankitgg/skills/oia-skill skill-card.md:39
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| @oia-ai/oia-fresh | latest (unpinned) | npx | 否 | No version pin; resolves to latest at execution time — allows silent content changes |
| node:fs | stdlib | node | 否 | Used only for installing SKILL.md/REAMDE.md to .claude/skills/ |
| node:os | stdlib | node | 否 | Used only for homedir resolution in install script |
文件构成
SKILL.md skill-card.md