What it does
DeepSeek Harness 安卓通用控制端:Termux 引导、一键部署、内置浏览器与存储管理(dsh-plugin 生态)
Installation
dsh plugin --profile web add deepseek-harness-android-appInstall method: npm · not yet tested in container (L3+)
Compatibility
| DSH Version | Status |
|---|---|
| not stated | Declared — not tested |
Requirements
- • Node.js: not stated
- • DSH: declared "not stated"
- • External credentials: none detected
Security Report
Automated static scan, not manual review.
Critical findings in non-blocking categories (dynamic code execution, shell execution, install scripts, obfuscation). Common in CLI/terminal plugins but worth reviewing.
shell ×3code-exec ×1c27eb2dbef832026-08-16c27eb2dbef83The scan result is only valid for the scanned commit. If the latest commit differs, the badge shows outdated until the daily pipeline rescans.
Disclaimer: automated static analysis, not a security guarantee. Always review what you install.
• Static heuristic scan: done (3 files)
• Dependency vulnerabilities: requires deep audit (L3+)
• Permission sandboxing: requires runtime testing (L4+)
Scan findings · 11
- criticalChild process module usage (Node.js)daemon/server.mjs:13import { spawn, execFileSync } from 'node:child_process';
- criticalShell command execution (exec / execSync)daemon/server.mjs:116dshVersion = String(execFileSync(DSH_BIN, ['--version'], { timeout: 15000 })).trim();
- criticalShell command execution (exec / execSync)daemon/server.mjs:159try { node = String(execFileSync(PREFIX + '/bin/node', ['-v'], { timeout: 10000 })).trim(); } catch { /* ignore */ }
- criticalShell command execution (exec / execSync)daemon/server.mjs:162const out = String(execFileSync(PREFIX + '/bin/df', ['-h', HOME], { timeout: 10000 }));
- warningHTTP request to a raw IP addressdaemon/server.mjs:124const url = new URL(req.url, 'http://127.0.0.1');
- warningFilesystem write operationsdaemon/server.mjs:321fs.writeFileSync(f, body, 'utf8');
- infoHardcoded IP addressdaemon/server.mjs:34const s = net.connect({ port, host: '127.0.0.1' });
- infoHardcoded IP addressdaemon/server.mjs:124const url = new URL(req.url, 'http://127.0.0.1');
- infoHardcoded IP addressdaemon/server.mjs:397server.listen(PORT, '127.0.0.1', () => {
- warningHTTP request to a raw IP addressdaemon/start-daemon.sh:4if ! curl -s --max-time 2 http://127.0.0.1:8023/api/ping >/dev/null 2>&1; then
- infoHardcoded IP addressdaemon/start-daemon.sh:4if ! curl -s --max-time 2 http://127.0.0.1:8023/api/ping >/dev/null 2>&1; then
Heuristic static scan — may produce false positives. Review the source yourself before trusting.
Activity
Last commit 2026-08-16 · activity: Active
• Repo created: 2026-08-16
• Stars: ★ 4 · Forks: 1
• Health: Active — committed within last 30 days
