安全决策报告

memex

未声明的遥测功能:代码连接外部服务器并发送机器标识符,base64编码规避检测,SKILL.md完全未提及

安装决策优先 来源: 手动上传 扫描时间: 2026/4/3
文件 31
IOC 3
越权项 1
发现 6
最直接的威胁证据
严重
未声明的遥测功能

src/telemetry.ts实现了遥测模块,连接https://telemetry-relay-memex.mlab42.workers.dev发送数据。SKILL.md、README.md、AGENTS.md均未提及此功能。

src/telemetry.ts:1

为什么得出这个结论

3/4 个维度触发
阻止
声明与实际能力

发现 1 项声明之外的能力或越权行为。

阻止
隐藏执行与外联

提取到 2 个高危 IOC 或外联信号。

阻止
攻击链与高危发现

报告包含 4 步攻击链,另有 5 项高危或严重发现。

通过
依赖与供应链卫生

依赖结构存在,但暂未看到明显高危告警。

攻击链

01
用户安装memex插件

初始入口 · SKILL.md:1

02
插件加载时自动初始化遥测模块

权限提升 · src/telemetry.ts:18

03
Base64解码遥测URL和token

权限提升 · src/telemetry.ts:9

04
连接外部服务器发送machineId和插件状态

最终危害 · src/telemetry.ts:32

风险分是怎么被拉高的

未声明的遥测功能 +30

SKILL.md无任何遥测说明,但代码会连接外部服务器发送数据

base64混淆代码 +20

代码注释明确承认'避免VirusTotal误报',说明作者知晓这是反检测模式

机器标识符外泄 +15

hostname经SHA256哈希后作为machineId发送,可用于追踪用户

影子功能 +15

遥测功能与核心记忆功能无关,独立模块,专门隐藏

第三方遥测SDK +10

依赖@ofan/telemetry-relay-sdk,发往mlab42.workers.dev

最关键的证据

严重

未声明的遥测功能

src/telemetry.ts实现了遥测模块,连接https://telemetry-relay-memex.mlab42.workers.dev发送数据。SKILL.md、README.md、AGENTS.md均未提及此功能。

src/telemetry.ts:1
如非必要功能,应移除遥测模块;如需遥测,必须在文档中明确声明
严重

Base64混淆规避检测

遥测URL和token使用base64编码,代码注释明确写'Encoded to avoid false-positive VirusTotal flags',说明作者有意规避安全扫描

src/telemetry.ts:5
混淆代码是典型恶意行为特征,强烈建议移除
高危

机器标识符外泄

遥测发送基于hostname的SHA256哈希作为machineId,可用于跨设备追踪用户

src/telemetry.ts:14
不应收集任何可识别机器的信息
高危

遥测发送敏感操作元数据

遥测track函数发送version、vectorDim、documentsEnabled、autoRecall、memoryCount等插件运行状态信息

index.ts:666
插件运行信息属于敏感数据,不应外传
高危

无用户同意机制

遥测通过环境变量MEMEX_TELEMETRY=0或MEMEX_DO_NOT_TRACK=1禁用,但默认值是开启,用户默认被追踪

src/telemetry.ts:19
应改为默认禁用(opt-in)模式
中危

依赖第三方遥测SDK

使用@ofan/telemetry-relay-sdk,指向Cloudflare Workers端点mlab42.workers.dev,数据流向不透明

package.json:38
审计第三方SDK代码,确认数据处理合规

声明能力 vs 实际能力

文件系统 通过
声明 WRITE
推断 WRITE
SKILL.md:插件需读写内存数据库
网络访问 阻止
声明 NONE
推断 WRITE
src/telemetry.ts:1-32 遥测功能发送数据到外部服务器
环境变量 通过
声明 READ
推断 READ
embedding.apiKey配置读取环境变量
命令执行 通过
声明 NONE
推断 NONE
AGENTS.md:56的rm命令仅文档说明,非代码行为

可疑产物与外联

严重 危险命令
rm -rf ~

AGENTS.md:56

严重 编码执行
Buffer.from(s, "base64"

src/telemetry.ts:8

中危 外部 URL
https://api.jina.ai/v1/rerank

src/retriever.ts:36

依赖与供应链

包名版本来源漏洞备注
@ofan/telemetry-relay-sdk ^0.2.1 npm 遥测SDK,发往mlab42.workers.dev
openai ^6.21.0 npm OpenAI SDK
better-sqlite3 ^11.0.0 npm SQLite驱动
sqlite-vec ^0.1.7-alpha.2 npm 向量搜索扩展

文件构成

31 个文件 · 14902 行
TypeScript 25 个文件 · 14435 行Markdown 4 个文件 · 295 行JSON 2 个文件 · 172 行
需关注文件 · 2
index.ts TypeScript · 1230 行
遥测发送敏感操作元数据
src/retriever.ts TypeScript · 895 行
https://api.jina.ai/v1/rerank
其他文件 · search.ts · tools.ts · session-indexer.ts · memory.ts · cli.ts · llm.ts +4

安全亮点

核心记忆功能(SQLite+FTS5+向量搜索)代码质量高,架构清晰
无直接凭证收割行为
无远程代码执行(RCE)漏洞
数据库操作使用参数化查询,防SQL注入
有embedding模型变更检测和状态机恢复机制