{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"suntianc-dsh-codex-auth","slug":"suntianc-dsh-codex-auth","rank":255,"url":"https://github.com/suntianc/dsh-codex-auth","name":"suntianc/dsh-codex-auth","category":"model","description":{"zh":"复用 Codex CLI 的 ChatGPT 登录态注册 `openai-codex` LLM 路由，并在 DSH Web 设置中提供 GPT Auth 控件。","en":"Reuses the Codex CLI ChatGPT login as an `openai-codex` LLM route and adds GPT Auth controls to DSH Web settings."},"stars":11,"starsCheckedAt":"2026-08-21","repository":{"owner":"suntianc","repo":"dsh-codex-auth","requestedRef":null,"subpath":""},"npm":"dsh-codex-auth","downloads":477,"installMode":"npm","upstreamInstall":"dsh plugin --profile web add dsh-codex-auth","tarball":null,"added":"2026-08-14","page":"https://awesome-dsh-plugin.com/p/suntianc/dsh-codex-auth/","screenshots":[],"discovery":{"provider":"awesome-dsh-plugin","channel":"plugins.json","indexUrl":"https://github.com/awesome-dsh-plugin/awesome-dsh-plugin","selection":"all curated entries"}},"report":{"sourceId":"suntianc-dsh-codex-auth","slug":"suntianc-dsh-codex-auth","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:22:51.320Z","scanStatus":"static-complete","verdict":"pass","score":99,"commit":"0376f981dd2e7fe2e3b9bdd1ebc8147f757c0e9e","commitDate":"2026-08-21T04:20:16-07:00","artifactDigest":"sha256:a5927cdde19f3df4bb3a59969c480d057286523f77dabfd594b404623c2f1de1","downloadUrl":"https://github.com/suntianc/dsh-codex-auth/archive/0376f981dd2e7fe2e3b9bdd1ebc8147f757c0e9e.tar.gz","installMode":"npm","installCommand":"dsh plugin --profile web add dsh-codex-auth","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"dsh-codex-auth","packageVersion":"0.2.3","bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-tool","@deepseek-ai/dsh-client-locale"],"platform":"web"},"lifecycleScripts":{"prepare":"tsdown"},"peerDependencies":["@deepseek-ai/cordis","@deepseek-ai/dsh-agent","@deepseek-ai/dsh-api-remotes","@deepseek-ai/dsh-atomic-write","@deepseek-ai/dsh-attachment","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-primitives","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-slots","@deepseek-ai/dsh-client-ui-tool","@deepseek-ai/dsh-credentials","@deepseek-ai/dsh-fs","@deepseek-ai/dsh-host-apiproxy","@deepseek-ai/dsh-invariants","@deepseek-ai/dsh-llm","@deepseek-ai/dsh-llm-pi-ai","@deepseek-ai/dsh-session","@deepseek-ai/dsh-settings","@deepseek-ai/dsh-tools","@deepseek-ai/dsh-web","@deepseek-ai/schemastery"]},"identity":{"status":"found","installMode":"npm","upstreamNpm":"dsh-codex-auth","manifestName":"dsh-codex-auth","nameMatch":true,"npm":{"name":"dsh-codex-auth","latestVersion":"0.2.2","publishedAt":"2026-08-20T13:50:44.055Z","createdAt":"2026-08-14T03:55:17.843Z","versionCount":4,"maintainers":1,"repository":"git+https://github.com/suntianc/dsh-codex-auth.git","hasInstallScripts":false,"deprecated":false},"repositoryMatch":"match","provenance":"none","tarballHost":null,"versionMatch":"differs"},"permissions":{"bundlePatch":"cordis.patch.yml","inserts":[{"id":"llm-codex-auth","name":"dsh-codex-auth","path":"cordis.patch.yml","disabled":false},{"id":"codex-search","name":"dsh-codex-auth/search","path":"cordis.patch.yml","disabled":false},{"id":"codex-image","name":"dsh-codex-auth/image","path":"cordis.patch.yml","disabled":false}],"overrides":[{"id":"web","tier":"normal","mode":"override","disabled":false,"replacesImplementation":false,"name":null,"keys":["searchProvider"],"path":"cordis.patch.yml"}],"jsExpressions":0,"clientPlatform":"web","parseErrors":[]},"capabilities":["agent-control","browser-ui","credentials","environment","filesystem","host-bundle","network","session","subprocess","telemetry"],"outboundHosts":[{"host":"chatgpt.com","count":4},{"host":"api.openai.com","count":2},{"host":"auth.openai.com","count":1}],"findings":[{"id":"HT-INSTALL-002","title":"Git 安装会触发 prepare 构建脚本","severity":"medium","confidence":"low","layer":"supply-chain","path":"package.json","pathClass":"manifest","line":73,"evidence":"\"prepare\": \"tsdown\"","remediation":"发布预构建制品（npm 或 GitHub Release tarball），并记录源码与发布包的一致性证明。","note":"该插件以 npm/tarball 预构建方式分发，prepare 不在用户机器上执行","hash":"810168c20b99e01213acbe59"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/package-smoke.mjs","pathClass":"source","line":3,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"ae7c0426abea9005b3d9e34d"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/package-smoke.mjs","pathClass":"source","line":3,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"4f2782dea0935800089fe3a5"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/codex-auth-service.ts","pathClass":"source","line":18,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"148dea263dd8f7c3a64918ec"}],"counts":{"critical":0,"high":0,"medium":0,"low":3},"rawCounts":{"critical":0,"high":0,"medium":1,"low":3},"vulnerabilities":[],"coverage":{"source":"complete","manifest":"complete","bundleConfig":"complete","dependencies":"lockfile-present","vulnerabilities":"complete","identity":"complete","artifact":"not-compared","llmReview":"not-needed","dynamicRuntime":"not-run","humanReview":"not-run"},"inventory":{"filesScanned":56,"bytesScanned":673028,"truncated":false,"lockfiles":["pnpm-lock.yaml"],"pathClasses":{"test-example-docs":13,"markdown":7,"cordis":1,"manifest":1,"yaml":2,"source":27,"data":5}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"]},"timeline":[{"scannedAt":"2026-08-22T08:22:51.320Z","commit":"0376f981dd2e7fe2e3b9bdd1ebc8147f757c0e9e","policyVersion":"HT-DSH-0.2.2","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T11:22:33.948Z","commit":"0376f981dd2e7fe2e3b9bdd1ebc8147f757c0e9e","policyVersion":"HT-DSH-0.2.1","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T10:51:11.389Z","commit":"e9b6cb6ba3da927da0d2f10458008aec1be58bfc","policyVersion":"HT-DSH-0.2.0","verdict":"pass","status":"static-complete"}],"events":[{"kind":"policy-change","from":"HT-DSH-0.2.1","to":"HT-DSH-0.2.2","commit":"0376f981dd2e7fe2e3b9bdd1ebc8147f757c0e9e","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:22:51.320Z"},{"kind":"policy-change","from":"HT-DSH-0.2.0","to":"HT-DSH-0.2.1","commit":"0376f981dd2e7fe2e3b9bdd1ebc8147f757c0e9e","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:22:33.948Z"},{"kind":"first-scan","from":null,"to":"pass","commit":"e9b6cb6ba3da927da0d2f10458008aec1be58bfc","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T10:51:11.389Z"}]}