{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"fuzzysoul-dsh-free-vision","slug":"fuzzysoul-dsh-free-vision","rank":419,"url":"https://github.com/FuzzySoul/dsh-free-vision","name":"FuzzySoul/dsh-free-vision","category":"vision","description":{"zh":"免费视觉插件：纯文本模型看图 / OCR / UI / 报错分析，优先免费模型（千问 Qwen3-VL-Flash、豆包、DeepSeek-OCR），设置界面可配置。","en":"Free vision bridge for text-only models: image understanding, OCR, UI and debug analysis via free-tier providers (Qwen3-VL-Flash, Doubao, DeepSeek-OCR) with a settings GUI."},"stars":6,"starsCheckedAt":"2026-08-21","repository":{"owner":"FuzzySoul","repo":"dsh-free-vision","requestedRef":null,"subpath":""},"npm":"dsh-free-vision","downloads":5315,"installMode":"npm","upstreamInstall":"dsh plugin --profile web add dsh-free-vision","tarball":null,"added":"2026-08-15","page":"https://awesome-dsh-plugin.com/p/FuzzySoul/dsh-free-vision/","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":"fuzzysoul-dsh-free-vision","slug":"fuzzysoul-dsh-free-vision","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:24:43.678Z","scanStatus":"static-complete","verdict":"review","score":67,"commit":"9daa0dc4b42920c129bec5988765a585a0523843","commitDate":"2026-08-19T22:54:05+08:00","artifactDigest":"sha256:901bf1b8ff0822ff75ce0e6d126053e00090b1afa85b0be1ca7148637c3cb646","downloadUrl":"https://github.com/FuzzySoul/dsh-free-vision/archive/9daa0dc4b42920c129bec5988765a585a0523843.tar.gz","installMode":"npm","installCommand":"dsh plugin --profile web add dsh-free-vision","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"dsh-free-vision","packageVersion":"1.0.8","bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-ui-settings"],"platform":"web"},"lifecycleScripts":{"postinstall":"node scripts/patch-luma.mjs"},"peerDependencies":[]},"identity":{"status":"found","installMode":"npm","upstreamNpm":"dsh-free-vision","manifestName":"dsh-free-vision","nameMatch":true,"npm":{"name":"dsh-free-vision","latestVersion":"1.0.8","publishedAt":"2026-08-19T14:54:26.677Z","createdAt":"2026-08-15T08:47:40.603Z","versionCount":23,"maintainers":1,"repository":"git+https://github.com/FuzzySoul/dsh-free-vision.git","hasInstallScripts":true,"deprecated":false},"repositoryMatch":"match","provenance":"none","tarballHost":null,"versionMatch":"match"},"permissions":{"bundlePatch":"cordis.patch.yml","inserts":[{"id":"free-vision","name":"dsh-free-vision","path":"cordis.patch.yml","disabled":false}],"overrides":[],"jsExpressions":0,"clientPlatform":"web","parseErrors":[]},"capabilities":["browser-ui","credentials","environment","filesystem","host-bundle","mcp","network","subprocess"],"outboundHosts":[{"host":"open.bigmodel.cn","count":5},{"host":"dashscope.aliyuncs.com","count":4},{"host":"ark.cn-beijing.volces.com","count":4},{"host":"api.siliconflow.cn","count":4},{"host":"api.hunyuan.cloud.tencent.com","count":4},{"host":"bailian.console.aliyun.com","count":1},{"host":"console.volcengine.com","count":1},{"host":"cloud.siliconflow.cn","count":1},{"host":"cloud.tencent.com","count":1},{"host":"your-proxy.example.com","count":1},{"host":"dsh.local","count":1}],"findings":[{"id":"HT-INSTALL-001","title":"安装阶段执行高风险生命周期脚本","severity":"high","confidence":"high","layer":"supply-chain","path":"package.json","pathClass":"manifest","line":70,"evidence":"\"postinstall\": \"node scripts/patch-luma.mjs\"","remediation":"移除安装期执行，或提供可复现构建产物并将脚本降为显式命令。","hash":"f4c48eb54bf920dba5c86290","review":{"verdict":"unclear","reason":"postinstall 声称调用 scripts/patch-luma.mjs 修补 luma-mcp 依赖，但未提供该脚本实际代码，无法判断其行为是否仅限于本地文件修补而无恶意网络/命令行为。","model":"sonnet","reviewedAt":"2026-08-21T10:54:08.015Z"}},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/release.mjs","pathClass":"source","line":6,"evidence":"execSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"8b887a11ff8fbd2180b9433a"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/release.mjs","pathClass":"source","line":6,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"f735a4f41f7179ccfa16f964"},{"id":"HT-VULN-001","title":"依赖存在已知漏洞","severity":"high","confidence":"high","path":"package-lock.json","pathClass":"manifest","line":1,"evidence":"@modelcontextprotocol/sdk@1.25.3 GHSA-345p-7cg4-v4c7 (CVE-2026-25536) fixed in 1.26.0","remediation":"升级 @modelcontextprotocol/sdk 至 1.26.0 或更高版本。","layer":"vulnerability","hash":"32c2fa541bbe6bc3c0279e0e","review":{"verdict":"confirmed","reason":"package.json 明确锁定 \"@modelcontextprotocol/sdk\": \"1.25.3\"（非范围放宽），与所述 GHSA-345p-7cg4-v4c7 漏洞版本一致，构成真实已知漏洞暴露。","model":"sonnet","reviewedAt":"2026-08-21T10:54:08.015Z"}},{"id":"HT-VULN-001","title":"依赖存在已知漏洞","severity":"high","confidence":"medium","path":"package-lock.json","pathClass":"manifest","line":1,"evidence":"sharp@0.33.5 GHSA-f88m-g3jw-g9cj fixed in 0.35.0","remediation":"升级 sharp 至 0.35.0 或更高版本。","layer":"vulnerability","hash":"690bf18f6a4c75e3dc404417","review":{"verdict":"unclear","reason":"提供的 package-lock.json 片段仅到第41行，未出现 sharp 包条目或其版本号，无法从现有上下文确认 sharp@0.33.5 是否真实存在于依赖树中。","model":"sonnet","reviewedAt":"2026-08-21T10:54:08.015Z"}}],"counts":{"critical":0,"high":3,"medium":0,"low":2},"rawCounts":{"critical":0,"high":3,"medium":0,"low":2},"vulnerabilities":[{"id":"GHSA-345p-7cg4-v4c7","aliases":["CVE-2026-25536"],"package":"@modelcontextprotocol/sdk","version":"1.25.3","severity":"high","fixed":"1.26.0","summary":"@modelcontextprotocol/sdk has cross-client data leak via shared server/transport instance reuse"},{"id":"GHSA-f88m-g3jw-g9cj","aliases":[],"package":"sharp","version":"0.33.5","severity":"high","fixed":"0.35.0","summary":"sharp inherited vulnerabilities in libvips: CVE-2026-33327, CVE-2026-33328, CVE-2026-35590, CVE-2026-35591"}],"coverage":{"source":"complete","manifest":"complete","bundleConfig":"complete","dependencies":"lockfile-present","vulnerabilities":"complete","identity":"complete","artifact":"not-compared","llmReview":"complete","dynamicRuntime":"not-run","humanReview":"not-run"},"inventory":{"filesScanned":28,"bytesScanned":309107,"truncated":false,"lockfiles":["package-lock.json"],"pathClasses":{"test-example-docs":9,"markdown":8,"source":8,"cordis":1,"data":1,"manifest":1}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"],"review":{"model":"sonnet","reviewedAt":"2026-08-22T08:24:43.678Z","summary":null,"intentMatch":null,"findingsReviewed":3,"findingsCandidates":3,"fromCache":3,"usage":null}},"timeline":[{"scannedAt":"2026-08-22T08:24:43.678Z","commit":"9daa0dc4b42920c129bec5988765a585a0523843","policyVersion":"HT-DSH-0.2.2","verdict":"review","status":"static-complete"},{"scannedAt":"2026-08-21T11:25:33.386Z","commit":"9daa0dc4b42920c129bec5988765a585a0523843","policyVersion":"HT-DSH-0.2.1","verdict":"review","status":"static-complete"},{"scannedAt":"2026-08-21T10:54:08.015Z","commit":"9daa0dc4b42920c129bec5988765a585a0523843","policyVersion":"HT-DSH-0.2.0","verdict":"review","status":"static-complete"}],"events":[{"kind":"policy-change","from":"HT-DSH-0.2.1","to":"HT-DSH-0.2.2","commit":"9daa0dc4b42920c129bec5988765a585a0523843","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:24:43.678Z"},{"kind":"policy-change","from":"HT-DSH-0.2.0","to":"HT-DSH-0.2.1","commit":"9daa0dc4b42920c129bec5988765a585a0523843","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:25:33.386Z"},{"kind":"first-scan","from":null,"to":"review","commit":"9daa0dc4b42920c129bec5988765a585a0523843","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T10:54:08.015Z"}]}