Scan Report
5 /100
ssh-lab
Remote server SSH workbench — GPU status, run commands, tail logs, compare hosts, manage alerts across multiple servers
A legitimate SSH workbench for remote GPU server management with no security concerns — uses native SSH child_process, zero runtime dependencies, and all functionality is accurately documented.
Safe to install
This skill is safe to use. No action required.
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Shell | WRITE | WRITE | ✓ Aligned | SKILL.md line 'SSH via child_process: Uses native ssh' |
| Filesystem | READ | READ | ✓ Aligned | src/ssh/config.ts:11 reads ~/.ssh/config |
| Network | READ | READ | ✓ Aligned | SSH connections only to configured hosts via ssh binary |
| Environment | NONE | NONE | — | Only reads $HOME, $USER, $XDG_CONFIG_HOME for path resolution |
File Tree
39 files · 130.5 KB · 4150 lines TypeScript 32f · 3679L
Markdown 2f · 279L
JSON 5f · 192L
├─
▾
src
│ ├─
▾
alerts
│ │ ├─
rules.ts
TypeScript
│ │ └─
state.ts
TypeScript
│ ├─
▾
commands
│ │ ├─
add.ts
TypeScript
│ │ ├─
alert.ts
TypeScript
│ │ ├─
compare.ts
TypeScript
│ │ ├─
df.ts
TypeScript
│ │ ├─
doctor.ts
TypeScript
│ │ ├─
hosts.ts
TypeScript
│ │ ├─
ls.ts
TypeScript
│ │ ├─
run.ts
TypeScript
│ │ ├─
status.ts
TypeScript
│ │ ├─
sync.ts
TypeScript
│ │ ├─
tail.ts
TypeScript
│ │ └─
watch.ts
TypeScript
│ ├─
▾
output
│ │ └─
formatter.ts
TypeScript
│ ├─
▾
probes
│ │ ├─
disk.ts
TypeScript
│ │ ├─
gpu.ts
TypeScript
│ │ ├─
index.ts
TypeScript
│ │ └─
process.ts
TypeScript
│ ├─
▾
ssh
│ │ ├─
config.ts
TypeScript
│ │ ├─
exec.ts
TypeScript
│ │ └─
pool.ts
TypeScript
│ ├─
▾
types
│ │ └─
index.ts
TypeScript
│ ├─
cli.ts
TypeScript
│ └─
index.ts
TypeScript
├─
▾
test
│ ├─
alerts.test.ts
TypeScript
│ ├─
cli.test.ts
TypeScript
│ ├─
compare.test.ts
TypeScript
│ ├─
gpu.test.ts
TypeScript
│ ├─
heartbeat.test.ts
TypeScript
│ ├─
pool.test.ts
TypeScript
│ └─
ssh.test.ts
TypeScript
├─
package-lock.json
JSON
├─
package.json
JSON
├─
README.md
Markdown
├─
skill.json
JSON
├─
SKILL.md
Markdown
├─
tsconfig.json
JSON
└─
tsconfig.test.json
JSON
Dependencies 2 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
@types/node | ^25.4.0 | npm devDependencies | No | Development only, not bundled |
typescript | ^5.9.3 | npm devDependencies | No | Development only, not bundled |
Security Positives
✓ Zero runtime dependencies — only TypeScript devDependencies (@types/node)
✓ All subprocess usage documented: native ssh binary via child_process spawn
✓ SSH ControlMaster reuses existing connections — no credential re-entry needed
✓ No external network requests beyond configured SSH hosts
✓ No credential harvesting, exfiltration, or sensitive file access
✓ No obfuscation, base64 encoding, or anti-analysis patterns
✓ Atomic file writes for state files (temp → rename pattern in alerts/state.ts)
✓ StrictHostKeyChecking=accept-new for security-conscious host key verification
✓ BatchMode=yes prevents interactive password prompts
✓ Config stored in XDG-compliant ~/.config/ssh-lab/ (not hardcoded paths)