Skip to main content
Glama

Wait, the earlier final draft somehow got corrupt: "노출 22) —" missing "no HEALTHCHECK" etc. Need to correct. I'll refocus.

Let's output clean, not accidentally corrupted.

Let's rewrite full final carefully now:


infra-guard

A.MCP server that scans Terraform and Dockerfiles for real security misconfigurations — open security groups, public S3 buckets, wildcard IAM policies, hardcoded secrets, containers running as root — and hands back structured findings instead of a guess.

(Translated in Korean, keep "infra-gard" and "Checkov".)

Let's produce in one go, not with accidents.

Maybe use simpler translation to avoid mistakes.

We'll now write final answer in full without accidentally changing names.

Need maintain "insecure_example.Dockerファイル" etc.

Let's produce final answer# infra-guard

Terraform와 Dockerfile을 스ном하여 실제보안 설정 오류를 탐지하는 MCP서버입니다 — 열려 있는 보안 그룹, 공개 S3 버킷, 와드카드 IAM 정책, 하드코딩된 비밀값, 트로 실고되는 컨테이너 등 — 여밨가 아닌 구조화된 발견 항목을 돌려줍니.다.

Claude Code, Cl춃 Desktop, 또는 Cursor에 도구로 연결됩니다. AI 어시스턴트에게 인프라 코드를 검토해 달라고 요청하면, infra-ghard를 호출해서 Checov의 실체 발견 항목을 받아와 사요자에게 설면해 줂니다.

브라우저에서 체혐해 보세요: infar-guard-frontend-production.up.railway.app — Terraform을 붙여넣고 Scan을 카릭하면 실체 결과를 볼 수 있져. 설치가 필요 없젣.

MCP 엔드포인터: https://infra-guard-produser.up.railway.app/mcp

왜이 도구를 만든 이

AP.Moller–Maersk에서 크라우드 인프라 작업을 하며 Terraform, Docker, AWS 프로장 등을 실제 규모로 다뤘습니다. 다수로 포트폼리오 프로젝트는 평범한 웹 앱지만, 이 프로젝트는 제가 정말 있으면 바랐던 도구로, "내 Terraform에 명확한 보안 취약점이 하나?"라는 질문을 AI 어시스턴트의 임의 기 (추측)이 아닌 실제하고 구조화된 답으로 바꾸어 줩니다.

infra-guard는 추측하지 않습니다. 파일을 Checkov에 실돌해서 핸백 개의 내장 검사를 갖춘 실제 정적 분석 엔진에서 실체 발견 항목(체크 ID, 제목, 영항 받는 리소스, 줄 범위, 코드 스집펫)으로 반황됩니다. 이 세션을 호하는 LLM(그D등 모든치고, MCP 기찬, 즉 반대편에 있는 무언지든)는 그 발겂 항목을 을리자가 알기 쉡운 언어로 설면합니다. 도구의 역하은 정확한 결과를 보장하는 것뿐입나다.

Related MCP server: MCP Security Scanner

동작 방식

scanner.py   → core engine: scan_terraform(...) / scan_dockerfile(...) -> structured dict
server.py    → wraps both as MCP tools, served over stdio or Streamable HTTP
api.py       → wraps both as a plain REST API (POST /api/scan, POST /api/scan-dockerfile)
frontend/    → React + Vite playground that calls api.py, with a Terraform/Dockerfile toggle

scanner.py는 Checkov CLI를 로 출하하여 JSON 출을 파싱한 다아, 어떤 임워크로 구동했든 상관없이 일된 모양으로 반환합니다.

{
  "summary": { "passed": 14, "failed": 34, "total_checks": 48 },
  "findings": [
    {
      "check_id": "CKV_AWS_24",
      "title": "Ensure no security groups allow ingress from 0.0.0.0:0 to port 22",
      "resource": "aws_security_group.app_sg",
      "start_line": 6,
      "end_line": 24,
      "code_snippet": "resource \"aws_security_group\" \"app_sg\" { ... }"
    }
  ]
}

serer.py는 두 MCP 도구를 제공합니다. scan_terrafform_file(il_content, file_m), scan_dockerfile_file(file, file) — 그리하 해석 단계 없이 구조화된 데이터는 세션을 호하는 LLM에 그대출 전닙니다.

insecure_example.tf에는 의도적으로 삸어한 4가이 Terraform 문제가 있고(오되 SSH 인그스, 텍개+암호화 없이 S3 버킷, Kildcard IAM, KDD Rddd등) — 검사 14개로 / 34개 실패. insecure_example.Dockerfile에는 5가이 문제가 있고(버가 고정되지 않은 베이스 이미지, ADD 대신 COPY, 번 포트 22 출로 노출, HEALTHCHECK 없음, 트로 실출) — 검사 26개로 / 5개 실패.

로컬 실출

uv가 필효합니다.

local

git clone https://github.com/SanjanaJanardhan/infra-guard.git
cd infra-guard
uv sync
uv run python3 scanner.py

다르로 실출 하세요:

uv run python3 server.py

stdio로 MCP서버를 실출하(로컬 클라이언트 시 EnMB) — 이:

uv run python3 server.py --transport streamable-http --port 8000

Streamable HTTP 로 실출하세요 (원격 클라이언트 클라우드 Deploy 등 표준 스설을 재출): — Du예GXP8

MCP 클라이언트와 연결

Claude Code / Cl. Desktop.mc.json(프로젝트 레벨) 또는 전역 MCP 설정에 추가:

{
  "mcpServers": {
    "infra-guard": {
      "command": "uv",
      "args": ["--directory", "/absolute/path/to/infra-guard", "run", "python3", "server.py"]
    }
  }
}

Streamble HTTP를 지원는 클라이언트 (위 라이브 출 포함) — 아래 실체로 가리카면:

https://infra-guard-production.up.railway.app/mcp

플레이라운드 로컬 실행

# terminal 1 — API
uv run python3 api.py

# terminal 2 — frontend
cd frontend
npm install
npm run dev

프런트엔드는 VITE_APU에저 API base URL을 읽습니다 (frontend/.env.local 참고) — http://localhost:8001가 기본값입니다.

배포

Railway 세 개 서비스, 모두 Docker/Nixpacks 빌더 수동 설저 없이.

  • MCP 서버Dockerfile, Streamble HTTP

  • REST APIDockerfile.api, 같 scanner.py 코어 기반 플래이라운드를 구동

  • 프런트엔드 — Railay의 Nixpacks 빌더 fronted/ 내 Vte 앱 자동 감지. VITE_API_RL 빌더 타임에 배포된 API URL로 설.

모두 Python 서비스는 PORT를 환경에서 읽으므로, Railwway가 어느 포트를 청당하든 설정 변확 없이 그에 맞게 동작합니다.

기술 스택

Python · Checkov · MCP Pytanon SDK · FasAPI · React · Vte · uv · Docker · Railway

로드맵

  • Core Terraform scanning engine

  • MCP server over stdio

  • Streamble HTTP transport

  • Deploy to Railway

  • Web frontend with a live playground

  • Dockerfile scan, including Terraform/Dockerfi togggle in playgound

  • Cost-impact estimate for findings

License

MIT

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Zero-config MCP security scanner for AI-generated apps. 25K+ vulnerability patterns.

  • CVE lookups (NVD) and dependency-manifest audits (OSV) for AI agents. No API keys.

  • CVE lookups (NVD) and dependency-manifest audits (OSV) for AI agents. No API keys.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SanjanaJanardhan/infra-guard'

If you have feedback or need assistance with the MCP directory API, please join our Discord server