Codex plugin 패키지, SKILL, MCP server 번들의 보안, 구조 및 런타임 준수 여부를 검증합니다.
다른 이름 Esquetta/CodexPluginDoctor, codex-plugin-doctor
- 스타
- 2
- Tools
- —
- 다운로드, 30일
- —
- 최신 버전
- —
- 마지막 커밋
- 2026년 11월 7일
- 라이선스
- MIT
CodexPluginDoctor MCP란?
CodexPluginDoctor은(는) MCP server입니다. Codex plugin 패키지, SKILL, MCP server 번들의 보안, 구조 및 런타임 준수 여부를 검증합니다.
프로젝트 README에서 생성된 요약
CodexPluginDoctor MCP server 정보
CodexPluginDoctor는 개발자가 Codex plugin 패키지와 MCP server 번들의 보안 및 구조를 검증할 수 있도록 지원합니다. 이 CLI 도구는 .codex-plugin/plugin.json 파일을 포함하는 플러그인 폴더를 조사하여 배포 전 특정 요구 사항을 충족하는지 확인합니다. 하드코딩된 비밀 정보를 확인하고, skill 연결을 검증하며, 메타데이터 품질을 검사하여 일반적인 설정 오류를 방지합니다.
사용자는 --runtime 플래그를 사용하여 패키지의 코드를 직접 실행하고 MCP 핸드셰이크, tools, resources, prompts를 검증하는 심층 검사를 수행할 수 있습니다. 런타임 테스트 중 안전성을 높이려면 --sandbox docker 옵션을 사용하여 로컬 Node.js stdio server를 격리할 수 있습니다. 또한 --installed 명령어를 통해 설치된 플러그인을 확인하고 Claude Desktop, Cursor, Cline, Windsurf와 같은 클라이언트와의 호환성을 검증할 수 있습니다.
로컬 검사 외에도 MCP 스냅샷을 사용하여 도구 및 resource 템플릿을 기준점과 비교하는 기능을 제공합니다. GitHub Actions를 통한 CI 워크플로우 통합이 가능하도록 설계되어, 팀이 pull request 프로세스 중에 보안 스코어카드와 준수 보고서를 자동화할 수 있습니다.
활용 사례
- 1하드코딩된 자격 증명 탐지MCP server 설정에 환경 변수로 대체해야 하는 민감한 API key가 포함되어 있는지 식별합니다.
- 2런타임 준수 여부 검증실제 실행 중인 MCP server를 테스트하여 tools, resources, prompts가 프로토콜에 따라 작동하는지 확인합니다.
- 3멀티 클라이언트 호환성 확인MCP 설정이 유효하며 다양한 데스크톱 AI 클라이언트에서 사용할 준비가 되었는지 확인합니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
CodexPluginDoctor MCP 설치 방법
형식 확인: 2026년 11월 10일Cursor에 추가Goose에 추가Claude Code에 CodexPluginDoctor MCP 설치
$ claude mcp add codexplugindoctor -- npx -y codex-plugin-doctorCursor에 CodexPluginDoctor MCP 설치
~/.cursor/mcp.json
{
"mcpServers": {
"codexplugindoctor": {
"command": "npx",
"args": [
"-y",
"codex-plugin-doctor"
]
}
}
}VS Code에 CodexPluginDoctor MCP 설치
.vscode/mcp.json
{
"servers": {
"codexplugindoctor": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"codex-plugin-doctor"
]
}
}
}VS Code CLI에 CodexPluginDoctor MCP 설치
$ code --add-mcp '{"name":"codexplugindoctor","type":"stdio","command":"npx","args":["-y","codex-plugin-doctor"]}'Claude Desktop에 CodexPluginDoctor MCP 설치
claude_desktop_config.json
{
"mcpServers": {
"codexplugindoctor": {
"command": "npx",
"args": [
"-y",
"codex-plugin-doctor"
]
}
}
}Codex에 CodexPluginDoctor MCP 설치
$ codex mcp add codexplugindoctor -- npx -y codex-plugin-doctorCodex config.toml에 CodexPluginDoctor MCP 설치
~/.codex/config.toml
[mcp_servers.codexplugindoctor] command = "npx" args = ["-y", "codex-plugin-doctor"]
Gemini CLI에 CodexPluginDoctor MCP 설치
$ gemini mcp add -s user codexplugindoctor npx -- -y codex-plugin-doctorGemini settings.json에 CodexPluginDoctor MCP 설치
~/.gemini/settings.json
{
"mcpServers": {
"codexplugindoctor": {
"command": "npx",
"args": [
"-y",
"codex-plugin-doctor"
]
}
}
}자동 검사
2026년 11월 14일에 실행됨전체 보고서 →자동 검사를 통과했습니다. 이는 보안 감사가 아닙니다. 코드를 직접 읽고 서버에 필요한 최소한의 권한만 부여하십시오. 검사 방식
- 소스 저장소 연결 및 접근 가능esquetta/codexplugindoctor is public and reachablegithub.com/esquetta/codexplugindoctor ↗통과
- 패키지가 이 저장소를 소스로 명시codex-plugin-doctor names esquetta/codexplugindoctor as sourcenpmjs.com/package/codex-plugin-doctor ↗통과
- 빌드 출처(Sigstore 증명)Sigstore attestation for codex-plugin-doctornpmjs.com/package/codex-plugin-doctor/v/1.92.0#provenance ↗통과
- 오픈 소스 라이선스 (OSI)MITspdx.org/licenses/MIT.html ↗통과
- 최근 1년 내 커밋 또는 릴리스Last commit or release 2026-11-07github.com/esquetta/codexplugindoctor ↗통과
- OpenSSF Scorecard검사되지 않음
- 패키지 이름이 인기 패키지와 유사하지 않음No popular package one edit away from codex-plugin-doctor통과
- 패키지 및 해당 종속성에 중요한 보안 권고 없음검사되지 않음
- 모델에 대한 숨겨진 지침 없음0 tool descriptions and the README read; no override phrases, credential paths or hidden characters통과
- 파괴적인 도구에 라벨 표시됨검사되지 않음
- 원격 엔드포인트가 MCP 핸드셰이크에 응답검사되지 않음
README
GitHub에서 보기Codex Plugin Doctor
A CLI that checks Codex plugins, skills, and MCP servers before you ship them: the package, its security, and, if you allow it, the running MCP server.
npx codex-plugin-doctor check path/to/plugin
Point it at a folder with .codex-plugin/plugin.json. A plugin with an API key in its
.mcp.json exits with status 1 and this report (recommended commands trimmed):
Codex Plugin Doctor
===================
Status: FAIL
Target: /path/to/plugin
Summary: 1 fail, 0 warn, 1 total
Failures
--------
✖ plugin.security.hard_coded_secret
Message: The MCP server `dangerServer` contains a hard-coded secret-like env value for `OPENAI_API_KEY`.
Impact: Hard-coded credentials inside plugin bundles increase leakage risk and make secure rotation difficult.
Suggested fix: Replace the literal value for `OPENAI_API_KEY` with an environment reference or injected secret outside the package.
Fingerprint: 21da7c75027f0811929d49253412a0f20694d974f141d0421410c89ee29c8b72
Evidence: serverName=dangerServer, configPath=.mcp.json, envKey=OPENAI_API_KEY, envValue=[REDACTED]
Add --runtime to also start the plugin's MCP servers and call them. That runs the
package's own code, so it is opt-in, and --sandbox docker isolates local Node.js stdio
servers. No plugin at hand? npx codex-plugin-doctor check --installed checks the ones
in your Codex plugin cache.
What It Checks
- Package:
.codex-plugin/plugin.json, skill wiring andSKILL.mdmetadata,.mcp.jsonstructure, description quality, hard-coded secrets, and paths that escape the package. - Security (
security .): a scorecard for shell wrappers, encoded commands, remote content piped into a shell, and plain HTTP transports. - Running servers (
--runtime): the MCP handshake, then tools, resources, prompts, and pagination, with a scorecard and a conformance report. - Breaking changes: MCP snapshots compare tools, prompts, and resource templates with a committed baseline, in a pull request comment and in release notes.
- Other clients (
compat . --all --scorecard): whether the MCP config is valid and can be added to Claude Desktop, Cursor, Cline, and Windsurf on this machine. - Remote servers and publishing: opt-in Remote MCP Readiness, MCP Registry Readiness, and an offline public directory preflight.
See the CLI Reference for more commands and examples,
codex-plugin-doctor --help for all of them, and codex-plugin-doctor explain <finding-id> for
what a rule means.
Install
npm install -g codex-plugin-doctor
codex-plugin-doctor self-test
codex-plugin-doctor check .
codex-plugin-doctor check . --runtime
codex-plugin-doctor mcp path/to/mcp-package
GitHub Action
name: Validate Codex plugin
on:
pull_request:
permissions:
contents: read
jobs:
doctor:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
with:
persist-credentials: false
- uses: Esquetta/CodexPluginDoctor@v1.92.0
with:
version: "1.92.0"
path: .
runtime: "true"
policy: codex-publish
runtime: "true" runs the package's code, so this job keeps a read-only token.
codex-plugin-doctor init-ci . writes a workflow for you. See
GitHub Action Usage for reports, pull request comments, and
inputs.
Documentation
- CLI Reference
- GitHub Action Usage
- MCP Snapshot
- Release Gating
- Rule Catalog
- Official Plugin Components
- Real-World Validation
- Examples
- Changelog
- All documentation
1.0 Stability
The 1.0 line is the stable compatibility baseline for plugin authors and CI consumers.
- Public JSON schema surfaces and existing rule IDs/default severities are treated as stable through 1.0.
- Runtime probing remains opt-in because it executes package-local MCP servers.
- New features stay additive unless a major version says otherwise.
See the documentation index for architecture, usage, security, and contributor guides.
Contributing
Contributions are welcome. Start with Contributing, the
Security Policy, the Code of Conduct, and the
validation tuning issue template.
npm run release-check runs the release preflight; see
Versioning and Releases.
Support
If this tool saves you time, GitHub stars and sponsorship help signal that the project is worth continuing.
- Star the repository on GitHub.
- Use GitHub Sponsors through the repository funding link.
- Open validation tuning issues for false positives or false negatives.
CodexPluginDoctor MCP 질문
CodexPluginDoctor MCP를 Claude Code에 추가하려면 어떻게 하나요?
터미널에서 claude mcp add codexplugindoctor -- npx -y codex-plugin-doctor를 실행합니다. 모든 프로젝트에서 사용할 수 있게 하려면 --scope user를 추가합니다.
CodexPluginDoctor MCP를 Cursor에 추가하려면 어떻게 하나요?
~/.cursor/mcp.json를 열고 mcpServers 아래에 서버를 추가합니다. 위 설치 섹션에 표시된 Cursor 구성을 사용합니다.
MCP server에 하드코딩된 비밀 정보가 있는지 어떻게 확인하나요?
.mcp.json 파일에 API key와 같은 하드코딩된 비밀 정보가 있는지 자동으로 확인하며, 발견 시 실패 상태로 종료됩니다.
이 도구로 실제 실행 중인 MCP server를 테스트할 수 있나요?
네, --runtime 플래그를 추가하면 플러그인의 MCP server를 시작하고 tools, resources, prompts를 호출하여 준수 여부를 검증합니다.
테스트 중에 실행 중인 MCP server를 어떻게 격리하나요?
--sandbox docker 플래그를 사용하여 로컬 Node.js stdio server를 격리할 수 있습니다.
캐시에 이미 설치된 플러그인을 확인하는 데 사용할 수 있나요?
네, npx codex-plugin-doctor check --installed 명령어를 실행하면 Codex plugin 캐시에 있는 플러그인을 확인합니다.