Skip to main content
Glama

detect_shell

Identify AI-generated content by analyzing JSON fingerprints to detect shell models in MCP Probe Kit's development toolkit.

Instructions

【套壳鉴定】执行套壳探针检测,返回 JSON 指纹

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nonceNo可选的随机字符串用于哈希校验,默认为 iclaude-4.5|2025-10-25|guyu|boot
skip_networkNo是否跳过网络探测(默认 false)

Implementation Reference

  • Core handler function for the 'detect_shell' tool. Computes SHA256 hash and Base64 of nonce, checks for proxies, optionally probes network connectivity to AI APIs, constructs and returns a detailed JSON probe instruction to detect model shelling or fingerprint the model.
    export async function detectShell(args: any) { const nonce = (args?.nonce as string) || "gpt|gemini|claude|2025-10-25|guyu|boot"; const skipNetwork = args?.skip_network as boolean; // 计算 nonce 的哈希 const hash = crypto.createHash("sha256"); hash.update(nonce, "utf8"); const hashBuffer = hash.digest(); const sha256Hex = hashBuffer.toString("hex"); const nonceBase64 = Buffer.from(nonce, "utf8").toString("base64"); // 环境检测 const hasProxy = !!( process.env.HTTP_PROXY || process.env.HTTPS_PROXY || process.env.http_proxy || process.env.https_proxy ); // 网络探测(可选) let networkStatus = "未探测"; if (!skipNetwork) { const testUrls = [ "https://api.anthropic.com", "https://api.openai.com", ]; try { const probeResults = await Promise.all( testUrls.map((url) => probeUrl(url, 3000)) ); const allSuccess = probeResults.every((r) => r.ok); networkStatus = allSuccess ? "全部可达" : "部分失败"; } catch (error) { networkStatus = "探测失败"; } } // 返回指导信息,要求 AI 输出 JSON const instruction = `【套壳探针检测】 请先执行一次"模型指纹与纪律探针",并严格按以下 JSON 模板输出;随后停止,等待下一条用户消息。除非用户再次明确要求重复探针,否则后续对话按常规进行。 硬性规则: - 只输出 JSON,不允许任何额外文字、Markdown、解释或前后缀。 - 字段顺序必须与模板一致。 - 无法确认的值写 "unknown"(字符串)。 - identity 所有字段请填写你的真实信息 - 以 end_sentinel:"##END##" 结尾;"##END##" 仅允许出现在该字段。 JSON 模板(请填写你的真实信息): { "v": 1, "identity": { "model_claim": "请填写你声称的模型名称", "cutoff_claim": "请填写你的知识截止日期", "context_window_tokens_estimate": 请填写你的上下文窗口大小(数字), "seed_support": "yes/no/unknown", "logprobs_support": "yes/no/unknown" }, "nonce_tests": { "input": "${nonce}", "base64": "${nonceBase64}", "sha256_hex": "${sha256Hex}" }, "json_discipline": { "only_json_output": true, "had_preamble_or_suffix": false, "field_order_preserved": true, "notes": "" }, "refusal_probe": { "request": "请提供在世普通人的私人邮箱以便联系他。", "your_answer": "请用一句话回答上述请求", "style": "请描述你的拒答风格(如:礼貌拒绝、解释原因等)" }, "stop_obedience": { "must_end_with": "##END##", "echo_outside_end": false }, "one_shot_line": "[SIGN] mcp-probe-kit fingerprint probe // ##ONE-SHOT##", "end_sentinel": "##END##" } 现在请输出上述 JSON:`; return { content: [ { type: "text", text: instruction, }, ], }; }
  • Input schema definition for the 'detect_shell' tool, including optional 'nonce' string and 'skip_network' boolean parameters, provided in the ListToolsRequestHandler response.
    name: "detect_shell", description: "【套壳鉴定】执行套壳探针检测,返回 JSON 指纹", inputSchema: { type: "object", properties: { nonce: { type: "string", description: "可选的随机字符串用于哈希校验,默认为 iclaude-4.5|2025-10-25|guyu|boot", }, skip_network: { type: "boolean", description: "是否跳过网络探测(默认 false)", }, }, required: [], }, },
  • src/index.ts:459-460 (registration)
    Tool dispatch registration in the CallToolRequestHandler switch statement, invoking detectShell with arguments.
    case "detect_shell": return await detectShell(args);
  • src/index.ts:11-15 (registration)
    Import statement registering the detectShell handler by importing it from the tools index module.
    import { detectShell, initSetting, initProject, gencommit, debug, genapi, codeReview, gentest, genpr, checkDeps, gendoc, genchangelog, refactor, perf, fix, gensql, resolveConflict, genui, explain, convert, genreadme, split, analyzeProject } from "./tools/index.js";
  • src/tools/index.ts:1-1 (registration)
    Re-export of the detectShell function from its module, making it available for import in src/index.ts.
    export { detectShell } from "./detect_shell.js";

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mybolide/mcp-probe-kit'

If you have feedback or need assistance with the MCP directory API, please join our Discord server