DevOps i chmura · Integracja z narzędziem
shell
/shell
Otwiera powłokę na hoście bieżącego celu pracy albo przekazuje operację poza narzędziami do audytowanego wykonania.
- Autor
- symansun ↗
- Repozytorium
- doops ↗
- Licencja
- MIT
- Ostatnia zmiana repozytorium
- 13.11.2026
Ocena i bezpieczeństwo
96/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność21 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
- Pliki w paczce
- 1
- Skrypty
- 0
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 0
Przestarzałość
Brak sygnałów. Repozytorium zmienione 13.11.2026, bez odwołań do wycofanych modeli i API.
Licencja
MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.
Co robi i kiedy
Otwiera powłokę na hoście bieżącego celu pracy albo przekazuje operację poza narzędziami do audytowanego wykonania.
Oryginalny opis (EN)
进入当前 target 的宿主机,或把结构化工具未覆盖的操作交给受审计的 exec
Jak działa
- 进入宿主机
- 其它命令
Sekcje z nagłówków SKILL.md, w oryginale · 75 linii, 312 słów
Podgląd SKILL.md
---
name: shell
description: 进入当前 target 的宿主机,或把结构化工具未覆盖的操作交给受审计的 exec
triggers:
keywords: [宿主机, 进入节点, nsenter]
phase: [analyze]
priority: 5
max_tokens: 2400
requires: []
conflicts: []
---
结构化工具没覆盖的文件、进程、网络探测或镜像诊断,优先使用当前 Auto ask 会话提供的
`Bash` 工具在目标 Agent 执行环境中完成。需要用户可复核的确定性命令、完整 Gateway
执行审计或后台任务时,交给上层通过 `doops -session <s> exec --target <t>` 执行。
不要因为工具名单或交互审批 UI 缺失而退回让用户手工执行。
只处理目标和范围已明确的任务;仅方案/诊断不变更,缺关键目标或授权时返回缺项,
不猜测对象。已有具体授权沿用,不逐命令重复确认。
## 进入宿主机
用户在已有 Kubernetes Agent target 上说“进入宿主机”,指该 Agent 所在节点。
沿用当前 target/session,先做只读身份验证;不要列 A/B/C 让用户选,也不转成 GPU
检查或新 Agent 安装。只有明确指向其它物理机或 hypervisor 且缺少映射时,才询问具体目标。
1. 使用本 Skill 下方的完整探测脚本,校验 `/host`、PID 1 根目录和进入前后的 mount
namespace。`Skill` 的 `load_prompt` 已加载脚本,不再调用 `Read` 读取 Skill 或
`/app/self-docs`:`Read` 只能访问当前工作区,无法读取这些全局文件。
2. 当前会话提供 `Bash` 工具时直接在其中执行;会话没有 `Bash`、或需要用户可复核的
确定性命令与完整 Gateway 审计时,输出一个完整的原始 `bash` 代码块,
不包 `doops exec`、不含占位符。Web 的“在此执行”会预填命令,用户提交后沿当前
target/session 走 Gateway exec;上层有 CLI 时,将脚本作为
`doops -session <s> exec --target <t> --cmd` 的参数,沿用已有授权执行。
3. 等待执行方的终态和身份输出。Web 结果留在执行栏,不自动回传 ask;没收到结果时
只说明命令已准备好,不宣告成功或假装轮询。失败保留退出码和缺项,
不尝试 K8s 只读工具的 exec、其它 Pod、SSH、直连端口或自行开启 `hostAccess`。
4. 每次后续宿主命令仍带 `nsenter`;单次 exec 不会永久切换后续会话。
进入和只读检查不授权安装、重启、改挂载、改权限或修驱动。
```bash
set -eu
for tool in nsenter readlink stat; do
command -v "$tool" >/dev/null || {
printf 'host_access_unavailable: missing %s\n' "$tool" >&2
exit 69
}
done
test -d /host || { printf '%s\n' 'host_access_unavailable: /host not mounted' >&2; exit 69; }
host_root=$(stat -Lc '%d:%i' /host)
pid1_root=$(stat -Lc '%d:%i' /proc/1/root)
host_mnt=$(readlink /proc/1/ns/mnt)
agent_mnt=$(readlink /proc/self/ns/mnt)
if [ "$host_root" != "$pid1_root" ] || [ "$host_mnt" = "$agent_mnt" ]; then
printf '%s\n' 'host_access_unavailable: host root or PID namespace not exposed; check hostAccess' >&2
exit 69
fi
nsenter -t 1 -m -u -i -n -- sh -c '
set -eu
cd /
test "$(readlink /proc/self/ns/mnt)" = "$1" || {
printf "host_access_unavailable: entered mount namespace mismatch\n" >&2; exit 69;
}
test "$(stat -Lc "%d:%i" /)" = "$2" || {
printf "host_access_unavailable: entered root mismatch\n" >&2; exit 69;
}
printf "host_hostname="; hostname
printf "host_mount_namespace=%s\nhost_root=%s\n" "$1" "$2"
uname -srm
id
' sh "$host_mnt" "$host_root"
```
## 其它命令
- 按已核实的 OS、工具和身份生成命令;不固定包管理器,不因缺 sudo 自动安装或提权。
代理、入口和工作目录取自项目及调用环境;每次 exec 需要工作区时显式 cd。
- Bash 脚本用 `set -euo pipefail`;其它 shell 保留等价的关键步骤和管道失败检查。
不用 `|| true` 吞掉验证、权限或连接失败,不把删除重建当通用幂等手段。
- 长命令设有界超时,由上层使用 `exec --bg` 等待终态;不自行 nohup 或放到后台。
- 需要临时文件时用 `mktemp -d /tmp/doops-XXXXXX`;只清理本轮独占目录,不清理前缀通配符。
依赖它的任务结束后才清理;失败保留必要诊断并报告位置。
- 使用受管凭据引用;不打印、展开或把秘密内联进命令、prompt、日志、工作区,禁用敏感链路的 xtrace。
- K8s/Helm 发布仍用 `mcp_doops_helm`;运维变更交上层
`doops -session <s> k8s --target <t> ... --confirm`,数据库变更交上层
`doops -session <s> sql --target <t> --mode apply --sql/--file`,不改用 shell。
Wersje
| Repozytorium | Wynik | Licencja |
|---|---|---|
| Ta strona · symansun/doops | 96 | MIT |
| nimadorostkar/Claude-Skills-collection | 100 | MIT |
| pproenca/dot-skills | 100 | MIT |
| pingqLIN/skill-0 | 100 | MIT |
Migawka bazy z 13.11.2026 · wersja paczki 7474f984633e (skrót SHA-256 całej paczki)
Pobrania w ostatnich 30 dniach: 0 · ranking
Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.
Podobne skille
- 100terminal
Prowadzi dwukierunkową sesję w terminalu: port szeregowy, SSH, lokalną powłokę i menu CLI, z zachowaniem kontekstu między poleceniami.