Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 55 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Security Policy

## Supported Versions

Only the latest published `mcp-ssh-manager` release on npm receives security fixes.
Please upgrade to the newest version before reporting an issue.

| Version | Supported |
| ------- | --------- |
| latest | ✅ |
| older | ❌ |

## Reporting a Vulnerability

**Please do not report security vulnerabilities through public GitHub issues,
discussions, or pull requests.**

Report privately through either channel:

- **GitHub Private Vulnerability Reporting** (preferred) — open the
[**Security** tab](https://github.com/bvisible/mcp-ssh-manager/security/advisories)
of this repository and click **Report a vulnerability**. This keeps the report,
discussion, and any resulting advisory private until a fix is released.
- **Email** — <security@bvisible.ch> (or <jeremy@bvisible.ch>).

Please include, as far as you can:

- the affected version and the affected tool(s) or source area,
- a description of the vulnerability and its impact,
- a minimal proof of concept or reproduction steps, and
- any suggested remediation.

To keep proof-of-concept work safe, validate against **local package source and
your own owned test boundary** — do not exercise third-party hosts or
maintainer infrastructure.

## Disclosure Process

- We aim to acknowledge a report within **72 hours**.
- We will confirm the issue, determine affected versions, and prepare a fix,
keeping you informed along the way.
- Fixes are released as a new npm version accompanied by a
[GitHub Security Advisory](https://github.com/bvisible/mcp-ssh-manager/security/advisories)
(with a CVE where warranted).
- We are happy to **credit reporters** in the advisory and release notes.
Let us know the name/handle you would like used, or if you prefer to remain anonymous.

## Scope Notes

`mcp-ssh-manager` executes commands on remote hosts on behalf of an AI assistant.
Reports are especially valuable when a tool documented as read-only or safe
(for example `ssh_db_list`, `ssh_db_query`, or any tool permitted under the
`readonly` / `restricted` per-server security modes) can be made to execute
arbitrary commands, escalate privileges, or exfiltrate data on the configured
SSH target.
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"setup": "npm install && pip install -r tools/requirements.txt",
"configure": "python tools/server-manager.py",
"test-connection": "python tools/test-connection.py",
"test": "npm run test:profiles && npm run test:aliases && npm run test:hooks && npm run test:tools && npm run test:policy && npm run test:ping && npm run test:config && npm run test:fieldnames && npm run test:lifecycle && npm run test:sync && npm run test:dbquoting && npm run test:dbrowcount",
"test": "npm run test:profiles && npm run test:aliases && npm run test:hooks && npm run test:tools && npm run test:policy && npm run test:ping && npm run test:config && npm run test:fieldnames && npm run test:lifecycle && npm run test:sync && npm run test:dbquoting && npm run test:dbinjection && npm run test:dbrowcount",
"test:profiles": "node tests/test-profiles.js",
"test:aliases": "node tests/test-command-aliases.js",
"test:hooks": "node tests/test-hooks.js",
Expand All @@ -25,6 +25,7 @@
"test:lifecycle": "node tests/test-lifecycle.js",
"test:sync": "node tests/test-sync-stats.js",
"test:dbquoting": "node tests/test-database-query-quoting.js",
"test:dbinjection": "node tests/test-database-injection.js",
"test:dbrowcount": "node tests/test-database-row-count.js",
"test:all": "npm test && ./scripts/validate.sh",
"validate": "./scripts/validate.sh",
Expand Down
Loading
Loading