github / github/github-mcp-server

Fail closed in strict mode on unknown toolset names

未關閉
#2,117 1 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
Go
星號
33k
分支
5k
平均合併
2 天 1 小時
30 天內合併 PR
52

描述

## Problem
Unknown toolset names in config can silently fall back to defaults, weakening explicit permission boundaries.

## Why now
Tool exposure must be deterministic and fail-closed in strict environments.

## Current behavior is insufficient
Typos or unknown toolsets are not always treated as hard configuration errors under strict policy expectations.

## Expected behavior
Add strict mode to fail startup/config validation on unknown toolset names.

## Acceptance / Validation
- Strict mode rejects unknown toolsets with deterministic validation errors.
- Tests cover known toolsets (pass) and unknown toolsets (fail).
- Docs explain strict-mode behavior and migration path.

## Evidence packet
- Commit under test: `bf64678` (`origin/main`)
- Runtime environment: macOS arm64, Go `1.25.7`
- Minimal repro:
1. Configure server with unknown toolset in config.
2. Start in strict mode.
- Expected: startup fails with clear unknown-toolset error.
- Actual: fallback behavior can allow silent misconfiguration.

## Likely codepaths
`pkg/tooldiscovery`, `cmd/github-mcp-server`, `docs/toolsets-and-icons.md`.

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。