Skip to content

v0.14.5

Latest

Choose a tag to compare

@squirrel20 squirrel20 released this 10 Oct 01:07

Security fix

Fixes #6: sandbox-confined sessions could create cron jobs that executed with host privileges, through agent access overrides, command tasks, or delivery commands.

  • Mutating cron tools now require effective danger-full-access sandbox permissions and never approval. Restricted, Auto, unresolved, and unavailable permissions fail closed.
  • Manual jobs carry authorization bound to their exact spec, with checks before dispatch and delivery, including after waiting for execution capacity.
  • Command and delivery processes use an explicit environment allowlist. Additional variable names must be granted by the operator through commandEnv.
  • Explicit agent access setup errors stop the run before prompt submission.
  • HTTP write endpoints require an independent operator token, preventing loopback HTTP from bypassing tool authorization.

Upgrade requirements

  • Existing manual jobs are quarantined until reviewed and saved again. Job specs and history are retained. Review task, access, cwd, and delivery, then use Edit → Save. Enable and Run now cannot bypass this check.
  • Web writes require webControlToken: configure a random secret of at least 32 characters in protected host configuration. The UI prompts for it and keeps it only in memory. Unset/short tokens disable web writes. Never share it with a restricted agent; use HTTPS for remote access.
  • Cron remains host administration: this release does not add sandboxed cron execution for restricted sessions. Config-declared and plugin-registered jobs remain trusted host declarations.
  • Scripts that relied on inherited application credentials must explicitly configure required environment variable names in commandEnv.

See README / README.zh-CN.md for the full security boundary and migration details.

Compatibility and validation

  • Includes declared dsh 0.2.0-rc.2 compatibility.
  • All 109 tests passed, including security, migration/restart, environment filtering, and browser token flow regressions.
  • Authorization schema round-trip and module imports checked against installed dsh 0.2 host packages.

Install

dsh plugin --profile web add https://github.com/squirrel20/dsh-cron/releases/download/v0.14.5/dsh-cron.tgz

The npm package named dsh-cron is unrelated. Install this GitHub Release asset or use the Plugin Market.