扫描报告
55 /100
semanticfs
Semantic search over local filesystem — replace grep/find/ls/cat chains with semantic queries
该技能为语义搜索工具,但其安装过程使用了高危的 curl|bash 远程脚本执行模式,且未声明 shell 和 network:WRITE 权限,存在明显的供应链风险和权限越权。
谨慎使用
必须将安装方式替换为包管理器(pip install semanticfs 或预编译二进制校验下载),并补充声明 shell:WRITE 和 network:WRITE 权限。建议在安装前增加 hash 校验。
攻击链 3 步
◎
入口 AI Agent 读取 SKILL.md,识别为语义搜索工具(read-only)
SKILL.md:1⬡
提权 根据文档执行 curl|bash 安装命令,从 GitHub 下载并执行 install.sh
SKILL.md:40◉
影响 install.sh 被篡改或仓库被入侵,植入恶意 payload(如持久化后门、SSH 密钥收割)
SKILL.md:40安全发现 4 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 严重 | curl|bash 远程脚本执行(最高危模式) 供应链 | SKILL.md:40 |
| 高危 | 未声明 shell:WRITE 权限越权 权限提升 | SKILL.md:40 |
| 高危 | 未声明 network:WRITE 权限越权 权限提升 | SKILL.md:40 |
| 中危 | install.sh 脚本内容不可审计 供应链 | SKILL.md:40 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 文件系统 | READ | READ | ✓ 一致 | SKILL.md:17-18 明确说明 SemanticFS 是 read-only,永不修改文件 |
| 网络访问 | READ | WRITE | ✗ 越权 | SKILL.md:40 curl -sSfL https://... | bash — 从外部 URL 下载并执行代码,属于 network:WRITE |
| 命令执行 | NONE | WRITE | ✗ 越权 | SKILL.md:40 使用 | bash 管道执行远程脚本,属于 shell:WRITE,且 SKILL.md 未声明 |
| 环境变量 | NONE | NONE | — | 无相关代码 |
| 技能调用 | NONE | NONE | — | 无相关代码 |
| 剪贴板 | NONE | NONE | — | 无相关代码 |
| 浏览器 | NONE | NONE | — | 无相关代码 |
| 数据库 | NONE | NONE | — | 无相关代码 |
1 严重 1 项发现
严重 危险命令 危险 Shell 命令
curl -sSfL https://raw.githubusercontent.com/Navneeth08k/semanticFS/main/scripts/install.sh | bash SKILL.md:40 目录结构
1 文件 · 4.0 KB · 131 行 Markdown 1f · 131L
└─
SKILL.md
Markdown
安全亮点
✓ 声明了 read-only 性质,不修改本地文件(文件系统部分合规)
✓ 文档结构清晰,功能边界描述准确(除安装部分外)
✓ guardrails 明确标注只搜索已索引目录,降低误操作风险
✓ 无本地脚本文件,避免了阴影功能风险
✓ 本地搜索通过 localhost API 实现,不直接访问文件系统,减小了暴露面