chuspeeism/dashi-taskboard| 认证等级 | L2 |
| 验证状态 | self-declared(单方声明,待独立验证) |
| 验证方法 | 未登记 structured verifiedBy |
| 运行级实测 | 未做运行级实测 |
| 内容锚 | git commit bd264e7ff340 · chuspeeism/dashi-taskboard · git ls-remote / clone 复现可对账 |
| DID | did:cha2a:package:chuspeeism/dashi-taskboard |
| 身份锚点 | npm 未声明 GitHub 仓库——装前请自行核验来源 |
| 来源 | git |
| 插件版本 | — |
| 安装 | dsh plugin add github:chuspeeism/dashi-taskboard |
| 扫描日期 | 2026-08-26(37 天前) |
| 扫描层级 | 静态扫描(自研规则 + GuardDog 复核 + OSV 依赖) |
| 扫描器版本 | dshlib-scan v0.1 · GuardDog 3.2.0 · OSV.dev |
自研扫描:⚠️ 待审 · GuardDog 复核:未扫描 · OSV 依赖:未扫描
True
{'dangerous_commands': [{'file': 'dashi-taskboard-main/cloud/migrations/0009_remove_workflow_schema.sql', 'line': 4, 'match': 'DROP TABLE', 'label': '数据库破坏'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 488, 'match': 'DROP TABLE', 'label': '数据库破坏'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 758, 'match': 'DROP TABLE', 'label': '数据库破坏'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 892, 'match': 'DROP TABLE', 'label': '数据库破坏'}, {'file': 'dashi-taskboard-main/src-tauri/src/main.rs', 'line': 1216, 'match': 'shutdown', 'label': '系统关机'}, {'file': 'dashi-taskboard-main/src-tauri/src/main.rs', 'line': 1222, 'match': 'shutdown', 'label': '系统关机'}, {'file': 'dashi-taskboard-main/test/ai-chat-runner.test.mjs', 'line': 378, 'match': 'shutdown', 'label': '系统关机'}, {'file': 'dashi-taskboard-main/test/ai-chat-server.test.mjs', 'line': 384, 'match': 'shutdown', 'label': '系统关机'}, {'file': 'dashi-taskboard-main/test/cloud-migration.test.mjs', 'line': 164, 'match': 'TRUNCATE', 'label': '数据库破坏'}], 'data_exfiltration': [{'file': 'dashi-taskboard-main/cloud/src/index.mjs', 'line': 260, 'match': 'token = readCookie(request', 'label': '凭据字段进入网络请求'}, {'file': 'dashi-taskboard-main/cloud/src/index.mjs', 'line': 299, 'match': 'credentials = decodeBasicCredentials(request', 'label': '凭据字段进入网络请求'}, {'file': 'dashi-taskboard-main/server/codex-app-server.mjs', 'line': 20, 'match': 'process.env, request', 'label': '读取敏感数据后发起网络请求'}, {'file': 'dashi-taskboard-main/test/local-automation-wait.test.mjs', 'line': 185, 'match': 'readFile, writeFile, fetch', 'label': '读取敏感数据后发起网络请求'}], 'excessive_permissions': [{'file': 'dashi-taskboard-main/scripts/migrate-to-cloud.mjs', 'line': 197, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/app.mjs', 'line': 876, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 262, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 268, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 469, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 479, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 486, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 488, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 492, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 501, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 504, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 509, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 513, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 516, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 519, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 522, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 525, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 528, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 531, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 534, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 539, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 542, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 545, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 548, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 551, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 554, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 557, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 560, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 563, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 566, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 568, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 574, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 587, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 590, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 591, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 593, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 595, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 600, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 602, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 628, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 630, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 634, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 638, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 693, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 702, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 705, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 714, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 718, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 721, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 724, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 726, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 731, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 741, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 758, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 763, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 766, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 767, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 792, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 795, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 797, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 798, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 799, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 800, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 844, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 846, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 895, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 897, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 900, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 986, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 1159, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 1161, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 1229, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 1259, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 1261, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 1334, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 1367, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 1369, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 1542, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 1564, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 1566, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 1592, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 1611, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 1613, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 1650, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 1672, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 1675, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 1809, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 1900, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 1903, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2016, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2045, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2047, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2083, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2099, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2101, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2118, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2134, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2136, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2156, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2172, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2174, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2181, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2195, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2198, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2204, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2258, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2264, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2270, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2290, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2342, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2355, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2361, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2399, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2424, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2426, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2445, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2460, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2462, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2498, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2516, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2518, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2533, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2552, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/server/database.mjs', 'line': 2554, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/shared/composer-reference.mjs', 'line': 80, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/src-tauri/src/main.rs', 'line': 706, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/src-tauri/src/main.rs', 'line': 1754, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/test/cloud-migration.test.mjs', 'line': 73, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/test/cloud-migration.test.mjs', 'line': 164, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/test/cloud-migration.test.mjs', 'line': 166, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/test/cloud-migration.test.mjs', 'line': 348, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/test/cloud-migration.test.mjs', 'line': 727, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/test/cloud-migration.test.mjs', 'line': 1083, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/test/cloud-shared-worker.test.mjs', 'line': 419, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/test/cloud-shared-worker.test.mjs', 'line': 485, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/test/helpers/cloud-worker-harness.mjs', 'line': 76, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/test/server.test.mjs', 'line': 163, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/test/server.test.mjs', 'line': 302, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/web/src/App.tsx', 'line': 519, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/web/src/components/AiChat.tsx', 'line': 580, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/web/src/components/AiChat.tsx', 'line': 675, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/web/src/components/AiChat.tsx', 'line': 1643, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/web/src/components/AiChat.tsx', 'line': 2129, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/web/src/components/InlineMediaComposer.tsx', 'line': 698, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/web/src/components/InlineMediaComposer.tsx', 'line': 769, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/web/src/components/InlineMediaComposer.tsx', 'line': 776, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/web/src/components/InlineMediaComposer.tsx', 'line': 872, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/web/src/components/InlineMediaComposer.tsx', 'line': 892, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/web/src/components/InlineMediaComposer.tsx', 'line': 1030, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/web/src/documentModel.ts', 'line': 131, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/web/src/documentModel.ts', 'line': 215, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/web/src/documentModel.ts', 'line': 252, 'match': 'exec(', 'label': '命令执行'}, {'file': 'dashi-taskboard-main/web/src/documentModel.ts', 'line': 261, 'match': 'exec(', 'label': '命令执行'}], 'hardcoded_secrets': [{'file': 'dashi-taskboard-main/test/jira-cloud-search.test.mjs', 'line': 22, 'match': 'password: "test-api-token"', 'label': '明文凭据'}]}git-refresh
main
未复核。
未查询。