bx33661/dsh-omv
Native DeepSeek Harness workbench for evidence-first vulnerability research, reproduction, and reporting.
Listed
1
Tools
Bundle verified
What it does
Evidence-first vulnerability research workbench for DeepSeek Harness: native audit views, 29 OMV tools, Evidence.v1 findings, reproducible runs, Campaign workflows, and isolated PoC evidence.
Best for
- Security researchers managing findings from candidate identification through validation, reproduction, reporting, and disclosure.
- Teams that need structured Evidence.v1 findings, source-to-sink-to-guard chains, provenance, and reproducible runs.
- Parallel audit programs that benefit from durable campaigns, bounded concurrency, isolated PoCs, and restart recovery.
Not ideal for
- General DSH users who do not conduct vulnerability research or manage evidence-backed findings.
- Environments below Node.js 22 or without the required DSH Web bundle integration.
- Remote exposure without an authentication proxy or trusted-network isolation; enabling remote access disables the documented host guards while mutation APIs remain unauthenticated.
README
OMV Audit Desk (dsh-omv)
An evidence-first vulnerability audit workbench for DeepSeek Harness, powered by the public oh-my-vul API.
中文文档 · Architecture · DSH integration guide
OMV Audit Desk is the product name; dsh-omv remains the package id for upgrade compatibility. It is a dual-face, native DSH bundle:
- a Node plugin joins DSH web-server, tool, command, system-prompt, and workspace-registry services;
- a browser client contributes a conversation view, session status, composer context, command rows, settings section, and workspace launcher;
-
cordis.patch.ymlinstalls both faces into a DSH Web profile.
Features
- Evidence-maturity dashboard with five contextual dimensions instead of a single completion percentage
- Candidate, confirmed, blocked, and archived finding ledger
-
source → sink → guardevidence-chain inspection - Derived Audit Loop stages, persistent Finding-to-Session links, workflow history, and Evidence diffs
- One-click Agent workflows for audit, reproduction, deduplication, adversarial review, reporting, and disclosure
- Doctor issues, review verdicts, open questions, and exact next actions without circular score deductions
- Durable Campaign Runner with bounded concurrency, one native DSH forked session per lane, pause/resume/cancel/retry, and restart recovery
- Provenance-aware Evidence Graph, stage-aware report conditions, and structured reproduction runs
- Closed-loop PoC laboratory: editable drafts, explicit approval, Docker isolation,
/output/result.json, artifact hashes, provenance, and manual Evidence adoption - Dedicated quality center, reproduction lab, dedup intelligence, report-readiness signals, and Campaign Graph
- DSH-native visual system that uses the host background layers, borders, typography, and alias colors directly, with calm hierarchy, sticky workbench chrome, and responsive mobile breakpoints
- Campaign outcomes distinguish completed work from blocked lanes that still need attention
- Campaign compatibility diagnostics isolate malformed YAML, normalize common registry aliases, and repair derived metadata from the workbench
- Workspace-wide search, recent activity feed, and native DSH Job status with contextual repair-and-retry
- SSE workspace synchronization with polling fallback
- Recent workspace activity surfaced on the overview page
- Candidate creation, validation, reproduction scaffolding, promotion, and restore actions
- 29 model tools covering workspace quality, DSH lifecycle diagnostics, Finding, workflow, Campaign Runtime, evidence provenance, reproduction, PoC isolation, dedup, and search
- 19 durable
/omv*commands, includingomv-dedupand the Campaign Runtime set - Automatic binding to the current DSH session workspace
- Native tool presentation, including an OMV-keyed
tool.call.toolviewcard with expandable arguments/results and trajectory inspection, plus an evidence-first Agent system-prompt section - Central cooperative cancellation guards on every native OMV tool invocation
- Native
omvCordis service for other plugins, lifecycle diagnostics viaomv_runtime_status, and typeddsh-omv/tool-resultevents - User preference persistence: uses the native
dsh-omvsettings namespace when the Host exposes it, with a browser-local fallback on DSH rc.6; deployment knobs remain in Cordis Config - Protocol v2 payloads, additive
?protocol=1compatibility, and complete workspace export
Install
There are two separate installation steps: npm install prepares this checkout’s dependencies and build output; dsh plugin --profile web add ... installs the plugin into the DSH Web profile. Choose one of the following modes.
Source development (recommended for UI work)
Use a local link when you need hot reload. The link points the profile at this checkout, while npm run dev watches src/ and lets DSH client-HMR refresh the open page.
cd /path/to/dsh-omv
npm install
dsh plugin --profile web add link:.
npm run dev
dsh --profile web
Keep npm run dev running while editing. React component state may reset according to DSH HMR behavior; this is not full page-state persistence. If the profile previously used a regular local install, switch it explicitly:
dsh plugin --profile web remove dsh-omv
dsh plugin --profile web add link:.
Stable local install
Use this mode when you want to run a fixed checkout without hot reload. After source changes, rebuild and add the local package again.
cd /path/to/dsh-omv
npm install
npm run build
dsh plugin --profile web add .
dsh --profile web
Packed install
Use a tarball to transfer or install a specific build on another machine. npm pack prints a versioned filename; use the actual filename it prints. A tarball does not provide source hot reload.
cd /path/to/dsh-omv
npm install
npm pack --silent
dsh plugin --profile web add ./dsh-omv-<version>.tgz
dsh --profile web
Local checkouts and already-built tarballs do not need an extra pnpm allowBuilds entry. Update an installed package with dsh plugin --profile web update dsh-omv, or remove it with dsh plugin --profile web remove dsh-omv.
The Vulnerability audit entry opens or reuses the configured DSH Workspace. Every session then exposes a Vulnerability audit tab beside Chat and Trajectory. Verify the profile after installation with:
dsh --profile web --dump-config
The output should include the dsh-omv configuration layer. If source changes do not appear, confirm that the profile uses link:. and that npm run dev is still running.
Configure
Override the row in $DSH_HOME/profiles/web/cordis.patch.yml:
- id: dsh-omv
config:
projectRoot: '/absolute/path/to/repository'
apiPrefix: '/api/dsh-omv'
allowMutations: true
allowRemoteAccess: false
activityLimit: 60
refreshIntervalMs: 15000
campaignConcurrency: 3
watchDebounceMs: 90
eventHeartbeatMs: 20000
httpBodyLimitBytes: 262144
Relative projectRoot values resolve from the directory where DSH starts. A patch replaces the complete config value, so retain every field you still need.
Security model
- By default the API is loopback-only: the client address must be
127.0.0.1/::1and theHostheader must belocalhost/127.0.0.1/[::1]. The Host check blocks browser DNS-rebinding pages from reading/exportor forging/actionmutations. -
allowRemoteAccess: truedisables both guards, and the whole API (including every mutation action) has no authentication. Only enable it on a trusted network, behind your own auth proxy or network isolation. - Local access through a non-loopback hostname (for example a custom hosts domain) also requires
allowRemoteAccess: trueto pass the Host check.
Other plugins can consume the host capability without depending on the HTTP bridge:
import type { Context } from '@deepseek-ai/cordis'
export const inject = ['omv']
export function apply(ctx: Context) {
ctx.on('dsh-omv/tool-result', event => {
console.log(event.name, event.ok ? 'ok' : 'failed')
})
void ctx.omv.workbench.health()
}
See README.zh-CN.md for architecture, API, packaging, and configuration details. The implementation-to-guide checklist and follow-up iterations live in DSH-INTEGRATION.md.
License
MIT
Project structure
The source is split across the DSH host entry, client pages, UI primitives, runtime adapters, and shared contracts; all tests live under tests/. See ARCHITECTURE.md. The repository keeps the full audit desk overview at omv-audit-desk-overview.png; build archives, local .omv data, continuation state, and internal planning notes are ignored.
Frequently Asked QuestionsFAQ
Use the verified command dsh plugin --profile default add github:bx33661/dsh-omv in a DSH-enabled shell. The command resolves the public package metadata and keeps the plugin attached to the catalog identity shown on this page.
Compatibility follows the bundle and profile status shown above. If a profile is not detected, keep the plugin disabled there and check the repository documentation before enabling it in production.
The GitHub link and activity metadata are the source of truth for releases and maintenance. Revisit this page after a new release to confirm the catalog has observed the latest version.