| Version | Supported |
|---|---|
| 0.1.x | ✅ |
If you discover a security vulnerability in this project, please report it privately rather than opening a public GitHub issue.
Use GitHub's private security advisory form for the published repository. Until publication, contact the repository owner privately.
Please include:
- A clear description of the vulnerability
- Steps to reproduce (or a proof-of-concept)
- The affected version(s)
- The potential impact (what an attacker could do)
You should expect an acknowledgement within 72 hours. After triage we will either:
- Confirm the issue and start working on a fix, or
- Decline with a clear explanation (e.g. out of scope / by design)
We follow a 90-day disclosure policy. Critical issues may be patched faster.
This SDK is a process wrapper around @deepseek-ai/dsh. Its threat model is:
- Arbitrary code execution via untrusted task prompts passed to
dsh_run/dsh_run_stream- The agent may invoke dsh's own tools (bash, fs, web) which can affect the host
- Mitigation: only run this SDK with dsh profiles and LLM credentials you trust
- Path traversal when
cwdorpatchescome from untrusted callers- Mitigation: validate
cwdagainst an allowlist before callingDshClient.run
- Mitigation: validate
- TOML injection into
~/.codex/config.tomlviacodexInstall- Mitigation: all values are TOML-escaped; user comments and other sections are preserved verbatim; parsed with smol-toml before write
- Process spawn DoS via large
replicascount or runaway task count- Mitigation:
MaxInstancesand timeouts; rate-limiting recommended at the application layer above this SDK
- Mitigation:
- Vulnerabilities in
@deepseek-ai/dshitself - please report upstream - Vulnerabilities in LLM providers (DeepSeek, OpenAI, Anthropic, etc.)
- Vulnerabilities in the user's local dsh home directory or its permissions
- Social-engineering attacks against the user
When exposing this SDK to an LLM agent:
- Run the entire process under OS-level sandboxing (Windows Job Objects, Linux namespaces, macOS sandbox-exec, Docker, gVisor, firecracker, etc.)
- Set
DSH_HOMEto an isolated directory the agent cannot escape - Never commit API keys; load them from the host's secret manager
- Set a hard
costBudgetUsdon everyDshClusterto prevent runaway spend - Review the agent's tool permissions per profile (
cordis.patch.yml)
We thank the following reporters (no vulnerabilities reported yet):
This section will be updated as responsible disclosures are resolved.
This SDK does not introduce custom cryptography. It uses Node's built-in
crypto.createHash("sha256") only for cache-key derivation and integrity
checksums. Authenticated encryption is delegated to TLS (via the underlying
dsh process and LLM provider SDKs).