Install verification: Ecosystem plugin: installs via dsh plugin add but declares no dsh.bundle and mounts no plugin capability — the L1-L5 install ladder does not rate it; the security scan still runs.Install verification details →
What it doesAI
Local-first desktop app that schedules AI agent tasks like cron jobs with zero token cost until run, supporting files, web, MCP tools, multi-model.
- Schedules AI agent tasks like cron jobs
- Local-first: no token cost until tasks run
- Supports files, web, MCP tools, multi-model
Capability tags are AI-inferred or rule-extracted from the README (see badge) — vocabulary-limited, not install-verified. AI = inferred; README = literal keyword from the readme.
Installation
dsh plugin --profile web add github:XSakura666/dsh-plugin-ChronoAgent#dsh-pluginInstall method: GitHub · runtime test inconclusive (L5 unknown)
Verification & Compatibility○ Ecosystem plugin
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 | dsh 0.2.1-alpha.2 | dsh 0.2.0-rc.2 | dsh 0.1.7-rc.2 | dsh 0.1.6-alpha.2 |
|---|---|---|---|---|---|
| dsh-plugin | ○ | ○ | ○ | ○ | ○ |
| c4799e | · | · | · | ○ | · |
dsh-plugingithub○ 9 ecosystem plugin2026-10-20
https://github.com/XSakura666/dsh-plugin-ChronoAgent
○dsh 0.2.1-rc.2current2026-10-20Ecosystem plugin
- • Node.js: v24.14.0
- • DSH: 0.2.1-rc.2
- • Plugin artifact: github · https://github.com/XSakura666/dsh-plugin-ChronoAgent#dsh-plugin
ID: dsh-plugin-chronoagent@dsh-plugin@dsh0.2.1-rc.2 · profile: l4-sandbox
Issued: 2026-10-20 · expires: 2026-10-27
View checks & evidence
not present in web-profile loader inventory
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
○dsh 0.2.1-alpha.22026-10-12Ecosystem plugin
- • Node.js: v24.14.0
- • DSH: 0.2.1-alpha.2
- • Plugin artifact: github · https://github.com/XSakura666/dsh-plugin-ChronoAgent#dsh-plugin
ID: dsh-plugin-chronoagent@dsh-plugin@dsh0.2.1-alpha.2 · profile: l4-sandbox
Issued: 2026-10-12 · expires: 2026-10-19
View checks & evidence
not present in web-profile loader inventory
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
○dsh 0.2.0-rc.22026-10-09Ecosystem plugin
- • Node.js: v24.14.0
- • DSH: 0.2.0-rc.2
- • Plugin artifact: github · https://github.com/XSakura666/dsh-plugin-ChronoAgent#dsh-plugin
ID: dsh-plugin-chronoagent@dsh-plugin@dsh0.2.0-rc.2 · profile: l4-sandbox
Issued: 2026-10-09 · expires: 2026-10-16
View checks & evidence
not present in web-profile loader inventory
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
○dsh 0.1.7-rc.22026-09-25Ecosystem plugin
- • Node.js: v24.14.0
- • DSH: 0.1.7-rc.2
- • Plugin artifact: github · https://github.com/XSakura666/dsh-plugin-ChronoAgent#dsh-plugin
ID: dsh-plugin-chronoagent@dsh-plugin@dsh0.1.7-rc.2 · profile: l4-sandbox
Issued: 2026-09-25 · expires: 2026-10-02
View checks & evidence
not present in web-profile loader inventory
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
○dsh 0.1.6-alpha.22026-09-20Ecosystem plugin
- • Node.js: v24.14.0
- • DSH: 0.1.6-alpha.2
- • Plugin artifact: github · https://github.com/XSakura666/dsh-plugin-ChronoAgent#dsh-plugin
ID: dsh-plugin-chronoagent@dsh-plugin@dsh0.1.6-alpha.2 · profile: l3-fullscan
Issued: 2026-09-20 · expires: 2026-09-27
View checks & evidence
not present in web-profile loader inventory
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
○dsh 0.1.6-alpha.12026-09-16Ecosystem plugin
- • Node.js: v24.14.0
- • DSH: 0.1.6-alpha.1
- • Plugin artifact: github · https://github.com/XSakura666/dsh-plugin-ChronoAgent#dsh-plugin
ID: dsh-plugin-chronoagent@dsh-plugin@dsh0.1.6-alpha.1 · profile: l4-sandbox
Issued: 2026-09-16 · expires: 2026-09-23
View checks & evidence
not present in web-profile loader inventory
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
○dsh 0.1.5-rc.22026-09-11Ecosystem plugin
- • Node.js: v24.14.0
- • DSH: 0.1.5-rc.2
- • Plugin artifact: github · https://github.com/XSakura666/dsh-plugin-ChronoAgent#dsh-plugin
ID: dsh-plugin-chronoagent@dsh-plugin@dsh0.1.5-rc.2 · profile: l4-sandbox
Issued: 2026-09-11 · expires: 2026-09-18
View checks & evidence
not present in web-profile loader inventory
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
○dsh 0.1.3-alpha.22026-09-09Ecosystem plugin
- • Node.js: v24.14.0
- • DSH: 0.1.3-alpha.2
- • Plugin artifact: github · https://github.com/XSakura666/dsh-plugin-ChronoAgent#dsh-plugin
ID: dsh-plugin-chronoagent@dsh-plugin@dsh0.1.3-alpha.2 · profile: l4-sandbox
Issued: 2026-09-09 · expires: 2026-09-16
View checks & evidence
not present in web-profile loader inventory
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
○prehistory2026-09-30Ecosystem plugin
- • Node.js: v24.14.0
- • DSH: unknown
- • Plugin artifact: github · https://github.com/XSakura666/dsh-plugin-ChronoAgent#dsh-plugin
ID: dsh-plugin-chronoagent@dsh-plugin@dshunknown · profile: l3-fullscan
Issued: 2026-09-30 · expires: 2026-10-07
View checks & evidence
not present in web-profile loader inventory
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
c4799egithub○ 1 ecosystem plugin2026-09-24
https://github.com/XSakura666/dsh-plugin-ChronoAgent
○dsh 0.1.7-rc.22026-09-24Ecosystem plugin
- • Node.js: v24.14.0
- • DSH: 0.1.7-rc.2
- • Plugin artifact: github · https://github.com/XSakura666/dsh-plugin-ChronoAgent (version unstated)
ID: dsh-plugin-chronoagent@c4799e@dsh0.1.7-rc.2 · profile: l4-sandbox
Issued: 2026-09-24 · expires: 2026-10-01
View checks & evidence
This level was not executed in this scan.
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
Author badges
Embed the official badges in your README to showcase security & install-test status:
`[](https://www.dsh.so/artifact/dsh-plugin-chronoagent/)`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 medium (authoritative when present) → overall medium.
v0.3.0dsh-plugingit2026-10-25dsh-pluginsame versionclean · gitVet is an AST static scan (npm artifact or git source).
show static findings (7)
- criticalshellExec · shell
src/tools.js:93exec(cmd, { - warningfsWrite · files
genicon.js:94fs.writeFileSync(path.join(dir, 'icon.png'), png); - warningfsWrite · files
genicon.js:95fs.writeFileSync(path.join(dir, 'icon.ico'), ico); - warningchildProcess · code-exec
src/mcp.js:72this.proc = spawn(cfg.command, cfg.args || [], { - warningfsWrite · files
src/store.js:31fs.writeFileSync(tmp, JSON.stringify(this.data, null, 2), 'utf8'); - warningfsWrite · files
src/store.js:35fs.writeFileSync(this.filePath, JSON.stringify(this.data, null, 2), 'utf8'); - warningfsWrite · files
src/tools.js:53fs.writeFileSync(p, String(args.content != null ? args.content : ''), 'utf8');
show 3 audit findings
- mediumModel-controlled run_command executes arbitrary shell commands via child_process.exec once allowShell is enabled
src/tools.js:93Once the user turns on allowShell, the command string comes straight from the LLM tool call and is not validated, allow-listed or escaped; any content the agent reads or fetches (web pages, files) can steer it into running arbitrary commands with the user's privileges. The tool is only added to the tool list when allowShell is true, and the setting defaults to false and is labelled 'dangerous', so exploitation needs that explicit opt-in as a precondition.
- mediumFile tools accept absolute paths, so the agent can read and write anywhere on the machine
src/tools.js:11read_file/write_file/list_files have no workspace confinement and no write toggle; the model (again steerable through injected web/file content) can read secrets such as ~/.ssh or credential files, or overwrite persistence paths (shell rc files, autostart entries, the app's own data.json) with the user's privileges. Only a size cap and a binary check apply.
- lowStored memory and tool output are replayed into the model context as user-role messages
src/ai.js:110Memory entries hold up to 2000 chars of previous task results, which can include attacker-supplied web content, and are re-injected as a user message on every later run with the same tool privileges. A single malicious fetch can therefore persist instructions across runs. Impact is limited because the text is prefixed as reference-only and the sources are the agent's own prior runs.
DSH plugin itself is benign; the bundled Electron app gives the LLM an opt-in unvalidated shell and unconfined absolute-path file tools, which is a real but user-gated risk.
Rule (2026-10-24): when a dynamic conclusion exists it is authoritative (it may raise or lower the level); without one, the static/vet fused tier applies. The audit never writes the exemption list (exemptions are manual only); a wrong conclusion is withdrawn by human review and the tier falls back to static/vet.
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-08-16 · activity: Stable
• Repo created: 2026-08-15
• Stars: ★ 1 · Forks: 0
• Health: Stable — committed within 90 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).
