Install verification: sandbox install ok, web smoke failed (L5) · tested on dsh 0.2.1-rc.2 · last checked Install verification details →
What it does
在 DeepSeek Harness 里驱动 iOS 模拟器:21 个原生 ios_* 工具覆盖工程发现、构建、安装、启动、截图与日志,并提供设置页 | Drives the iOS Simulator from DeepSeek Harness: 21 native ios_* tools for Xcode project discovery, build, install, launch, screenshots and logs, plus a settings page.
Installation
dsh plugin --profile web add @zhz8888/dsh-ios-simulator-helperInstall method: npm · sandbox install ok, web smoke failed (L5)
Verification & Compatibility
Grouped by plugin version: each card lists the dsh versions actually tested against that artifact version and their install verdicts (L5 wins). Untested combinations are omitted — absence means untested, never assumed compatible. L1–L3 are a plugin-level static archive (independent of the dsh version — the same verdict on every dsh row): they sit in each row's level grid next to L4/L5, marked "static", while their evidence is stored once per plugin inside that row's "checks & evidence" instead of being duplicated per version.
External credentials (plugin-level): none detected
○ The author declares no dsh version requirement — install is not blocked by version.
| plugin \ dsh | dsh 0.2.1-rc.2 current |
|---|---|
| 1.1.3 | · |
| 1.1.2 | ✗ |
| v1.0.0 | · |
1.1.3npm2026-10-21
@zhz8888/dsh-ios-simulator-helper
No runtime install test for this version (static scan only) — compatibility unknown, never assumed.
1.1.2npm1 failed2026-10-20
@zhz8888/dsh-ios-simulator-helper
✗dsh 0.2.1-rc.2current2026-10-20L5 · failed
- • Node.js: v24.14.0
- • DSH: 0.2.1-rc.2
- • Plugin artifact: npm · @zhz8888/dsh-ios-simulator-helper@1.1.2
ID: dsh-ios-simulator-helper@1.1.2@dsh0.2.1-rc.2 · profile: l4-sandbox
Issued: 2026-10-20 · expires: 2026-10-27
View checks & evidence
↳ carried from earlier record dsh-ios-simulator-helper@1.1.3@dsh0.2.1-rc.2 (l3-fullscan)
↳ carried from earlier record dsh-ios-simulator-helper@1.1.3@dsh0.2.1-rc.2 (l3-fullscan)
↳ carried from earlier record dsh-ios-simulator-helper@1.1.3@dsh0.2.1-rc.2 (l3-fullscan)
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
v1.0.0github2026-10-18
https://github.com/zhz8888/dsh-ios-simulator-helper
No runtime install test for this version (static scan only) — compatibility unknown, never assumed.
Only the latest 3 published versions are shown; source-snapshot (commit hash) groups, unstated groups and older versions are omitted — the full archive stays in the data layer (snapshot/unstated groups appear only when a plugin has no published version).
Author badges
Embed the official badges in your README to showcase security & install-test status:
`[](https://www.dsh.so/artifact/dsh-ios-simulator-helper/)`Security Report
Two automated layers, neither a manual review: a static scan (per-plugin rule checks) and a model-driven dynamic security audit that covers only the subset static-flagged at warn or above and never executes plugin code.
Static low, dynamic low — stricter wins → overall low.
v1.1.3dsh manifest1.1.3npm2026-10-211.1.3same versionclean · npmVet is an AST static scan (npm artifact or git source).
show static findings (5)
- criticalshellExec · shell
lib/providers/ui.js:88return exec(rt, sim.udid, [ - criticalshellExec · shell
lib/providers/ui.js:106return exec(rt, sim.udid, [ - criticalshellExec · shell
lib/providers/ui.js:126return exec(rt, sim.udid, ['ui', 'text', input.text]) - warningchildProcess · code-exec
lib/util/run.js:27const child = spawn(actual, opts.cwd, env, opts.input !== undefined) - warningchildProcess · code-exec
lib/util/run.js:73function spawn(cmd, cwd, env, pipeStdin) {
show 3 audit findings
- lowWindows cmd.exe fallback escapes quotes with ^, which cmd.exe does not honor inside double quotes
lib/util/run.js:102On win32 a .bat/.cmd argv element containing a double quote could terminate the quoted region and inject further cmd.exe syntax (e.g. via ios_ui_type_text text). Not reachable today: every UI call passes through requireMacOS in providers/ui.js target(), all other spawned commands are fixed Apple binaries that never match .bat/.cmd, and the argument-less status() probe passes only '--version'.
- lowinside() checks the resolved path lexically, so a symlink already present in the workspace escapes the boundary
lib/util/path.js:62A model-supplied write path (ios_screenshot path, ios_create_app dir) that walks through a symlink inside the workspace resolves inside the workspace textually but writes outside it, with the plugin's privileges. Content written is plugin-generated (PNG bytes, scaffolded Swift/pbxproj from a sanitised name), so this is file creation/overwrite of limited content rather than arbitrary data write.
- lowbuild.js and project.js are imported but absent from the audited sample
lib/tools/index.js:5The xcodebuild argv assembly (including the user-configured extraBuildArgs passed through splitArgumentLines) and the Xcode-project scaffolding writes are not reviewed here; the highest-volume argument construction in the plugin is therefore unverified, leaving residual risk outside the evidence above.
No critical/high issues: every Apple tool call is spawn-with-shell:false behind a macOS gate; only low hardening gaps (unreachable cmd.exe quoting, symlink-blind path check).
Rule: the dynamic audit can only raise risk, never lower it (raise-only, never an exemption); a wrong raise is withdrawn by human review and the tier falls back to the static verdict. Overall verdict = the stricter of the two layers.
Disclaimer: the static scan and the dynamic security audit are both automated analysis, not a security guarantee. Always review what you install.
Activity
Last commit 2026-10-20 · activity: Active
• Repo created: 2026-10-16
• Stars: ★ 1 · Forks: 0
• Health: Active — committed within last 30 days
Source
Author README
View on GitHub ↗The author's original README from the repository — fetched live, unedited (the English page loads the default README).
