{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"franksong2702-dsh-codex-connect","slug":"franksong2702-dsh-codex-connect","rank":121,"url":"https://github.com/franksong2702/dsh-codex-connect","name":"franksong2702/dsh-codex-connect","category":"model","description":{"zh":"通过 ChatGPT OAuth 将 OpenAI Codex 模型接入 DeepSeek Harness，并提供可选的搜索与图片工具。","en":"Connect ChatGPT OAuth and OpenAI Codex models to DeepSeek Harness, with opt-in search and image tools."},"stars":38,"starsCheckedAt":"2026-08-21","repository":{"owner":"franksong2702","repo":"dsh-codex-connect","requestedRef":null,"subpath":""},"npm":"dsh-codex-connect","downloads":2692,"installMode":"npm","upstreamInstall":"dsh plugin --profile web add dsh-codex-connect","tarball":null,"added":"2026-08-14","page":"https://awesome-dsh-plugin.com/p/franksong2702/dsh-codex-connect/","screenshots":["https://raw.githubusercontent.com/franksong2702/dsh-codex-connect/main/docs/assets/en/plugin-entry.jpg","https://raw.githubusercontent.com/franksong2702/dsh-codex-connect/main/docs/assets/en/oauth-status.jpg","https://raw.githubusercontent.com/franksong2702/dsh-codex-connect/main/docs/assets/en/plugin-configuration.jpg","https://raw.githubusercontent.com/franksong2702/dsh-codex-connect/main/docs/assets/en/model-selector.jpg"],"discovery":{"provider":"awesome-dsh-plugin","channel":"plugins.json","indexUrl":"https://github.com/awesome-dsh-plugin/awesome-dsh-plugin","selection":"all curated entries"}},"report":{"sourceId":"franksong2702-dsh-codex-connect","slug":"franksong2702-dsh-codex-connect","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:21:06.742Z","scanStatus":"static-complete","verdict":"pass","score":99,"commit":"0a1ccf55472eb02e31eec49f59ed6e93183d23e9","commitDate":"2026-08-21T11:57:08+08:00","artifactDigest":"sha256:eab4b17f01fb08953c17740ad56c13ed42fb911cdfb5aed16f9562e7d96321e2","downloadUrl":"https://github.com/franksong2702/dsh-codex-connect/archive/0a1ccf55472eb02e31eec49f59ed6e93183d23e9.tar.gz","installMode":"npm","installCommand":"dsh plugin --profile web add dsh-codex-connect","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"dsh-codex-connect","packageVersion":"0.1.0-alpha.4.14","bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-conversation","@deepseek-ai/dsh-client-ui-model-selection","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-settings-plugins","@deepseek-ai/dsh-client-ui-tool","@deepseek-ai/dsh-client-locale"],"platform":"web"},"lifecycleScripts":{},"peerDependencies":["@deepseek-ai/cordis","@deepseek-ai/dsh-agent","@deepseek-ai/dsh-atomic-write","@deepseek-ai/dsh-attachment","@deepseek-ai/dsh-client-ui-attachment","@deepseek-ai/dsh-client-ui-primitives","@deepseek-ai/dsh-client-ui-tool","@deepseek-ai/dsh-home-paths","@deepseek-ai/dsh-host-webserver","@deepseek-ai/dsh-invariants","@deepseek-ai/dsh-llm","@deepseek-ai/dsh-llm-pi-ai","@deepseek-ai/dsh-fs","@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-connect","manifestName":"dsh-codex-connect","nameMatch":true,"npm":{"name":"dsh-codex-connect","latestVersion":"0.1.0-alpha.4.14","publishedAt":"2026-08-20T16:00:55.044Z","createdAt":"2026-08-14T04:47:20.931Z","versionCount":12,"maintainers":1,"repository":"git+https://github.com/franksong2702/dsh-codex-connect.git","hasInstallScripts":false,"deprecated":false},"repositoryMatch":"match","provenance":"attested","tarballHost":null,"versionMatch":"match"},"permissions":{"bundlePatch":"cordis.patch.yml","inserts":[{"id":"llm-openai-codex","name":"dsh-codex-connect","path":"cordis.patch.yml","disabled":false}],"overrides":[],"jsExpressions":0,"clientPlatform":"web","parseErrors":[]},"capabilities":["agent-control","browser-ui","credentials","environment","filesystem","host-bundle","network","session","subprocess","telemetry"],"outboundHosts":[{"host":"chatgpt.com","count":10},{"host":"dsh.invalid","count":2},{"host":"api.openai.com","count":2},{"host":"img.shields.io","count":1},{"host":"www.npmjs.com","count":1}],"findings":[{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"lib/bin.js","pathClass":"source","line":5,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"2976fe9e942fe9ecb906c743"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/check-dsh-install.mjs","pathClass":"source","line":3,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"878605804913dfa1ff8b144e"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/check-dsh-install.mjs","pathClass":"source","line":3,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"654081289a05194449e9bb9b"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/check-pack.mjs","pathClass":"source","line":1,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"1a3a39a8954d90a93eff19bc"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/check-pack.mjs","pathClass":"source","line":1,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"28994cce139d9339d8192cf0"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/bin.ts","pathClass":"source","line":4,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"e5f57a936879f043deca7e6d"}],"counts":{"critical":0,"high":0,"medium":0,"low":6},"rawCounts":{"critical":0,"high":0,"medium":0,"low":6},"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":105,"bytesScanned":1083713,"truncated":false,"lockfiles":["pnpm-lock.yaml"],"pathClasses":{"test-example-docs":40,"markdown":10,"data":3,"cordis":1,"source":48,"manifest":1,"yaml":2}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"]},"timeline":[{"scannedAt":"2026-08-22T08:21:06.742Z","commit":"0a1ccf55472eb02e31eec49f59ed6e93183d23e9","policyVersion":"HT-DSH-0.2.2","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T11:20:05.594Z","commit":"0a1ccf55472eb02e31eec49f59ed6e93183d23e9","policyVersion":"HT-DSH-0.2.1","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T10:47:56.560Z","commit":"0a1ccf55472eb02e31eec49f59ed6e93183d23e9","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":"0a1ccf55472eb02e31eec49f59ed6e93183d23e9","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:21:06.742Z"},{"kind":"policy-change","from":"HT-DSH-0.2.0","to":"HT-DSH-0.2.1","commit":"0a1ccf55472eb02e31eec49f59ed6e93183d23e9","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:20:05.594Z"},{"kind":"first-scan","from":null,"to":"pass","commit":"0a1ccf55472eb02e31eec49f59ed6e93183d23e9","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T10:47:56.560Z"}]}