Auditra

공식

WordPress 플러그인 감사를 위한 MCP 서버

Auditra MCP(으)로 무엇을 할 수 있나요?

  • 플러그인 취약점 평가 — "내 플러그인 중 어떤 것이 취약한가?"라고 물어보고 MCP 서버를 통해 실시간 WPVulnerability 데이터에 기반한 답변을 받으세요.
  • 옵션 테이블 비대화 식별wp_options 테이블을 비대하게 만드는 것이 무엇인지 물어보고 신뢰 수준과 함께 소유 플러그인에 대한 귀속 정보를 받으세요.
  • 고아 플러그인 데이터 발견 — 삭제된 플러그인이 남긴 것이 무엇인지 물어보고, 서버가 남겨진 옵션, 테이블, 훅을 원래 소유자에게 매핑해 줍니다.
  • 플러그인 자산 목록 작성 — 사이트 컨텍스트, 자동 로드 옵션, cron 작업, 데이터베이스 테이블 세부 정보를 한 번에 포함한 전체 플러그인 목록을 요청하세요.
  • 플러그인 수명 주기 지원 확인 — 번들된 수명 주기 데이터를 사용하여 플러그인의 PHP, MySQL 또는 MariaDB 요구 사항이 여전히 지원되는지 물어보세요.

문서

Auditra

WordPress 플러그인으로, 설치된 사이트를 읽기 전용 MCP 서버로 전환하여 MCP를 지원하는 모든 AI 클라이언트(Claude 사용자 지정 커넥터 등)가 해당 사이트의 플러그인 현황을 자연어로 검사하고 추론할 수 있게 합니다.

"내 플러그인 중 어떤 것이 취약한가?", "내 options 테이블을 부풀리는 것은 무엇인가?", 또는 "삭제된 플러그인이 남긴 것은 무엇인가?"라고 물어보세요. 사이트의 실제 상태에 기반한 답변을 얻을 수 있습니다.

작동 방식

하나의 플러그인 안에 세 개의 계층, 하나의 REST 경로, 런타임 의존성 없음:

  • 전송(Transport) — JSON-RPC 2.0을 통해 MCP를 사용하는 POST /wp-json/auditra/v1/mcp/{token} (일반 JSON 응답, 무상태). 두 프로토콜 세대 모두 요청별로 결정되어 제공됩니다: 개정 2026-07-28 (요청별 메타데이터, server/discover, Mcp-* 헤더 검증) 및 initialize 핸드셰이크 개정 2025-11-25 / 2025-06-18 / 2025-03-26. 교체 가능한 인터페이스 뒤의 경로 내 토큰 인증, Origin 검증, 속도 제한, 실패한 인증 로깅.
  • 수집기(Collectors) — WordPress를 직접 읽습니다: 인벤토리, 사이트 컨텍스트, 자동 로드된 options, cron, 데이터베이스 테이블, 콘텐츠 기능 사용량, 그리고 options/테이블/훅을 소유 플러그인에 명시적 신뢰 수준으로 매핑하는 3계층 귀속 엔진(high = 선별됨, medium = 파생됨, 또는 명시적으로 귀속되지 않음).
  • 강화(Enrichment) — wordpress.org와 WPVulnerability라는 두 외부 서비스, 둘 다 키 없이, 둘 다 캐시되며, 소스별 적용 범위 보고와 실패 시 점진적 백오프(15분 → 24시간)로 조용히 성능이 저하됩니다. PHP, MySQL 및 MariaDB의 지원 수명 주기 날짜는 전혀 가져오지 않습니다: 각 공급업체의 공개 정책에서 컴파일된 includes/data/lifecycle.json에 포함되어 있습니다.

아홉 개의 도구; 모든 응답은 _meta (합계, 잘림, 사용 불가한 소스, 타임스탬프)을 포함하며 20 KB 예산 내에 유지됩니다. 서버는 사실만 보고, 판단은 절대 하지 않습니다 — 점수 매기기와 조언은 의도적으로 없습니다, 왜냐하면 그것은 AI 클라이언트의 역할이기 때문입니다. 전체 설계 기록은 docs/DECISIONS.md에 있습니다.

AI 클라이언트에 연결하기

  1. wp-admin에서 도구 → Auditra: 엔드포인트를 활성화하고, 토큰을 생성하고, 연결 URL을 복사합니다.
  2. Claude에서: 설정 → 커넥터 → 사용자 지정 커넥터 추가, URL을 붙여넣습니다(https://여야 함).
  3. 질문하세요. "이 사이트의 플러그인에 대해 무엇을 알 수 있나요?"로 시작하세요.

사이트는 HTTPS를 통해 공개적으로 접근 가능해야 하며 pretty permalinks가 활성화되어 있어야 합니다. 개정 2026-07-28의 클라이언트는 tools/list에 24시간 신선도 힌트를 받으므로, 플러그인 업데이트로 추가된 도구는 하루 안에 자동으로 나타납니다; 이전 개정에는 만료 신호가 없으므로, 업데이트 후 커넥터를 다시 연결하여 새 도구를 가져오세요.

기여하기

가장 쉽고 실질적으로 유용한 기여는 includes/data/prefix-overrides.json에 대한 풀 리퀘스트입니다 — 플러그인 슬러그에서 실제로 사용하는 option/테이블 접두사로의 선별된 매핑 (Contact Form 7 → wpcf7_). 모든 항목은 모든 사용자의 귀속 정확도를 향상시킵니다. CONTRIBUTING.md를 참조하세요.

개발

composer install   # dev-only: PHPCS + WordPress Coding Standards (pinned)
composer lint
php tests/mcp-client.php https://example.com/wp-json/auditra/v1/mcp/{token}

tests/mcp-client.php는 AI 클라이언트 없이 엔드포인트를 테스트하는 CLI 하네스입니다; tests/seed-conditions.sh는 의도적으로 지저분한 테스트 사이트를 구축합니다(그리고 teardown-conditions.sh이 정확히 되돌립니다). CI는 PHP 린트 매트릭스(7.4–8.4), PHPCS, 그리고 플러그인 코드에 쓰기 작업이 나타나면 빌드를 실패시키는 grep 게이트를 실행합니다.

보안

지원되는 버전과 취약점을 비공개로 신고하는 방법은 SECURITY.md를 참조하세요.

라이선스

GPL-2.0-or-later.