{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"renzic-stone-dsh-easyrewrite","slug":"renzic-stone-dsh-easyrewrite","rank":141,"url":"https://github.com/Renzic-Stone/DSH-EasyRewrite","name":"Renzic-Stone/DSH-EasyRewrite","category":"session","description":{"zh":"在 dsh web 中内联编辑与撤回自己的消息——惰性、无痕，带版本翻页器与会话级草稿持久化。","en":"Inline-edit and recall your own user messages in dsh web — lazily and seamlessly, with a version pager and per-session draft persistence."},"stars":29,"starsCheckedAt":"2026-08-21","repository":{"owner":"Renzic-Stone","repo":"DSH-EasyRewrite","requestedRef":null,"subpath":""},"npm":null,"downloads":null,"installMode":"github-source","upstreamInstall":"dsh plugin --profile web add github:Renzic-Stone/DSH-EasyRewrite","tarball":null,"added":"2026-08-19","page":"https://awesome-dsh-plugin.com/p/Renzic-Stone/DSH-EasyRewrite/","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":"renzic-stone-dsh-easyrewrite","slug":"renzic-stone-dsh-easyrewrite","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:21:24.247Z","scanStatus":"static-complete","verdict":"caution","score":94,"commit":"c1b1e990c4f7195548df38d819684f5329cf948e","commitDate":"2026-08-21T03:25:02+08:00","artifactDigest":"sha256:031411a4db85823171b99186f6d1b8f94c1d026a3c541b33a4a77b2295af9241","downloadUrl":"https://github.com/Renzic-Stone/DSH-EasyRewrite/archive/c1b1e990c4f7195548df38d819684f5329cf948e.tar.gz","installMode":"github-source","installCommand":"dsh plugin --profile web add github:Renzic-Stone/DSH-EasyRewrite","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"dsh-easyrewrite","packageVersion":"1.3.6","bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["slots","sessions","workspaces"],"platform":"web"},"lifecycleScripts":{"prepare":"node build.mjs"},"peerDependencies":[]},"identity":{"status":"found","installMode":"github-source","upstreamNpm":null,"manifestName":"dsh-easyrewrite","nameMatch":null,"npm":{"name":"dsh-easyrewrite","latestVersion":"1.3.6","publishedAt":"2026-08-20T19:21:32.219Z","createdAt":"2026-08-18T14:47:09.755Z","versionCount":21,"maintainers":1,"repository":null,"hasInstallScripts":false,"deprecated":false},"repositoryMatch":"missing","provenance":"none","tarballHost":null,"versionMatch":"match"},"permissions":{"bundlePatch":"cordis.patch.yml","inserts":[{"id":"dsh-easyrewrite","name":"dsh-easyrewrite","path":"cordis.patch.yml","disabled":false}],"overrides":[],"jsExpressions":0,"clientPlatform":"web","parseErrors":[]},"capabilities":["browser-ui","environment","filesystem","host-bundle","network","session","subprocess"],"outboundHosts":[],"findings":[{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"lib/index.js","pathClass":"source","line":15,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"89dedaa9e6429e9e52b8af60"},{"id":"HT-INSTALL-002","title":"Git 安装会触发 prepare 构建脚本","severity":"medium","confidence":"medium","layer":"supply-chain","path":"package.json","pathClass":"manifest","line":62,"evidence":"\"prepare\": \"node build.mjs\"","remediation":"发布预构建制品（npm 或 GitHub Release tarball），并记录源码与发布包的一致性证明。","note":"源码安装需用户在 allowBuilds 中授权，此脚本会在安装期于用户机器执行","hash":"1960c8bb8637b95e5b3554d8"}],"counts":{"critical":0,"high":0,"medium":1,"low":1},"rawCounts":{"critical":0,"high":0,"medium":1,"low":1},"vulnerabilities":[],"coverage":{"source":"complete","manifest":"complete","bundleConfig":"complete","dependencies":"lockfile-missing","vulnerabilities":"lockfile-missing","identity":"complete","artifact":"not-compared","llmReview":"not-needed","dynamicRuntime":"not-run","humanReview":"not-run"},"inventory":{"filesScanned":16,"bytesScanned":750074,"truncated":false,"lockfiles":[],"pathClasses":{"markdown":8,"source":4,"cordis":1,"manifest":1,"test-example-docs":2}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"]},"timeline":[{"scannedAt":"2026-08-22T08:21:24.247Z","commit":"c1b1e990c4f7195548df38d819684f5329cf948e","policyVersion":"HT-DSH-0.2.2","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T11:21:25.960Z","commit":"c1b1e990c4f7195548df38d819684f5329cf948e","policyVersion":"HT-DSH-0.2.1","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T10:49:28.204Z","commit":"c1b1e990c4f7195548df38d819684f5329cf948e","policyVersion":"HT-DSH-0.2.0","verdict":"caution","status":"static-complete"}],"events":[{"kind":"policy-change","from":"HT-DSH-0.2.1","to":"HT-DSH-0.2.2","commit":"c1b1e990c4f7195548df38d819684f5329cf948e","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:21:24.247Z"},{"kind":"policy-change","from":"HT-DSH-0.2.0","to":"HT-DSH-0.2.1","commit":"c1b1e990c4f7195548df38d819684f5329cf948e","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:21:25.960Z"},{"kind":"first-scan","from":null,"to":"caution","commit":"c1b1e990c4f7195548df38d819684f5329cf948e","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T10:49:28.204Z"}]}