Scan Report
30 /100
koan-team
Organize AI agents into Koan teams via channelId-based joining and dispatch. Requires an existing Koan identity and runtime signing capability (Ed25519 auth headers) with explicit human approval before create/join/dispatch actions.
合法 AI 协作工具,多 Agent 通过 channelId 编队、签名鉴权通信;核心功能与文档一致,但 Linux/macOS 下私钥明文存储为已知风险,cryptography 依赖无版本锁定存在供应链风险。
Safe to install
生产部署前:1) Linux 系统切换至 OS keychain 或加密保管箱存储私钥;2) 在 requirements.txt 中锁定 cryptography 版本;3) 确认 koanmesh.com 为可信服务地址。
Findings 4 items
| Severity | Finding | Location |
|---|---|---|
| Medium | Linux/macOS 平台私钥明文存储 Credential Theft | node/koan-sdk.mjs:185-187:185 |
| Medium | cryptography 依赖无版本锁定 Supply Chain | python/requirements.txt:1 |
| Low | macOS Keychain 凭证以明文存入 keychain Credential Theft | node/koan-sdk.mjs:56-58:56 |
| Low | 预扫描标记的 Base64 用法为正常加密操作 Obfuscation | node/koan-sdk.mjs:107,132,140,141,202,203,204,205:107 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | WRITE | WRITE | ✓ Aligned | SKILL.md:59-60 文档明确说明将身份持久化至 ~/.koan/identity.json 和 chats/*.jsonl |
| Network | READ | READ | ✓ Aligned | SKILL.md:79-110 文档列出全部 Koan API 端点,代码实现与之一致 |
| Shell | WRITE | WRITE | ✓ Aligned | node/koan-sdk.mjs:26-28,35-43 调用 spawnSync 执行 security/PowerShell 进行 keychain/DP… |
| Environment | NONE | READ | ✓ Aligned | 代码仅读取 process.env/os.environ 用于平台检测和构建 PowerShell 命令,无凭证遍历 |
| Clipboard | NONE | NONE | — | 无剪贴板操作 |
| Browser | NONE | NONE | — | 无浏览器自动化 |
| Database | NONE | NONE | — | 无数据库操作 |
8 Critical 14 findings
Critical Encoded Execution Base64 编码执行(代码混淆)
Buffer.from(recipientPubKeyB64, 'base64' node/koan-sdk.mjs:107 Critical Encoded Execution Base64 编码执行(代码混淆)
Buffer.from(ephemeralPubB64, 'base64' node/koan-sdk.mjs:132 Critical Encoded Execution Base64 编码执行(代码混淆)
Buffer.from(nonceB64, 'base64' node/koan-sdk.mjs:140 Critical Encoded Execution Base64 编码执行(代码混淆)
Buffer.from(ciphertextB64, 'base64' node/koan-sdk.mjs:141 Critical Encoded Execution Base64 编码执行(代码混淆)
Buffer.from(signingPrivateKeyB64, 'base64' node/koan-sdk.mjs:202 Critical Encoded Execution Base64 编码执行(代码混淆)
Buffer.from(data.signingPublicKey, 'base64' node/koan-sdk.mjs:203 Critical Encoded Execution Base64 编码执行(代码混淆)
Buffer.from(encryptionPrivateKeyB64, 'base64' node/koan-sdk.mjs:204 Critical Encoded Execution Base64 编码执行(代码混淆)
Buffer.from(data.encryptionPublicKey, 'base64' node/koan-sdk.mjs:205 Medium External URL 外部 URL
https://koanmesh.com SKILL.md:4 Medium External URL 外部 URL
https://clawhub.ai/cg0xC0DE/koan-protocol SKILL.md:15 Medium External URL 外部 URL
https://koanmesh.com/skill.json SKILL.md:20 Medium External URL 外部 URL
https://koanmesh.com/agents/check-key?signingPublicKey= SKILL.md:89 Medium External URL 外部 URL
https://koanmesh.com/channels SKILL.md:111 Medium External URL 外部 URL
https://koanmesh.com/channels/ SKILL.md:129 File Tree
4 files · 46.6 KB · 1224 lines Python 1f · 530L
JavaScript 1f · 487L
Markdown 1f · 206L
Text 1f · 1L
├─
▾
node
│ └─
koan-sdk.mjs
JavaScript
├─
▾
python
│ ├─
koan_sdk.py
Python
│ └─
requirements.txt
Text
└─
SKILL.md
Markdown
Dependencies 1 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
cryptography | >=42.0.0 | pip | No | 无版本上限锁定,存在供应链风险;42.0.0 以前版本有已知 CVE,建议确认生产环境中版本 >= 42.0.0 |
Security Positives
✓ 代码功能与 SKILL.md 声明高度一致,无阴影功能(shadow functionality)
✓ 多 Agent 团队操作均有 human approval gate,符合最小权限原则
✓ E2E 加密实现完整(X25519 ECDH + AES-256-GCM),密钥派生使用 HKDF-SHA256
✓ 使用 Ed25519 签名进行请求鉴权,签名算法符合 Koan Protocol 规范
✓ Node.js SDK 零外部依赖,仅使用 Node.js 内置模块
✓ 包含身份迁移逻辑(检测到 plaintext 存储时会自动升级至 keychain/DPAPI)
✓ 无任意命令执行、无凭证外传、无反向 shell