Low Risk — Risk Score 15/100
Last scan:8 hr ago Rescan
15 /100
aioz-storage
Deploy static websites to AIOZ Storage with built-in templates or custom sites
AIOZ Storage 静态网站部署技能,功能声明与实现一致,仅存在依赖版本未锁定的轻微供应链瑕疵。
Skill Nameaioz-storage
Duration78.5s
Enginepi
Safe to install
可安全使用。建议在生产环境中将 argon2-browser 依赖锁定至精确版本以降低供应链风险。

Findings 2 items

Severity Finding Location
Low
依赖版本未锁定 Supply Chain
package.json 中 argon2-browser 使用 ^1.18.0 版本范围,允许 npm install 安装任意兼容版本,存在供应链风险。
"argon2-browser": "^1.18.0"
→ 建议改为精确版本(如 "argon2-browser": "1.18.0")并配合 package-lock.json 共同确保可复现构建
package.json:12
Info
Base64 工具函数误报 Obfuscation
预扫描将密码学工具函数 b64Encode/b64Decode 中的 Buffer.from 用法标记为'Base64编码执行(代码混淆)',属误报。这些是标准 base64 编解码,用于 macaroon 凭证序列化,无执行行为。
function b64Encode(buf: Uint8Array): string { return Buffer.from(buf).toString('base64'); }
→ 忽略此告警。需注意预扫描工具对 Base64 用法的静态检测存在假阳性
grant-cli.ts:217
ResourceDeclaredInferredStatusEvidence
Network READ READ ✓ Aligned grant-cli.ts:1-646 — 仅通过 fetch 调用 AIOZ Storage API,无其他网络行为
Filesystem READ READ ✓ Aligned grant-cli.ts:36 — 仅读取 node_modules/argon2.wasm 和用户指定的 config 文件
Shell WRITE WRITE ✓ Aligned SKILL.md:1-343 — 通过 npx ts-node 和 curl 调用执行命令,全部在文档中声明
Environment NONE NONE grant-cli.ts:1-646 — 无环境变量遍历或凭证收割行为
2 Critical 10 findings
🔒
Critical Encoded Execution Base64 编码执行(代码混淆)
Buffer.from(s, "base64"
grant-cli.ts:217
🔒
Critical Encoded Execution Base64 编码执行(代码混淆)
Buffer.from(str, "base64"
grant-cli.ts:225
🔗
Medium External URL 外部 URL
https://api.aiozstorage.network/api/v1/login
SKILL.md:31
🔗
Medium External URL 外部 URL
https://aiozstorage.network
SKILL.md:34
🔗
Medium External URL 外部 URL
https://aiozstorage.network/
SKILL.md:35
🔗
Medium External URL 外部 URL
https://aiozstorage.network/docs/tutorials/manage-buckets
SKILL.md:154
🔗
Medium External URL 外部 URL
https://api.aiozstorage.network/api/v1/zkeys
SKILL.md:159
🔗
Medium External URL 外部 URL
https://reg-api.aiozstorage.network/api/v1/access
SKILL.md:256
🔗
Medium External URL 外部 URL
https://s3.aiozstorage.network
SKILL.md:269
🔗
Medium External URL 外部 URL
https://api.aiozstorage.app/api/v1/websites
SKILL.md:291

File Tree

4 files · 46.6 KB · 1249 lines
TypeScript 1f · 646L Markdown 1f · 343L JSON 2f · 260L
├─ 📜 grant-cli.ts TypeScript 646L · 22.9 KB
├─ 📋 package-lock.json JSON 245L · 10.2 KB
├─ 📋 package.json JSON 15L · 382 B
└─ 📝 SKILL.md Markdown 343L · 13.2 KB

Dependencies 3 items

PackageVersionSourceKnown VulnsNotes
argon2-browser ^1.18.0 npm No 无精确版本锁定,存在轻微供应链风险
ts-node ^10.9.2 npm No devDependencies,仅本地执行
typescript ^5.3.3 npm No devDependencies,仅本地编译

Security Positives

✓ SKILL.md 文档完整、清晰,详细描述了 10 步部署流程与所有 API 调用
✓ 所有 shell 命令(npx ts-node、curl、git clone、cp、aws s3 sync)均在 SKILL.md 中声明
✓ 代码仅做密码学凭证生成(SHA256/512、AES-GCM、Argon2、Macaroon V2),无越权操作
✓ 无环境变量遍历、无凭证收割、无敏感路径访问(~/.ssh、~/.aws、.env)
✓ 无 eval、exec、spawn 等动态代码执行
✓ 所有网络请求指向 AIOZ Storage 官方域名(aiozstorage.network / aiozstorage.app)
✓ 网络请求均携带必要的认证头(Bearer token)和 Origin/Referer 防 CSRF
✓ 无 HTML 注释隐藏指令、无提示词注入痕迹
✓ grant-cli.ts 代码结构良好,有完整的参数解析、错误处理和 JSON 输出支持