nandi-proxmox-mcp— mcp server

MCP server for Proxmox VE management (VM, LXC, nodes)

by NANDI-Services·MCP Server·github.com/NANDI-Services/proxmox-mcp

Is nandi-proxmox-mcp safe to install?

SaferSkills independently audited nandi-proxmox-mcp (MCP Server) and scored it 79/100 (yellow). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 5 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.

Score
79/100
●●●●●●●●○○
Re-scan~30s
Latest scan
ScannedJun 24, 2026 · 133d ago
Scans run0 over 90 days
Detectors55 checks · 5 categories
Findings5 warnings · 0 high
EngineSaferSkills 2b638c6
View methodology →
SaferSkills installs
This week0
This month0
All time0
CategoryWeightCategory scoreContribution
Securityprompt, exec, net, exfil, eval
35%
40
14.0 pts
Supply chainhash, typosquat, maintainer, lockfile
20%
100
20.0 pts
Maintenancestaleness, pinning, CI
15%
100
15.0 pts
TransparencySKILL.md, perms, README
15%
100
15.0 pts
Communityinstalls, verify, response
15%
100
15.0 pts

Findings & checks · 5 flagged

Securityscore 40 · 5 findings
MEDIUMInstruction telling the agent not to ask for approvalSS-SKILL-INJECT-DONT-ASK-01 · Prompt injection · marketplace/agent-plugin-marketplace/plugins/nandi-proxmox-mcp/commands/setup.md
MEDIUM — it fires on intent; the real damage depends on the host agent's own approval-gating.
Why it matters

The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.

The exact value spotted
excerptmarketplace/agent-plugin-marketplace/plugins/nandi-proxmox-mcp/commands/setup.md· markdown
68## Ground rules
69 
70- Never ask them to paste a token secret or a private SSH key to you.
71- Do not run `setup` on their behalf; it is interactive and handles a secret.
72- If they have more than one Proxmox, run setup once per server with a different
Occurrences
1 occurrence · at L70
How to fix
Remove the approval-skipping instruction, or scope it narrowly to a specific safe, reversible action.
  1. Delete blanket "don't ask / no need to confirm" directives from the skill.
  2. If the skill is a genuine autonomous job, restrict the opt-out to a named non-destructive action rather than all actions.
Framework references
OWASPLLM01ATLASAML.T0051
Trace & refs
ruleSS-SKILL-INJECT-DONT-ASK-01sha2565084aa178cfd9d97…rubric 365aacaView on GitHub
MEDIUMInstruction telling the agent not to ask for approvalSS-SKILL-INJECT-DONT-ASK-01 · Prompt injection · CHANGELOG.md
MEDIUM — it fires on intent; the real damage depends on the host agent's own approval-gating.
Why it matters

The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.

The exact value spotted
excerptCHANGELOG.md· markdown
75Verified against Claude Code 2.1.229 on a live cluster rather than from the
76client documentation: the prompt appears under `defaultMode: auto`, and it
77appears again after answering *"Yes, and don't ask again"* — the resulting
78`allow` rule does not retire the gate. Note that the option is still offered,
79contrary to that documentation, so its absence is not a usable signal that the
Occurrences
1 occurrence · at L77
How to fix
Remove the approval-skipping instruction, or scope it narrowly to a specific safe, reversible action.
  1. Delete blanket "don't ask / no need to confirm" directives from the skill.
  2. If the skill is a genuine autonomous job, restrict the opt-out to a named non-destructive action rather than all actions.
Framework references
OWASPLLM01ATLASAML.T0051
Trace & refs
ruleSS-SKILL-INJECT-DONT-ASK-01sha256ce5204b52388d24f…rubric 365aacaView on GitHub
MEDIUMInstruction telling the agent not to ask for approvalSS-SKILL-INJECT-DONT-ASK-01 · Prompt injection · README.md×2
MEDIUM — it fires on intent; the real damage depends on the host agent's own approval-gating.
Why it matters

The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.

The exact value spotted
excerptREADME.md· markdown
60 
61One caveat, measured on 2.1.229 rather than taken from the documentation: the prompt still o
… (5 chars elided on L61)
62*"Yes, and don't ask again"*, even though the documentation says a flagged tool has no such
… (7 chars elided on L62)
63Choosing it writes an `allow` rule that **does not** retire the gate — the next call prompts
… (7 chars elided on L63)
64So the behaviour is right and only the button is misleading. Do not read its absence as the
… (6 chars elided on L64)
Occurrences
2 occurrences · first at L62, also L73
Show all 2 locations
Line
File
L62
README.md
L73
README.md
How to fix
Remove the approval-skipping instruction, or scope it narrowly to a specific safe, reversible action.
  1. Delete blanket "don't ask / no need to confirm" directives from the skill.
  2. If the skill is a genuine autonomous job, restrict the opt-out to a named non-destructive action rather than all actions.
Framework references
OWASPLLM01ATLASAML.T0051
Trace & refs
ruleSS-SKILL-INJECT-DONT-ASK-01sha256ce5204b52388d24f…rubric 365aacaView on GitHub
MEDIUMInstruction telling the agent not to ask for approvalSS-SKILL-INJECT-DONT-ASK-01 · Prompt injection · SECURITY.md
MEDIUM — it fires on intent; the real damage depends on the host agent's own approval-gating.
Why it matters

The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.

The exact value spotted
excerptSECURITY.md· markdown
60 
61Verified against Claude Code 2.1.229 on a live cluster: the prompt appears under `defaultMod
… (9 chars elided on L61)
62and it appears again after answering *"Yes, and don't ask again"* — the resulting `allow` ru
… (7 chars elided on L62)
63not retire the gate. Note that the option is still offered, contrary to the client documenta
… (8 chars elided on L63)
64its absence is not a usable signal that the guard is active.
Occurrences
1 occurrence · at L62
How to fix
Remove the approval-skipping instruction, or scope it narrowly to a specific safe, reversible action.
  1. Delete blanket "don't ask / no need to confirm" directives from the skill.
  2. If the skill is a genuine autonomous job, restrict the opt-out to a named non-destructive action rather than all actions.
Framework references
OWASPLLM01ATLASAML.T0051
Trace & refs
ruleSS-SKILL-INJECT-DONT-ASK-01sha256ce5204b52388d24f…rubric 365aacaView on GitHub
Supply chainscore 100 · 0 findings
✓—All supply chain checks passedNo findings in this category for the latest scan.pass
Maintenancescore 100 · 0 findings
✓—All maintenance checks passedNo findings in this category for the latest scan.pass
Transparencyscore 100 · 0 findings
✓—All transparency checks passedNo findings in this category for the latest scan.pass
Communityscore 100 · 0 findings
✓—All community checks passedNo findings in this category for the latest scan.pass
Vendor response · right of reply
Are you the maintainer? Submit a response →

Audit the pieces. Scan the whole. Decide.

~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.