{"_id":"@aaub-software/dsh-semgrep-sast","_rev":"5-94fd00f9fc1dedda7d47092410ee2579","name":"@aaub-software/dsh-semgrep-sast","dist-tags":{"latest":"0.2.1"},"versions":{"0.1.0":{"name":"@aaub-software/dsh-semgrep-sast","version":"0.1.0","license":"MIT","_id":"@aaub-software/dsh-semgrep-sast@0.1.0","maintainers":[{"name":"xuzhongwang","email":"2698425919@qq.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"8fcfbe2dc49931780bb4ea0f475823b00548a1f1","tarball":"https://registry.npmjs.org/@aaub-software/dsh-semgrep-sast/-/dsh-semgrep-sast-0.1.0.tgz","fileCount":31,"integrity":"sha512-DjRnDwsWwlYpMm3DTq9x97lo5QvcotT/Ani8TAccpws4N2pp5LgZzWCl7iF1NyuYra4jscdZj+JjoNgAu74gMg==","signatures":[{"sig":"MEQCIDMNHw0Dxr61iC7mLt6WNmaiEmQ62HMJvEPOIlIpYgLIAiA7RzGvDdwKbnithyZMdpUDNO/UHJbgTWHUzOmq6AIRCw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63605},"main":"lib/index.js","type":"module","_from":"file:E:\\CodexData\\dsh-semgrep-publish-preflight-20260906\\aaub-software-dsh-semgrep-sast-0.1.0.tgz","types":"lib/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./package.json":"./package.json","./cordis.patch.yml":"./cordis.patch.yml"},"scripts":{"build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"xuzhongwang","email":"2698425919@qq.com"},"_resolved":"E:\\CodexData\\dsh-semgrep-publish-preflight-20260906\\aaub-software-dsh-semgrep-sast-0.1.0.tgz","_integrity":"sha512-DjRnDwsWwlYpMm3DTq9x97lo5QvcotT/Ani8TAccpws4N2pp5LgZzWCl7iF1NyuYra4jscdZj+JjoNgAu74gMg==","_npmVersion":"10.9.2","description":"Semgrep SAST bundle and model-facing scan tool for DeepSeek Harness.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@deepseek-ai/schemastery":"^3.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.0","@types/node":"^24.0.0","@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-tools":"^0.1.2-rc.1","@deepseek-ai/dsh-sandbox":"^0.1.2-rc.1","@deepseek-ai/dsh-subprocess":"^0.1.2-rc.1","@deepseek-ai/dsh-user-approval":"^0.1.2-rc.1","@deepseek-ai/dsh-sandbox-policy":"^0.1.2-rc.1"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-tools":"^0.1.2-rc.1","@deepseek-ai/dsh-sandbox":"^0.1.2-rc.1","@deepseek-ai/dsh-subprocess":"^0.1.2-rc.1","@deepseek-ai/dsh-user-approval":"^0.1.2-rc.1","@deepseek-ai/dsh-sandbox-policy":"^0.1.2-rc.1"},"optionalDependencies":{"@aaub-software/semgrep-runtime-win32-x64":"0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/dsh-semgrep-sast_0.1.0_1788685226605_0.939227418464442","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@aaub-software/dsh-semgrep-sast","version":"0.1.1","keywords":["deepseek-harness","dsh-plugin","semgrep","sast","security"],"license":"MIT","_id":"@aaub-software/dsh-semgrep-sast@0.1.1","maintainers":[{"name":"xuzhongwang","email":"2698425919@qq.com"}],"homepage":"https://github.com/Baiiduu/dsh-semgrep-sast#readme","bugs":{"url":"https://github.com/Baiiduu/dsh-semgrep-sast/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"d7e3c7ad7958d7b8e963adf2d610945cdccda9e4","tarball":"https://registry.npmjs.org/@aaub-software/dsh-semgrep-sast/-/dsh-semgrep-sast-0.1.1.tgz","fileCount":32,"integrity":"sha512-B7VhQQ3tz7uLpbGFm5r8OTgWH6FGaVW/BGTrq/8QVX4STt7mNDf6pmyyvbG+if7MStLIacfDvq7eATGHO+pLAw==","signatures":[{"sig":"MEYCIQDF60L4+Ak9hmXOLcgkDxbwYX9Av8x0pziD7n4AXCT6dAIhANbbbujHpftcFQqxj5cbBrQMufP/p1TyUh+ZvD2kVPe0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGgIW9sFnoEk3YAB0764N42EePlT70dLl6Vls4a91iPrAiB5evY/NOXdtImBgEntDoFG49WY2By4Gk1CV1gzBoKt/Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66172},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./package.json":"./package.json","./cordis.patch.yml":"./cordis.patch.yml"},"scripts":{"build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"xuzhongwang","email":"2698425919@qq.com"},"repository":{"url":"git+https://github.com/Baiiduu/dsh-semgrep-sast.git","type":"git","directory":"packages/bundle"},"description":"Semgrep SAST bundle and model-facing scan tool for DeepSeek Harness.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@deepseek-ai/schemastery":"^3.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.0","@types/node":"^24.0.0","@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-tools":"^0.1.2-rc.1","@deepseek-ai/dsh-sandbox":"^0.1.2-rc.1","@deepseek-ai/dsh-subprocess":"^0.1.2-rc.1","@deepseek-ai/dsh-user-approval":"^0.1.2-rc.1","@deepseek-ai/dsh-sandbox-policy":"^0.1.2-rc.1"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-tools":"^0.1.2-rc.1","@deepseek-ai/dsh-sandbox":"^0.1.2-rc.1","@deepseek-ai/dsh-subprocess":"^0.1.2-rc.1","@deepseek-ai/dsh-user-approval":"^0.1.2-rc.1","@deepseek-ai/dsh-sandbox-policy":"^0.1.2-rc.1"},"optionalDependencies":{"@aaub-software/semgrep-runtime-win32-x64":"0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/dsh-semgrep-sast_0.1.1_1788708209378_0.9777314309559981","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@aaub-software/dsh-semgrep-sast","version":"0.1.2","keywords":["deepseek-harness","dsh-plugin","semgrep","sast","security"],"license":"MIT","_id":"@aaub-software/dsh-semgrep-sast@0.1.2","maintainers":[{"name":"xuzhongwang","email":"2698425919@qq.com"}],"homepage":"https://github.com/Baiiduu/dsh-semgrep-sast#readme","bugs":{"url":"https://github.com/Baiiduu/dsh-semgrep-sast/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"8e404285a9c7fdddd91b761065ae0bf22c9bef39","tarball":"https://registry.npmjs.org/@aaub-software/dsh-semgrep-sast/-/dsh-semgrep-sast-0.1.2.tgz","fileCount":32,"integrity":"sha512-tRA1dFh+sQTb9Hoizf+o6s6xeDoMDTN2dE0HNNVCxGhQ6+Kn2dna20UwHqmGOkYlydrgEt0kIo0wcI2usv36Xg==","signatures":[{"sig":"MEQCIDTsaemU621GhT4SVCQ/RQPhcDDF8F/lUE6iy3rmuVkBAiBW26VQWB7AjsGOeRcZ/XueWTflZE0kqg1SfnHOlGbvVg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIH5i4LmN8C8uImyKQRC31qIFVn/6/dACECicQu5GKNIRAiEAwUKSfOHkf8R3ooOW8EJHKT8U0VD+1ikcbYLv9qR8Wbs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66167},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./package.json":"./package.json","./cordis.patch.yml":"./cordis.patch.yml"},"scripts":{"build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"xuzhongwang","email":"2698425919@qq.com"},"repository":{"url":"git+https://github.com/Baiiduu/dsh-semgrep-sast.git","type":"git","directory":"packages/bundle"},"description":"Semgrep SAST bundle and model-facing scan tool for DeepSeek Harness.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@deepseek-ai/schemastery":"^3.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.0","@types/node":"^24.0.0","@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-tools":"0.1.5-rc.2","@deepseek-ai/dsh-sandbox":"0.1.5-rc.2","@deepseek-ai/dsh-subprocess":"0.1.5-rc.2","@deepseek-ai/dsh-user-approval":"0.1.5-rc.2","@deepseek-ai/dsh-sandbox-policy":"0.1.5-rc.2"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-tools":"^0.1.5-rc.2","@deepseek-ai/dsh-sandbox":"^0.1.5-rc.2","@deepseek-ai/dsh-subprocess":"^0.1.5-rc.2","@deepseek-ai/dsh-user-approval":"^0.1.5-rc.2","@deepseek-ai/dsh-sandbox-policy":"^0.1.5-rc.2"},"optionalDependencies":{"@aaub-software/semgrep-runtime-win32-x64":"0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/dsh-semgrep-sast_0.1.2_1789098058217_0.8888016583115568","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@aaub-software/dsh-semgrep-sast","version":"0.2.0","keywords":["deepseek-harness","dsh-plugin","semgrep","sast","security"],"license":"MIT","_id":"@aaub-software/dsh-semgrep-sast@0.2.0","maintainers":[{"name":"xuzhongwang","email":"2698425919@qq.com"}],"homepage":"https://github.com/Baiiduu/dsh-semgrep-sast#readme","bugs":{"url":"https://github.com/Baiiduu/dsh-semgrep-sast/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"b9f79449cf2c7256a85c6516421661456e41fa49","tarball":"https://registry.npmjs.org/@aaub-software/dsh-semgrep-sast/-/dsh-semgrep-sast-0.2.0.tgz","fileCount":35,"integrity":"sha512-sTfnvPOaijpCFUgm091WGLu4fH1mps3iGTWbQ0nkD66THgY7CbmpZWATvAb0RysLahmbwi0BxnVcbsEYMSWBvg==","signatures":[{"sig":"MEUCIFyOShfidCLLQn6bL4gsn3qfyRmp1SpnOjf2iWZfmD+QAiEAlyZHI9U0UAjBp1QxGoJDmaijiSchxzG0LxgHg14GX3k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCjoN0umEKVMZUX79PBjUsmAbUVjvTZ22aym9Pybisc7AIhAItUgEmAK0oEWTEbshsXSmZXjoYY5Kc7SiUQ5LiscuU+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":82018},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./package.json":"./package.json","./cordis.patch.yml":"./cordis.patch.yml"},"gitHead":"acfda3bc1710cf552894a6848639096dc3d14796","scripts":{"test":"tsc -p tsconfig.json && node --test tests/agent-result.test.mjs","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"xuzhongwang","email":"2698425919@qq.com"},"repository":{"url":"git+https://github.com/Baiiduu/dsh-semgrep-sast.git","type":"git","directory":"packages/bundle"},"_npmVersion":"11.19.0","description":"Semgrep SAST bundle and model-facing scan tool for DeepSeek Harness.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"@deepseek-ai/schemastery":"^3.18.2","@aaub-software/dsh-sast-contract":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.0","@types/node":"^24.0.0","@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-tools":"0.1.5-rc.2","@deepseek-ai/dsh-sandbox":"0.1.5-rc.2","@deepseek-ai/dsh-subprocess":"0.1.5-rc.2","@deepseek-ai/dsh-user-approval":"0.1.5-rc.2","@deepseek-ai/dsh-sandbox-policy":"0.1.5-rc.2"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-tools":"^0.1.5-rc.2","@deepseek-ai/dsh-sandbox":"^0.1.5-rc.2","@deepseek-ai/dsh-subprocess":"^0.1.5-rc.2","@deepseek-ai/dsh-user-approval":"^0.1.5-rc.2","@deepseek-ai/dsh-sandbox-policy":"^0.1.5-rc.2"},"optionalDependencies":{"@aaub-software/semgrep-runtime-win32-x64":"workspace:0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/dsh-semgrep-sast_0.2.0_1789662630505_0.12227865786866232","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"_id":"@aaub-software/dsh-semgrep-sast@0.2.1","dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"bugs":{"url":"https://github.com/Baiiduu/dsh-semgrep-sast/issues"},"dist":{"shasum":"03301b853c933aa935c7d3ec9b8f2a18ef2c7e9b","tarball":"https://registry.npmjs.org/@aaub-software/dsh-semgrep-sast/-/dsh-semgrep-sast-0.2.1.tgz","fileCount":36,"integrity":"sha512-onNWiwqGAFzz7qE5g3T1qj5w2qj9uVS98gMhWzqX+GgrZwmRjfUFtUoHBALc1sbIEuVr4b2V7wfos00x2Dx04A==","signatures":[{"sig":"MEYCIQCbG2zgq0iW9d2GC6Ixb1Se20PVOznTC7fnMvILPPM0jQIhAIC3WEIXXRzfJWg4kN9mWj6svzkZQQaMvf+4AljPZKi7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCJ7csEMNAZbzl0UPVA2qzxWOhvnRXxjPzX61wNY2XIpgIgaAcIyFwdw0+D5ELPMcgIPUEIeDmUvzEJBIwq/QD663s="}],"unpackedSize":83077},"main":"lib/index.js","name":"@aaub-software/dsh-semgrep-sast","type":"module","_from":"file:E:/CodexData/dsh-semgrep-sast-0.2.1-validation/aaub-software-dsh-semgrep-sast-0.2.1.tgz","types":"lib/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./package.json":"./package.json","./cordis.patch.yml":"./cordis.patch.yml"},"license":"MIT","scripts":{"test":"tsc -p tsconfig.json && node --test tests/agent-result.test.mjs","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit"},"version":"0.2.1","_npmUser":{"name":"xuzhongwang","email":"2698425919@qq.com"},"homepage":"https://github.com/Baiiduu/dsh-semgrep-sast#readme","keywords":["deepseek-harness","dsh-plugin","semgrep","sast","security"],"_resolved":"E:\\CodexData\\dsh-semgrep-sast-0.2.1-validation\\aaub-software-dsh-semgrep-sast-0.2.1.tgz","_integrity":"sha512-onNWiwqGAFzz7qE5g3T1qj5w2qj9uVS98gMhWzqX+GgrZwmRjfUFtUoHBALc1sbIEuVr4b2V7wfos00x2Dx04A==","repository":{"url":"git+https://github.com/Baiiduu/dsh-semgrep-sast.git","type":"git","directory":"packages/bundle"},"_npmVersion":"11.19.0","description":"Semgrep SAST bundle and model-facing scan tool for DeepSeek Harness.","directories":{},"maintainers":[{"name":"xuzhongwang","email":"2698425919@qq.com"}],"_nodeVersion":"24.21.0","dependencies":{"@deepseek-ai/schemastery":"^3.18.2","@aaub-software/dsh-sast-contract":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.0","@types/node":"^24.0.0","@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-tools":"0.1.5-rc.2","@deepseek-ai/dsh-sandbox":"0.1.5-rc.2","@deepseek-ai/dsh-subprocess":"0.1.5-rc.2","@deepseek-ai/dsh-user-approval":"0.1.5-rc.2","@deepseek-ai/dsh-sandbox-policy":"0.1.5-rc.2"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-tools":"^0.1.5-rc.2","@deepseek-ai/dsh-sandbox":"^0.1.5-rc.2","@deepseek-ai/dsh-subprocess":"^0.1.5-rc.2","@deepseek-ai/dsh-user-approval":"^0.1.5-rc.2","@deepseek-ai/dsh-sandbox-policy":"^0.1.5-rc.2"},"optionalDependencies":{"@aaub-software/semgrep-runtime-win32-x64":"0.1.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dsh-semgrep-sast_0.2.1_1789834020663_0.20048412829152662"}}},"time":{"created":"2026-09-06T09:00:26.346Z","modified":"2026-09-19T16:07:01.006Z","0.1.0":"2026-09-06T09:00:26.733Z","0.1.1":"2026-09-06T15:23:29.454Z","0.1.2":"2026-09-11T03:40:58.311Z","0.2.0":"2026-09-17T16:30:30.595Z","0.2.1":"2026-09-19T16:07:00.755Z"},"bugs":{"url":"https://github.com/Baiiduu/dsh-semgrep-sast/issues"},"license":"MIT","homepage":"https://github.com/Baiiduu/dsh-semgrep-sast#readme","keywords":["deepseek-harness","dsh-plugin","semgrep","sast","security"],"repository":{"url":"git+https://github.com/Baiiduu/dsh-semgrep-sast.git","type":"git","directory":"packages/bundle"},"description":"Semgrep SAST bundle and model-facing scan tool for DeepSeek Harness.","maintainers":[{"name":"xuzhongwang","email":"2698425919@qq.com"}],"readme":"# DeepSeek Harness Semgrep SAST\n\n`@aaub-software/dsh-semgrep-sast` is a Cordis bundle that registers the\nmodel-facing `semgrep_scan` tool in\n[DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness).\n\nThe default managed runtime supports Windows x64 and includes CPython 3.14.7\nand Semgrep 1.175.0. Users do not need to install Python or Semgrep separately.\n\n## Install\n\nDeepSeek Harness and Node.js 24 or newer are required. Install the bundle into\nthe profile you use, for example:\n\n```powershell\ndsh plugin --profile web add @aaub-software/dsh-semgrep-sast\n```\n\nRestart the profile after installation. The agent will then see the\n`semgrep_scan` tool.\n\n## Behavior and safety\n\n- Scans only workspace-relative files and directories.\n- Rejects paths and resolved symlinks that escape the active workspace.\n- Uses the Semgrep Registry `p/default` ruleset.\n- Does not expose autofix and disables Semgrep metrics.\n- Redirects Semgrep cache, settings, configuration, and logs to the temporary\n  scan environment.\n- Supports Harness cancellation, timeout, process-tree termination, bounded\n  subprocess output, and bounded model-facing findings.\n- Returns structured findings for contextual review; a rule match is not by\n  itself a confirmed vulnerability.\n\n## Model-facing result\n\nVersion 0.2 returns the public `ssc-sast/v1` contract from\n`@aaub-software/dsh-sast-contract`. The Agent receives normalized JSON rather\nthan native Semgrep output:\n\n```json\n{\n  \"schemaVersion\": \"ssc-sast/v1\",\n  \"status\": \"completed\",\n  \"scanner\": {\n    \"name\": \"semgrep\",\n    \"version\": \"1.175.0\",\n    \"configuration\": \"p/default\"\n  },\n  \"scannedPaths\": [\"src/server.js\"],\n  \"findings\": [],\n  \"diagnostics\": [],\n  \"summary\": {\n    \"totalFindings\": 0,\n    \"returnedFindings\": 0,\n    \"truncated\": false,\n    \"durationMs\": 125\n  }\n}\n```\n\nEach finding contains a stable ID, scanner attribution, normalized rule\nmetadata, an exact workspace-relative location, and bounded evidence. Semgrep\nmatched code and metavariables are exposed as `semgrep.matched-code` and\n`semgrep.metavariables` evidence when present. CWE, OWASP, references, and\nfingerprints are retained only when Semgrep emitted them; the adapter does not\nguess missing metadata. Diagnostics remain separate from security findings so\nan incomplete scan cannot be mistaken for a clean scan.\n\nOn Windows, Semgrep Core cannot open the system certificate store inside the\ncurrent Harness ACL sandbox. A restricted first call does not start the scan.\nInstead, it returns the standard permission-escalation hint. The model may retry\nthe same scan with `sandbox_permissions: \"danger-full-access\"` and a concise\n`justification`; Harness asks the user for approval before execution.\n\nThe default ruleset is obtained from the Semgrep Registry at scan time and may\nrequire network access. Registry rules are not redistributed by this package.\n\n## Documentation and source\n\nSee the\n[repository documentation](https://github.com/Baiiduu/dsh-semgrep-sast#readme)\nfor the complete English and Chinese guide, configuration reference, security\ncontrols, development instructions, and third-party license information.\n\nSource: [Baiiduu/dsh-semgrep-sast](https://github.com/Baiiduu/dsh-semgrep-sast)\n","readmeFilename":"README.md"}