dsh-opencode-go-key-broker
github.com/Gdenich/dsh-opencode-go-key-broker
v0.1.1
模型与账号
发起网络请求写入文件
DSH plugin: OpenCode Go API-key pool with quota-driven automatic switching, a Settings tab and a composer quota badge.
该插件尚未翻译,显示作者原文。
deepseek-harnessdshdsh-pluginopencode-goquotaapi-keyscredentialskey-rotation
检测报告
有一定能力。命中了若干能力模式,大多是插件正常工作时会用到的。
2需留意2一般20未命中
高关注需留意一般
能力清单
- 发起网络请求
network需留意5 处命中client.js:36fetch(DIAG, {client.js:301const res = await fetch(SNAPSHOT + (force ? '?force=1' : ''), { headers: { Accept: 'application/json' } })client.js:359const res = await fetch(ACTIVATE, {client.js:612const res = await fetch(SNAPSHOT + (force ? '?force=1' : ''), { headers: { Accept: 'application/json' } })- 看请求发往哪些域名。发往作者自己的后端是常见做法。
- 写入文件
writes-files需留意2 处命中index.js:545await writeFile(diagPath, '')index.js:548await appendFile(diagPath, line)- 看写入位置。写自己的配置目录是正常的,写系统目录不是。
- 接触凭据或密钥
credentials一般49 处命中client.js:11* Добавление/удаление ключа идёт через штатный remote-API credentialsclient.js:81noKeys: 'Пул пуст. Добавь ключи — они лягут в .credentials.yaml как OPENCODE_GO_KEY_<имя>.',client.js:98errApi: 'Нет доступа к credentials API (контекст плагина не передан)',client.js:133noKeys: 'Pool is empty. Add keys — they are stored as OPENCODE_GO_KEY_<name> in .credentials.yaml.',- 看它读取哪些凭据、发往哪里。用于登录自己的服务是正常的。
- 读取文件
reads-files一般2 处命中index.js:156if (existsSync(credPath)) text = readFileSync(credPath, 'utf8')- 读文件是绝大多数插件的正常工作方式,本身不构成顾虑。
逐条扫描明细
| 能力 | 标识 | 关注度 | 命中次数 |
|---|---|---|---|
| 发起网络请求 | network | 需留意 | 5 |
| 写入文件 | writes-files | 需留意 | 2 |
| 接触凭据或密钥 | credentials | 一般 | 49 |
| 读取文件 | reads-files | 一般 | 2 |
这份报告的口径
扫描读的是包里的源码,全程不执行第三方代码。 本次读了 5 个文件,扫描于 2026-10-15。 命中次数只说明源码里出现过这类调用,不说明行为好坏——一个插件读写文件 500 次和 1 次 都会被记为「读取文件」。这是能力清单,不是信任评分,也不是安全结论: 没扫出来的能力可能只是写法没被规则覆盖。
依赖安全公告
已查询这个插件声明的全部依赖,没有匹配到已公开的安全公告。(含 DSH 框架包在内的 @deepseek-ai/* 不作查询——那是运行时自己的问题,不是插件的。)