Third-party plugin can silently disable core providers (fs-sandbox/bash/pwsh) via cordis.patch.yml #3421
Replies: 1 comment
|
I independently inspected the exact public npm artifact for One useful nuance: the published patch comments explicitly describe this as an intentional provider swap, so the artifact itself is not hiding the design. The unsafe UX boundary is that a successful A practical preflight would compose before/after through the same I expanded the handbook audit with the verified artifact, source-backed layer semantics, a pre-boot diff workflow, core-row watch list, and Agent-level workspace/shell probes: https://sandbaseai.github.io/deepseek-harness-handbook/deepseek-harness-plugin-audit.html |
Uh oh!
There was an error while loading. Please reload this page.
Summary
Installing the third-party plugin
@struktoai/mirage-dshviadsh plugin --profile web add @struktoai/mirage-dshsilently disables the core filesystem, shell, and PowerShell providers — even when the user never intends to use mirage's virtual workspace. A casual "install a plugin" leaves the agent without working file tools, bash, or PowerShell until the user manually removes the plugin.Risk level: High — any third-party bundle can patch
cordis.patch.ymlrows todisabled: trueon core components, and nothing warns the user at install time.Environment
0.1.0-rc.7@struktoai/mirage-dsh(installed viadsh plugin add)What happened
After installing mirage and restarting
dsh web, the composed config (dsh --profile web --dump-config) shows these core rows disabled:Replaced by mirage virtual providers (
mirage-fs,mirage-shell) with a singlerammount at/tmp. The user's file tools, bash, and PowerShell now operate on a virtual workspace instead of the host disk — or simply stop working if mirage's service fails to start.This comes from mirage's own
cordis.patch.yml(bundled with the package), which disables the host providers and inserts its own. The user never opts in —dsh plugin addmounts the bundle's patch layer automatically.Impact
pwshis the primary shell; disabling it breaks most tool usage--dump-config, the failure is confusing: tools "exist" in the catalog but don't workExpected behavior
dsh plugin addshould warn (or refuse) when a bundle's patch disables core provider rows (fs-sandbox,bash-sandbox,pwsh-sandbox,tool-pwsh,tool-fs-search)dsh-base(allowlist the base rows)Repro
Notes
This was found during a plugin audit on a real Windows install. Happy to provide more detail or test a fix.
All reactions