mirage
strukto-ai
The World's First Unified Virtual Filesystem For AI Agents
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:khiqwq/dsh-credentials-system
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
DeepSeek Harness credential provider backed by the operating system's user-bound secret protection. Version 0.1 supports Windows x64/ARM64 through DPAPI CurrentUser.
$DSH_HOME/.credentials.system.json contains only versioned DPAPI ciphertext and reference names.describe() returns only configured, source, and writable; there is no reveal API.scrypt plus AES-256-GCM; the passphrase and plaintext are never written beside the export.This protects a copied credential file and prevents routine configuration views from disclosing values. It cannot protect secrets from malicious code already executing as the Harness process, memory inspection, a compromised Windows account, or a proxy that necessarily receives its own authentication credential.
Replace the built-in plaintext provider; never run it as an automatic fallback:
- id: credentials
name: '@deepseek-ai/dsh-credentials-local'
disabled: true
- insert:
- id: credentials-system
name: dsh-credentials-system
Consumers store only references, for example:
proxies:
office:
url: http://proxy.example:8080
username: alice
passwordRef: DSH_PROXY_OFFICE_PASSWORD
The Harness plugin configuration UI should submit a new value through the write-only credentials API. It must render an empty password field plus “configured/not configured”, never a decrypted value or ciphertext.
provider.migrateLegacy({ refs?, archive? }) performs an explicit Host-side migration from $DSH_HOME/.credentials.yaml:
.credentials.yaml.migrated only when every entry migrated.The renamed file is still plaintext. Delete it after verifying the new provider; it is retained rather than automatically destroyed so an interrupted migration cannot cause credential loss. Partial migration never renames or deletes the source.
Portable export is an explicit backup/migration operation, not the runtime backend. The complete payload—including reference names—is encrypted using scrypt (N=131072, r=8, p=1) and AES-256-GCM. A wrong passphrase and a damaged file intentionally return the same error.
@deepseek-ai/dsh-credentials-local stores plaintext in $DSH_HOME/.credentials.yaml. Owner-only file permissions and role("secret") redaction are useful boundaries, but they are not encryption. This provider must not silently fall back to it.
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: credentials。