Install
Inside DeepSeek Harness, with dsh-market
dsh plugin --profile web add dshmarket
Or from the command line
dsh plugin --profile web add @aaub-software/dsh-semgrep-sast
Installing runs third-party code with your own permissions — it can read your files, use your credentials and reach the network. Review the source first, and pin a commit (github:owner/repo#sha) when you can.
README
@aaub-software/dsh-semgrep-sast is a Cordis bundle that registers the
model-facing semgrep_scan tool in
DeepSeek Harness.
The default managed runtime supports Windows x64 and includes CPython 3.14.7 and Semgrep 1.175.0. Users do not need to install Python or Semgrep separately.
Install
DeepSeek Harness and Node.js 24 or newer are required. Install the bundle into the profile you use, for example:
dsh plugin --profile web add @aaub-software/dsh-semgrep-sast
Restart the profile after installation. The agent will then see the
semgrep_scan tool.
Behavior and safety
- Scans only workspace-relative files and directories.
- Rejects paths and resolved symlinks that escape the active workspace.
- Uses the Semgrep Registry
p/defaultruleset. - Does not expose autofix and disables Semgrep metrics.
- Redirects Semgrep cache, settings, configuration, and logs to the temporary scan environment.
- Supports Harness cancellation, timeout, process-tree termination, bounded subprocess output, and bounded model-facing findings.
- Returns structured findings for contextual review; a rule match is not by itself a confirmed vulnerability.
Model-facing result
Version 0.2 returns the public ssc-sast/v1 contract from
@aaub-software/dsh-sast-contract. The Agent receives normalized JSON rather
than native Semgrep output:
{
"schemaVersion": "ssc-sast/v1",
"status": "completed",
"scanner": {
"name": "semgrep",
"version": "1.175.0",
"configuration": "p/default"
},
"scannedPaths": ["src/server.js"],
"findings": [],
"diagnostics": [],
"summary": {
"totalFindings": 0,
"returnedFindings": 0,
"truncated": false,
"durationMs": 125
}
}
Each finding contains a stable ID, scanner attribution, normalized rule
metadata, an exact workspace-relative location, and bounded evidence. Semgrep
matched code and metavariables are exposed as semgrep.matched-code and
semgrep.metavariables evidence when present. CWE, OWASP, references, and
fingerprints are retained only when Semgrep emitted them; the adapter does not
guess missing metadata. Diagnostics remain separate from security findings so
an incomplete scan cannot be mistaken for a clean scan.
On Windows, Semgrep Core cannot open the system certificate store inside the
current Harness ACL sandbox. A restricted first call does not start the scan.
Instead, it returns the standard permission-escalation hint. The model may retry
the same scan with sandbox_permissions: "danger-full-access" and a concise
justification; Harness asks the user for approval before execution.
The default ruleset is obtained from the Semgrep Registry at scan time and may require network access. Registry rules are not redistributed by this package.
Documentation and source
See the repository documentation for the complete English and Chinese guide, configuration reference, security controls, development instructions, and third-party license information.
Source: Baiiduu/dsh-semgrep-sast
Comments
Comments live in GitHub Discussions. Sign in with GitHub to post or react.