Atlas / MCP servers / t-auto / dsh-ops

dsh-opsBLOCK

mcp/t-auto/dsh-ops

A toolkit for low-level operations in DSH, designed to reduce token usage and task execution time / DSH 底层操作工具插件,旨在减少 Token 消耗与任务耗时

Verdict
BLOCK
Grade
D
Trust score
69 /100
Exposed tools
2 2r · 0w · 0d
Transport
—
License
NOASSERTION
Stars
2,863
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

中文 | English

致力优化dsh插件token效率,提升ai性能,减少token消耗,减少任务总时间的插件,解决 Windows 下 DSH 反复使用 PowerShell 报错造成的 token、时间和模型注意力浪费,会持续更新。

本插件的主要功能:

  • 提供一组更高级的tools常驻工具,由rust编写。这些tools工具相对于原版,输入和输出token都更少,运行速度更快,且覆盖面更广,给ai造成的心智负担更低,同时附带简短的哈希校验、行数位置等消息以减少
  • 已在路线图中规划:以渐进式披露的形式补上 doc/pdf 操作、网页搜索、html 转 markdown 类 crawl4ai 工具等日常常用的 tools 工具,让 ai 不必重新编写代码或脚本来实现自己的目标。当前版本尚未提供这些工具。
  • 提供关闭原版tools以最大化节省ai心智负担和系统固定提示词的可选项
  • 在windows平台下额外提供tools:opsbash的支持——ai使用bash远比ai使用pwsh更流畅。可选择使用ops自带的独立 **bash 5.3.15** ,也可以将opsbash工具指定为git bash

插件特点:

  • 低侵入性,高兼容性,不改运行逻辑,不注入系统提示词,不改系统变量,只提供新的易用高级工具,从而几乎可以和任何插件兼容
[!NOTE] 关于token节省和性能提升的严谨benchmark与具体测试方案将在下个版本推出,其将会覆盖大多数通用场景。上个版本的97% token减免仅代表 “提示词全面,明确,具体的单次复杂任务交付” 这一场景————简短提示词让ai发散性的寻找结论的随机性太大,很难控制变量
tips:本项目的 ops 是广义 operations (运行操作)的缩写,代指本插件处于dsh和系统/代码/文件操作的基础
Read from source at commit af79d24a4bf6OBSERVED · 2026-10-18
Advertisement
02

Exposed tools (2)

2 read · 0 write · 0 destructive.

ToolRiskDescription
foreignreadfixture
web_searchreadinjected
03

Trust audit

BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (13 observation(s))
Network
declared (4 observation(s))
Shell
declared (5 observation(s))
Dependencies
not all pinned
Secrets in source
none-found

Findings (25)

HIGHFilesystem / path · fs.credential_store · CWE-22, CWE-59
lib/credential-policy.js:37
'.netrc',
Why it matters. touches a credential store
HIGHFilesystem / path · fs.credential_store · CWE-22, CWE-59
lib/credential-policy.js:39
'.git-credentials',
Why it matters. touches a credential store
LOWFilesystem / path · fs.credential_store · CWE-22, CWE-59
test/credential-fence.test.mjs:63
fs.writeFileSync(path.join(home, '.ssh', 'id_ed25519'), 'PRIVATE')
Why it matters. touches a credential store
LOWFilesystem / path · fs.credential_store · CWE-22, CWE-59
test/credential-fence.test.mjs:65
assert.equal(deny(path.join(home, '.ssh', 'id_ed25519')).denied, true)
Why it matters. touches a credential store
LOWFilesystem / path · fs.credential_store · CWE-22, CWE-59
test/credential-fence.test.mjs:82
for (const name of ['id_rsa', 'id_ed25519.pub', 'service-account-prod.json', 'app-credentials.yaml', '.env', '.env.local'])
Why it matters. touches a credential store
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
lib/components/file/index.js:1
import { applyComponent } from "../../index.js"
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
lib/components/hide-official/index.js:1
import { apply } from '../../official-tool-hiding.js'
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
lib/components/ptc/index.js:1
import { apply as mount } from '../../ptc/index.js'
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
lib/components/shell/index.js:1
import { applyComponent } from "../../index.js"
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
lib/components/tui/index.js:2
import { createActivityStore, resolveActivityConfig } from '../../tui/activity.js'
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
docs/troubleshooting.md:25
set HTTPS_PROXY=http://127.0.0.1:<clash-port>
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
docs/troubleshooting.md:31
$env:HTTPS_PROXY = 'http://127.0.0.1:<clash-port>'
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
docs/常见问题.md:25
set HTTPS_PROXY=http://127.0.0.1:<clash-port>
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
docs/常见问题.md:31
$env:HTTPS_PROXY = 'http://127.0.0.1:<clash-port>'
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
test/bin.test.mjs:528
url: 'https://127.0.0.1:9/forged-pwsh.zip',
LOWObfuscation / stealth · obf.homoglyph · CWE-506, CWE-94
test/file-operations.test.mjs:35
for (const [name, bytes, lineCount] of [['crlf', Buffer.from('\ufeffα\r\nβ\r\n'), 2], ['empty', Buffer.alloc(0), 0], ['binary', Buffer.from([0xff, 0]), null]]) {
LOWObfuscation / stealth · obf.homoglyph · CWE-506, CWE-94
test/file-operations.test.mjs:53
const created = await call('write_file', { path: target, expectedRevision: 'absent', content: 'α\r\nβ\n' }, root)
LOWObfuscation / stealth · obf.homoglyph · CWE-506, CWE-94
test/file-operations.test.mjs:59
assert.equal(dry.changed, 0); assert.equal(dry.revision, hash('')); assert.equal(fs.readFileSync(target, 'utf8'), 'α\r\nβ\n')
LOWObfuscation / stealth · obf.homoglyph · CWE-506, CWE-94
test/file-operations.test.mjs:70
const target = path.join(root, 'patch.txt'); const original = '\ufeffalpha\r\nβeta\r\nend\r\n'
LOWObfuscation / stealth · obf.homoglyph · CWE-506, CWE-94
test/file-operations.test.mjs:77
const edits = [{ oldText: 'alpha', newText: 'βeta' }, { oldText: 'βeta', newText: 'DONE' }]
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
yaml
Why it matters. 1 dependency range(s) float
Fix. pin exact versions or ship a lockfile
INFOPrompt injection · prompt.authority_framing · CWE-94, CWE-1427
docs/component-reference.md:31
1 **Fixed file operations use a trusted-operation policy fence, matching DSH fs-sandbox, not arbitrary-code isolation.** OS-readable paths are readable in all modes; read-only rejects replacement, inc
INFOPrompt injection · prompt.authority_framing · CWE-94, CWE-1427
docs/configuration-reference.md:72
- `publishBashTool`: publish `ops_bash` using current session policy; restricted modes require the host sandbox, full access uses the host subprocess service.
INFOPrompt injection · prompt.authority_framing · CWE-94, CWE-1427
docs/native-ptc.md:14
not new authority; full access permits external roots without confinement.
INFOPrompt injection · prompt.authority_framing · CWE-94, CWE-1427
docs/schema-measurement.md:16
| Shell + file (default, full access) | 5 | 7,685 | 1,922 |

Gates applied: no_behavioural_pass.

Audited 2026-10-18 · audit v0.4.1 · source sha af79d24a4bf6full audit observations/trust-audit/mcp-server/t-auto__dsh-ops.json · Report an issue / request a re-scan
04

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-18af79d24a4bf6BLOCKD69first audit
05

Questions

What is the dsh-ops MCP server?

A toolkit for low-level operations in DSH, designed to reduce token usage and task execution time / DSH 底层操作工具插件,旨在减少 Token 消耗与任务耗时

What tools does dsh-ops expose?

2 in total: 2 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is dsh-ops safe to connect to an agent?

No — not without reading the findings first. The audit graded it D (69/100) and found 2 critical or high issues in the source. Each one is listed on this page with the file and line it is on.

What credentials does dsh-ops need?

No credential environment variables were found in its source, so it appears to need none.

How current is this page?

The grade is for one exact copy of the source (af79d24a4bf6), read on 2026-10-18. The repository is watched and re-audited when it changes.

Add this badge to your README

Shows this page's audit result and links back to it. It updates when the audit does.

ModelsAtlas audit badge

Markdown
[![ModelsAtlas audit: dsh-ops](https://modelsatlas.com/mcp/t-auto/dsh-ops/badge.svg)](https://modelsatlas.com/mcp/t-auto/dsh-ops/)

Not your listing, or something out of date? Claim or update your listing.

Advertisement