Universal collaboration protocol + CLI for multi-agent LLM teams — Claude Code, Reasonix, Codex, WorkBuddy, Cursor
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · http counts 16 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
collab_badge_issue
-
collab_conflict_create
-
collab_conflict_list
-
collab_handshake
-
collab_inbox_check
-
collab_inbox_read
-
collab_inbox_send
-
collab_memory_compact
-
collab_memory_stats
-
collab_memory_write
-
collab_peer_list
-
collab_shard_update
-
collab_status
-
collab_task_create
-
collab_task_list
-
collab_task_update
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 96a1d0a · analyzer v33 · 3w ago
danger signals1
- credential in logs credential in log yinsang0910-star-collab-cli-96a1d0a/src/commands/node.js :88
console.log(` 认证 Token: ${authToken}`);
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 43
filesystem 34
- fs yinsang0910-star-collab-cli-96a1d0a/bin/collab.js :29
import fs from 'node:fs'; - fs yinsang0910-star-collab-cli-96a1d0a/src/commands/badge.js :7
import fs from 'node:fs'; - fs (weak) yinsang0910-star-collab-cli-96a1d0a/src/commands/command-review.test.js :7
import fs from 'node:fs'; - fs yinsang0910-star-collab-cli-96a1d0a/src/commands/command.js :16
import fs from 'node:fs'; - fs (weak) yinsang0910-star-collab-cli-96a1d0a/src/commands/commands.test.js :9
import fs from 'node:fs'; - fs yinsang0910-star-collab-cli-96a1d0a/src/commands/conflict.js :7
import fs from 'node:fs'; - fs yinsang0910-star-collab-cli-96a1d0a/src/commands/dashboard.js :12
import fs from 'node:fs'; - fs yinsang0910-star-collab-cli-96a1d0a/src/commands/discover.js :9
import fs from 'node:fs'; - fs yinsang0910-star-collab-cli-96a1d0a/src/commands/git-sync.js :12
import fs from 'node:fs'; - fs yinsang0910-star-collab-cli-96a1d0a/src/commands/heartbeat.js :16
import fs from 'node:fs'; - fs (weak) yinsang0910-star-collab-cli-96a1d0a/src/commands/heartbeat.test.js :7
import fs from 'node:fs'; - fs yinsang0910-star-collab-cli-96a1d0a/src/commands/inbox.js :7
import fs from 'node:fs';
show 22 more
- fs yinsang0910-star-collab-cli-96a1d0a/src/commands/init.js :7
import fs from 'node:fs'; - fs (weak) yinsang0910-star-collab-cli-96a1d0a/src/commands/integration.test.js :9
import fs from 'node:fs'; - fs yinsang0910-star-collab-cli-96a1d0a/src/commands/mcp-server.js :19
import fs from 'node:fs'; - fs (weak) yinsang0910-star-collab-cli-96a1d0a/src/commands/mcp-server.test.js :9
import fs from 'node:fs'; - fs yinsang0910-star-collab-cli-96a1d0a/src/commands/memory.js :7
import fs from 'node:fs'; - fs yinsang0910-star-collab-cli-96a1d0a/src/commands/notify.js :17
import fs from 'node:fs'; - fs yinsang0910-star-collab-cli-96a1d0a/src/commands/review.js :15
import fs from 'node:fs'; - fs yinsang0910-star-collab-cli-96a1d0a/src/commands/setup.js :10
import fs from 'node:fs'; - fs yinsang0910-star-collab-cli-96a1d0a/src/commands/status.js :7
import fs from 'node:fs'; - fs (weak) yinsang0910-star-collab-cli-96a1d0a/src/commands/stress.test.js :14
import fs from 'node:fs'; - fs yinsang0910-star-collab-cli-96a1d0a/src/commands/task.js :7
import fs from 'node:fs'; - fs yinsang0910-star-collab-cli-96a1d0a/src/core/fs-lock.js :17
import fs from 'node:fs'; - fs yinsang0910-star-collab-cli-96a1d0a/src/core/protocol.js :12
import fs from 'node:fs'; - fs yinsang0910-star-collab-cli-96a1d0a/src/core/shard.js :8
import fs from 'node:fs'; - fs yinsang0910-star-collab-cli-96a1d0a/src/core/yaml.js :8
import fs from 'node:fs'; - fs (weak) yinsang0910-star-collab-cli-96a1d0a/src/core/yaml.test.js :7
import fs from 'node:fs'; - fs (weak) yinsang0910-star-collab-cli-96a1d0a/src/node/node.test.js :9
import fs from 'node:fs'; - fs yinsang0910-star-collab-cli-96a1d0a/src/node/server.js :9
import fs from 'node:fs'; - fs yinsang0910-star-collab-cli-96a1d0a/src/node/sync.js :14
import fs from 'node:fs'; - fs (weak) yinsang0910-star-collab-cli-96a1d0a/src/node/sync.test.js :7
import fs from 'node:fs'; - fs yinsang0910-star-collab-cli-96a1d0a/src/orchestrator/engine.js :13
import fs from 'node:fs'; - fs yinsang0910-star-collab-cli-96a1d0a/src/orchestrator/pipeline.js :12
import fs from 'node:fs';
shell / exec 4
- shell yinsang0910-star-collab-cli-96a1d0a/src/commands/discover.js :11
import { execSync } from 'node:child_process'; - shell yinsang0910-star-collab-cli-96a1d0a/src/commands/git-sync.js :14
import { execSync, execFileSync } from 'node:child_process'; - shell (weak) yinsang0910-star-collab-cli-96a1d0a/src/commands/mcp-server.test.js :12
import { spawn } from 'node:child_process'; - shell yinsang0910-star-collab-cli-96a1d0a/src/orchestrator/engine.js :15
import { spawn, execFileSync } from 'node:child_process';
network 7
- net yinsang0910-star-collab-cli-96a1d0a/src/commands/dashboard.js :10
import http from 'node:http'; - net (weak) yinsang0910-star-collab-cli-96a1d0a/src/node/node.test.js :77
const response = await fetch(`http://127.0.0.1:${TEST_PORT}/api/status`); - net yinsang0910-star-collab-cli-96a1d0a/src/node/router.js :70
const response = await fetch(`http://${peer.host}:${peer.port}/api/inbox/send`, { - net yinsang0910-star-collab-cli-96a1d0a/src/node/server.js :8
import http from 'node:http'; - net yinsang0910-star-collab-cli-96a1d0a/src/node/sync.js :114
const resp = await fetch(`http://${peer.host}:${peer.port}/api/sync/shard`, { - net (weak) yinsang0910-star-collab-cli-96a1d0a/src/node/sync.test.js :54
const resp = await fetch(`http://127.0.0.1:${PORT_B}/api/sync/shard`, { - net yinsang0910-star-collab-cli-96a1d0a/src/orchestrator/engine.js :633
const response = await fetch(`${this.apiUrl}/api/execute`, {
tool registrations 16
- collab_status yinsang0910-star-collab-cli-96a1d0a/src/commands/mcp-server.js :44
- collab_handshake yinsang0910-star-collab-cli-96a1d0a/src/commands/mcp-server.js :49
- collab_inbox_check yinsang0910-star-collab-cli-96a1d0a/src/commands/mcp-server.js :60
- collab_inbox_send yinsang0910-star-collab-cli-96a1d0a/src/commands/mcp-server.js :72
- collab_inbox_read yinsang0910-star-collab-cli-96a1d0a/src/commands/mcp-server.js :90
- collab_task_create yinsang0910-star-collab-cli-96a1d0a/src/commands/mcp-server.js :102
- collab_task_list yinsang0910-star-collab-cli-96a1d0a/src/commands/mcp-server.js :122
- collab_task_update yinsang0910-star-collab-cli-96a1d0a/src/commands/mcp-server.js :135
- collab_badge_issue yinsang0910-star-collab-cli-96a1d0a/src/commands/mcp-server.js :149
- collab_memory_stats yinsang0910-star-collab-cli-96a1d0a/src/commands/mcp-server.js :167
- collab_memory_compact yinsang0910-star-collab-cli-96a1d0a/src/commands/mcp-server.js :172
- collab_conflict_list yinsang0910-star-collab-cli-96a1d0a/src/commands/mcp-server.js :183
show 4 more
- collab_memory_write yinsang0910-star-collab-cli-96a1d0a/src/commands/mcp-server.js :194
- collab_shard_update yinsang0910-star-collab-cli-96a1d0a/src/commands/mcp-server.js :207
- collab_peer_list yinsang0910-star-collab-cli-96a1d0a/src/commands/mcp-server.js :220
- collab_conflict_create yinsang0910-star-collab-cli-96a1d0a/src/commands/mcp-server.js :225
declared dependencies 1
- gray-matter@^4.0.3
perm:untrusted 1
- untrusted (weak) yinsang0910-star-collab-cli-96a1d0a/src/node/node.test.js :322
const statusA = await (await fetch(`http://127.0.0.1:${PORT_A}/api/status`)).json();
transport_posture 1
- binds all interfaces (0.0.0.0) yinsang0910-star-collab-cli-96a1d0a/src/node/server.js :48
this.server.listen(this.port, '0.0.0.0', () => {