AI-native TypeScript bot framework — one codebase for 20+ chat platforms (QQ, Discord, Telegram, Slack, WeChat…). Opt-in AI agent with MCP, tools & security policies. <10MB core.
- capability exposure inferred + 35
- tool safety inferred + 12
- trust mitigators mixed − 3
inferred mixed
The A–E grade is our heuristic synthesis — a "review this" prompt, not a verdict. Each factor is tagged by what backs it: attested (a verifiable record), reported (a third party's claim), or inferred (our own heuristic, e.g. permissions). See methodology.
graded 3m ago · see ecosystem CVEs →
- D · 64 → C · 44
- C · 56 → D · 64
No known CVEs for this server.
- high dangerous code
dynamic exec: eval(), new Function() · obfuscated payload: dynamic require()/import()
analyzed commit edaabf7 · analyzer v31 · 22h ago
skills & prompt files 31
- agent-rules zhinjs-zhin-edaabf7/.github/copilot-instructions.md
- prompt-file zhinjs-zhin-edaabf7/.github/prompts/zhin-create-plugin.prompt.md
- prompt-file zhinjs-zhin-edaabf7/.github/prompts/zhin-refactor-plugin.prompt.md
- skill zhinjs-zhin-edaabf7/.github/skills/migrate-zhin-plugin-runtime/SKILL.md
- skill zhinjs-zhin-edaabf7/.github/skills/zhin-audit/SKILL.md
- skill zhinjs-zhin-edaabf7/.github/skills/zhin-plugin-refactoring/SKILL.md
- skill zhinjs-zhin-edaabf7/.github/skills/zhin-plugin-standard-development/SKILL.md
- agent-rules zhinjs-zhin-edaabf7/AGENTS.md
- agent-rules zhinjs-zhin-edaabf7/CLAUDE.md
- agent-rules zhinjs-zhin-edaabf7/docs/ai/agent.md
- agent-rules zhinjs-zhin-edaabf7/docs/en/ai/agent.md
- skill zhinjs-zhin-edaabf7/examples/full-bot/skills/memory-consolidate/SKILL.md
- agent-rules zhinjs-zhin-edaabf7/examples/test-bot/AGENTS.md
- prompt-file zhinjs-zhin-edaabf7/examples/test-bot/prompts/compaction.md
- prompt-file zhinjs-zhin-edaabf7/examples/test-bot/prompts/deferred-worker.md
- prompt-file zhinjs-zhin-edaabf7/examples/test-bot/prompts/orchestrator.anthropic.md
- prompt-file zhinjs-zhin-edaabf7/examples/test-bot/prompts/orchestrator.md
- skill zhinjs-zhin-edaabf7/examples/test-bot/skills/tencent-channel-community/SKILL.md
- prompt-file zhinjs-zhin-edaabf7/packages/im/agent/src/prompt/prompts/compaction.md
- prompt-file zhinjs-zhin-edaabf7/packages/im/agent/src/prompt/prompts/deferred-worker.md
- prompt-file zhinjs-zhin-edaabf7/packages/im/agent/src/prompt/prompts/orchestrator.anthropic.md
- prompt-file zhinjs-zhin-edaabf7/packages/im/agent/src/prompt/prompts/orchestrator.md
- prompt-file zhinjs-zhin-edaabf7/packages/im/agent/src/prompt/prompts/orchestrator.openai-compatible.md
- skill zhinjs-zhin-edaabf7/packages/toolkit/create-zhin/template/skills/github/SKILL.md
- skill zhinjs-zhin-edaabf7/packages/toolkit/create-zhin/template/skills/plugin-develop/SKILL.md
- skill zhinjs-zhin-edaabf7/packages/toolkit/create-zhin/template/skills/plugin-init/SKILL.md
- skill zhinjs-zhin-edaabf7/packages/toolkit/create-zhin/template/skills/plugin-publish/SKILL.md
- skill zhinjs-zhin-edaabf7/packages/toolkit/create-zhin/template/skills/plugin-quality/SKILL.md
- skill zhinjs-zhin-edaabf7/packages/toolkit/create-zhin/template/skills/plugin-test/SKILL.md
- skill zhinjs-zhin-edaabf7/packages/toolkit/create-zhin/template/skills/skill-creator/SKILL.md
- skill zhinjs-zhin-edaabf7/packages/toolkit/create-zhin/template/skills/summarize/SKILL.md
danger signals6
- dynamic code execution eval() zhinjs-zhin-edaabf7/basic/schedule/tests/redis-store.test.ts :70
async eval(_script: string, _numKeys: number, key: string, owner: string): Promise<number> { - dynamic code execution eval() zhinjs-zhin-edaabf7/basic/schedule/tests/store-extra.test.ts :75
async eval(_script: string, _numKeys: number, key: string, owner: string): Promise<number> { - dynamic code execution eval() zhinjs-zhin-edaabf7/packages/im/core/tests/component-new.test.ts :41
return eval(expression) - dynamic code execution new Function() zhinjs-zhin-edaabf7/packages/im/core/tests/expression-evaluation.test.ts :15
const safeEval = new Function('context', ` - suspicious endpoint api.telegram.org zhinjs-zhin-edaabf7/plugins/adapters/telegram/src/protocol.ts :264
?? 'https://api.telegram.org' - suspicious endpoint api.telegram.org zhinjs-zhin-edaabf7/plugins/adapters/telegram/tests/telegram-runtime.test.ts :122
expect(resolved.apiBaseUrl).toBe('https://api.telegram.org');
Heuristic, inferred signals — false positives (legitimately powerful tools, forks, language ports) are expected. Treat each as "review this", not a verdict. See the ecosystem-wide picture on the security hub, or the fleet security of zhinjs.