one-c-odata@1.7.0
CAUTION· install onlyPublisher claims: "Enables ChatGPT's desktop Codex app to query a live 1C (1С) database through OData in read-only mode, so users can ask plain-language questions about sales, stock, items, and counterparties, and get answers, charts, and dashboards without exports or programming." Observed in sandbox: no network, touches nothing outside the project, writes no memory.
Coverage
Nothing executable in the bundle ran; the trace covers the install step only.- Tested
- every file read, file written and host contacted by what ran
- Not tested
- use of the skill by an agent
What this means for the label: Caution here covers what ran. The server's tools were not exercised with a real credential, so nothing about their behavior is asserted; the credential summary below says what to do with that.
Before you give it your token
- It will ask for
- no credential variables read in the code
- Where it talks to
- no vendor host named in the codeAlso t.me, nodejs.org — not the publisher's domain; check what for before connecting.
- What the honeypot saw
- no credential files read · no network
- What we could not test
- use of the skill by an agent
Connect it under the guard. Nothing executable in the bundle ran; the trace covers the install step only. The code names no credential variable; the guard pins the network to what the honeypot saw and logs every call.
Never paste a credential into a chat, a ticket or a report, including ours. How the guard holds it.
Is [email protected] safe to install?
KillerSkills ran it in the KillerSkills honeypot sandbox (1 scenario; nothing executable in the bundle ran; the trace covers the install step only) on 2026-11-12 and scored it 68/100 (Caution). It is not known to be malicious, but it has behaviour or code a security policy should decide on before install. Notable findings: Access to sensitive file paths; Access to sensitive file paths; Access to sensitive file paths. Summary: no network, touches nothing outside the project, writes no memory.
Behavior trace
Honeypot run · 0 s · 1 scenarios · 0 deviationsStatic findings
if (p==="") return send(res,200,""+JSON.stringify({"odata.metadata":"x",value:names.map(n=>({name:n,url:n}))}));Fix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.printf "Путь к приватному ключу, обычно ~/.ssh/id_ed25519 или ~/.ssh/id_rsa: "; read -r RAWFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.env: { PATH: process.env.PATH || "", HOME: os.homedir(), ...env },Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.mv "$TMP" "$CONFIG" && chmod 600 "$CONFIG"Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.// SSH: принимаем «грязный» ввод: https://1.2.3.4/, ssh://[email protected]:22, «ssh [email protected] -p 2222»Fix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.if (/^\[mcp_servers\.one-c-odata\.env\]\s*$/.test(l)) { inEnv = true; continue; }Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.const trimPw = (v) => v.replace(/^[\s ]+|[\s ]+$/g, "");Fix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.printf "Путь к приватному ключу, обычно ~/.ssh/id_ed25519 или ~/.ssh/id_rsa: "; read -r RAWFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.const clean = (s) => String(s || "").replace(/[- ]/g, " ").trim();Fix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.https://github.com/glxaoc/1c-chatgpt-connector/releases/latest/download/1c-connector-for-chatgpt.zipFix: Pin versions and sources; vendor anything fetched at install time.// SSH: принимаем «грязный» ввод: https://1.2.3.4/, ssh://[email protected]:22, «ssh [email protected] -p 2222»Fix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.for (const [label, host] of [["https://", "https://127.0.0.1:2224"],["ssh://user@", "ssh://[email protected]:2224/"],["команда ssh -p", "ssh [email protected] -p 2224"],["пробелы", " 127.0.0.1:2224 "]])Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.r = await call(c,"query",{object:"../../etc/passwd"}); check("попытка выйти за OData заблокирована", r.err && r.text.includes("Недопустимый"), r.text);Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.…вУслуг") { const top=+u.searchParams.get("$top")||500; return send(res,200," "+JSON.stringify({"odata.metadata":"x",value:big.slice(0,top).map((r,i)=>i===0&&…Fix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.const run = (f, env = {}) => spawn(process.execPath, [f], { cwd: dir, env: { ...process.env, ...env }, stdio: "ignore" });Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.if (p==="Document_РеализацияТоваровУслуг/$count") return send(res,200,"1234","text/plain");Fix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.…ace(/^\/([A-Za-z]:)/,"$1")],env:{...process.env,HOME,USERPROFILE:HOME,...GOOD,...env},stderr:"pipe"})); try { return await fn(c); } finally { await c.close(); } }…Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.Cost to the agent
Tokens estimated at four characters each. Skills load their instruction text when triggered; the figure is what that costs.
Known vulnerabilities
Vulnerability advisories (OSV) cover npm and PyPI packages; this registry has no advisory database.
What would make this Verified
12 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%- Unclaimed publisher≈ +8 on the totalClaim glxaoc: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
- Access to sensitive file paths≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
- References a credential file in the home directory≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
- README links to an external installer≈ +4 on the totalPin versions and sources; vendor anything fetched at install time.
- HTTP URL with a raw public IP address≈ +4 on the totalReplace encoded or assembled strings with plain literals and remove undeclared network calls.
- Hidden zero-width characters detected≈ +2 on the totalKeep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.