Sutera-Diffusus/dsh-whale-musume| 认证等级 | L2 |
| 验证状态 | self-declared(单方声明,待独立验证) |
| 验证方法 | 未登记 structured verifiedBy |
| 运行级实测 | 未做运行级实测 |
| 内容锚 | git commit ba9c69480ec4 · Sutera-Diffusus/dsh-whale-musume · git ls-remote / clone 复现可对账 |
| DID | did:cha2a:package:Sutera-Diffusus/dsh-whale-musume |
| 身份锚点 | npm 未声明 GitHub 仓库——装前请自行核验来源 |
| 来源 | git |
| 插件版本 | — |
| 安装 | dsh plugin add github:Sutera-Diffusus/dsh-whale-musume |
| 扫描日期 | 2026-08-28(35 天前) |
| 扫描层级 | 静态扫描(自研规则 + GuardDog 复核 + OSV 依赖) |
| 扫描器版本 | dshlib-scan v0.1 · GuardDog 3.2.0 · OSV.dev |
自研扫描:⚠️ 待审 · GuardDog 复核:未扫描 · OSV 依赖:未扫描
True
{'hardcoded_secrets': [{'file': 'dsh-whale-musume-main/assets/dsh-whale-moe.js', 'line': 2284, 'match': 'apikey=" + encodeURIComponent(key) : "', 'label': '明文凭据'}, {'file': 'dsh-whale-musume-main/docs/superpowers/plans/2026-08-15-meme-dialogue-weather.md', 'line': 1152, 'match': 'apikey=" + encodeURIComponent(key) : "', 'label': '明文凭据'}, {'file': 'dsh-whale-musume-main/tools/create-release.mjs', 'line': 27, 'match': 'password=")) token = line.slice("', 'label': '明文凭据'}, {'file': 'dsh-whale-musume-main/tools/create-release.mjs', 'line': 27, 'match': 'password=".length).trim();\n }\n if (token) console.log("', 'label': '明文凭据'}, {'file': 'dsh-whale-musume-main/tools/fork-as.mjs', 'line': 21, 'match': 'password=")) token = line.slice(9).trim();\n}\nif (!token) {\n console.error("', 'label': '明文凭据'}, {'file': 'dsh-whale-musume-main/tools/gh-discussions.mjs', 'line': 30, 'match': 'password=")) token = line.slice(9).trim();\n}\nif (!token) {\n console.error("', 'label': '明文凭据'}, {'file': 'dsh-whale-musume-main/tools/gh-issue.mjs', 'line': 22, 'match': 'password=")) token = line.slice(9).trim();\n if (token) console.log("', 'label': '明文凭据'}, {'file': 'dsh-whale-musume-main/tools/gh-push-files.mjs', 'line': 22, 'match': 'password=")) token = line.slice(9).trim();\n if (token) console.log("', 'label': '明文凭据'}, {'file': 'dsh-whale-musume-main/tools/gh-scopes.mjs', 'line': 12, 'match': 'password=")) token = line.slice(9).trim();\nif (!token) {\n console.error("', 'label': '明文凭据'}, {'file': 'dsh-whale-musume-main/tools/make-profile-card.mjs', 'line': 23, 'match': 'password=")) token = line.slice(9).trim();\n } catch { /* 无凭据就走匿名 */ }\n}\nconst h', 'label': '明文凭据'}, {'file': 'dsh-whale-musume-main/tools/set-user-profile.mjs', 'line': 22, 'match': 'password=")) token = line.slice(9).trim();\n if (token) console.log("', 'label': '明文凭据'}, {'file': 'dsh-whale-musume-main/tools/setup-profile-repo.mjs', 'line': 28, 'match': 'password=")) token = line.slice(9).trim();\n if (token) console.log("', 'label': '明文凭据'}, {'file': 'dsh-whale-musume-main/tools/submit-listing-pr.mjs', 'line': 21, 'match': 'password=")) token = line.slice(9).trim();\n if (token) console.log("', 'label': '明文凭据'}, {'file': 'dsh-whale-musume-main/tools/submit-pr-from-upstream.mjs', 'line': 22, 'match': 'password=")) token = line.slice(9).trim();\n if (token) console.log("', 'label': '明文凭据'}, {'file': 'dsh-whale-musume-main/tools/update-release.mjs', 'line': 22, 'match': 'password=")) token = line.slice(9).trim();\n if (token) console.log("', 'label': '明文凭据'}, {'file': 'dsh-whale-musume-main/tools/update-repo-meta.mjs', 'line': 29, 'match': 'password=")) token = line.slice(9).trim();\n}\nif (!token) {\n console.error("', 'label': '明文凭据'}], 'excessive_permissions': [{'file': 'dsh-whale-musume-main/tools/dom-stub.mjs', 'line': 355, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dsh-whale-musume-main/tools/dom-stub.mjs', 'line': 361, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dsh-whale-musume-main/tools/gh-scopes.mjs', 'line': 38, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dsh-whale-musume-main/tools/gh-scopes.mjs', 'line': 39, 'match': 'exec(', 'label': '命令执行'}]}git-refresh
main
未复核。
未查询。