Skill Trust Decision

semanticfs

该技能为语义搜索工具,但其安装过程使用了高危的 curl|bash 远程脚本执行模式,且未声明 shell 和 network:WRITE 权限,存在明显的供应链风险和权限越权。

Install decision first Source: Manual upload Scanned: Apr 5, 2026
Files 1
Artifacts 1
Violations 2
Findings 4
Most direct threat evidence
Critical Supply Chain
curl|bash 远程脚本执行(最高危模式)

SKILL.md 第 40 行引导用户执行 curl -sSfL https://raw.githubusercontent.com/Navneeth08k/semanticFS/main/scripts/install.sh | bash。该模式直接从互联网下载脚本并通过 bash 执行,是经典的供应链攻击向量。若 GitHub 仓库被入侵、域名劫持或 CDN 被污染,AI Agent 将无差别执行恶意代码。无 hash 校验、无版本锁定、无签名验证。

SKILL.md:40

Why this conclusion was reached

3/4 dimensions flagged
Block
Declared vs actual capability

2 undeclared or violating capabilities were inferred.

Block
Hidden execution and egress

1 high-risk artifacts or egress signals were extracted.

Block
Attack chain and severe findings

The report includes 3 attack-chain steps and 3 severe findings.

Review
Dependencies and supply chain hygiene

Dependency information is incomplete, so supply-chain confidence stays limited.

Attack Chain

01
AI Agent 读取 SKILL.md,识别为语义搜索工具(read-only)

Entry · SKILL.md:1

02
根据文档执行 curl|bash 安装命令,从 GitHub 下载并执行 install.sh

Escalation · SKILL.md:40

03
install.sh 被篡改或仓库被入侵,植入恶意 payload(如持久化后门、SSH 密钥收割)

Impact · SKILL.md:40

What drove the risk score up

curl|bash 远程脚本执行(Supply Chain Attack 向量) +30

SKILL.md:40 指导用户执行 curl -sSfL https://raw.githubusercontent.com/Navneeth08k/semanticFS/main/scripts/install.sh | bash,无 hash 校验,无版本锁定,完全依赖 GitHub 仓库完整性

未声明 shell:WRITE 权限 +10

文档未声明需要 shell 执行能力,但安装命令通过 bash 管道执行任意远程脚本

未声明 network:WRITE 权限 +10

文档未声明网络访问,但实际从外部 URL 下载并执行代码

无二进制来源校验 +5

install.sh 可能下载预编译二进制,无法验证其完整性和来源(可信度未知)

Most important evidence

Critical Supply Chain

curl|bash 远程脚本执行(最高危模式)

SKILL.md 第 40 行引导用户执行 curl -sSfL https://raw.githubusercontent.com/Navneeth08k/semanticFS/main/scripts/install.sh | bash。该模式直接从互联网下载脚本并通过 bash 执行,是经典的供应链攻击向量。若 GitHub 仓库被入侵、域名劫持或 CDN 被污染,AI Agent 将无差别执行恶意代码。无 hash 校验、无版本锁定、无签名验证。

SKILL.md:40
替换为包管理器安装(pip install semanticfs==x.x.x)或预编译二进制校验下载(如 sha256sum + GPG 签名),并在 SKILL.md 中声明 network:WRITE 和 shell:WRITE 权限。
High Priv Escalation

未声明 shell:WRITE 权限越权

该技能文档声明为 read-only(文件系统),但安装过程需要通过 bash 管道执行远程脚本。shell:WRITE 权限完全未在 metadata.requires 中声明,违反了最小权限原则。

SKILL.md:40
在 metadata.requires.bins 中补充声明所需工具和权限,或将安装步骤从 AI Agent 执行流程中移除,改为预安装前提条件。
High Priv Escalation

未声明 network:WRITE 权限越权

该技能文档未声明任何网络写入(发送)能力,但实际从外部 GitHub URL 下载并执行代码,属于 network:WRITE 操作。

SKILL.md:40
在文档中明确声明需要 network:WRITE 权限(从外部 URL 下载内容),并说明下载内容的来源和用途。
Medium Supply Chain

install.sh 脚本内容不可审计

install.sh 存放在第三方 GitHub 仓库中,AI Agent 在执行前无法审查其内容。该脚本可能执行以下危险操作:写入计划任务(持久化)、修改 ~/.bashrc、安装后门二进制、收集系统信息等。

SKILL.md:40
要求 install.sh 内容可被 AI Agent 读取审查,或使用 pip/npm 等有审计机制的包管理器分发。

Declared capability vs actual capability

Filesystem Pass
Declared READ
→
Inferred READ
SKILL.md:17-18 明确说明 SemanticFS 是 read-only,永不修改文件
Network Block
Declared READ
→
Inferred WRITE
SKILL.md:40 curl -sSfL https://... | bash — 从外部 URL 下载并执行代码,属于 network:WRITE
Shell Block
Declared NONE
→
Inferred WRITE
SKILL.md:40 使用 | bash 管道执行远程脚本,属于 shell:WRITE,且 SKILL.md 未声明
Environment Pass
Declared NONE
→
Inferred NONE
无相关代码
Skill Invoke Pass
Declared NONE
→
Inferred NONE
无相关代码
Clipboard Pass
Declared NONE
→
Inferred NONE
无相关代码
Browser Pass
Declared NONE
→
Inferred NONE
无相关代码
Database Pass
Declared NONE
→
Inferred NONE
无相关代码

Suspicious artifacts and egress

Critical Dangerous Command
curl -sSfL https://raw.githubusercontent.com/Navneeth08k/semanticFS/main/scripts/install.sh | bash

SKILL.md:40

Dependencies and supply chain

There are no structured dependency warnings.

File composition

1 files · 131 lines
Markdown 1 files · 131 lines
Files of concern · 1
SKILL.md Markdown · 131 lines
curl|bash 远程脚本执行(最高危模式) · 未声明 shell:WRITE 权限越权 · 未声明 network:WRITE 权限越权 · install.sh 脚本内容不可审计 · curl -sSfL https://raw.githubusercontent.com/Navneeth08k/semanticFS/main/scripts/install.sh | bash

Security positives

声明了 read-only 性质,不修改本地文件(文件系统部分合规)
文档结构清晰,功能边界描述准确(除安装部分外)
guardrails 明确标注只搜索已索引目录,降低误操作风险
无本地脚本文件,避免了阴影功能风险
本地搜索通过 localhost API 实现,不直接访问文件系统,减小了暴露面