Token导航 LogoToken导航TokenDH.com
Images MCP logo
运维云端stdio官方级别未说明来源级核验

Images MCP

MCP Server

gwshield-image-builder-mcp

基于AI辅助的容器镜像加固生成工具,遵循15项GWShield加固原则,为Dockerfile、烟雾测试和版本锁定文件提供生产级生成服务。

工具数

7

提示词数

0

GitHub Stars

0

资源数

0
TypeScriptClaudeAI代理Claude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

gwshield

提供方

gwshield

最后核验

2026/5/17 20:21

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx -y gwshield-image-builder-mcp

详细介绍

门禁屏蔽图像生成器MCP

_人工智能辅助硬化容器图像生成_

根据15个GWShield硬化支柱生成生产级Dockerfiles。 适用于Claude、Gemini、OpenCode和任何兼容MCP的AI代理。

![License](LICENSE) ![TypeScript](https://www.typescriptlang.org/) ![MCP](https://modelcontextprotocol.io/) ](https://www.npmjs.com/package/gwshield-image-builder-mcp) ![OpenSSF Scorecard](https://securityscorecards.dev/viewer/?uri=github.com/gwshield/images-mcp)

______________________________________________________________________

这个工具做什么

这是一个 模型上下文协议(MCP)服务器 对完整内容进行编码 GWShield将强化方法论转化为AI可访问的工具。它使任何 AI编码代理,用于生成Dockerfiles、冒烟测试、版本引脚和 符合生产所用相同标准的支持文件 GWShield图像管道。

服务器会 构建图像。它生成文件。

______________________________________________________________________

15个硬化支柱

每个生成的Dockerfile都强制执行以下支柱:

#支柱总结
1从头开始/无发行版运行时从头开始;仅在有文件证明的情况下才可发行
2静态二进制CGO_ENABLED=0(Go)或musl-Static(C/Rust);没有不合理的动态存款
3非根UID 65532末级用户65532:65532;无root启动,特权删除
4运行时没有shell没有/bin/sh,没有包管理器,没有curl/wget/nc
5多阶段+摘要固定deps->banner->builder->runtime;所有FROM图像均已固定256
6固定gwshield构建器使用ghcr.io/gwshield/\*-builder映像作为构建基础
7Cosign无密钥签名Sigstore OIDC;没有长寿命的关键材料
8SBOM附加CycloneDX+SPDX绑定到图像摘要
9三重硬临界门0释放时未固定的高/临界值;只有证据的对抗论者
10OCI标签架构org.opencontainers.image。\_+io.gwshield。\_标签
11gwshield初始化横幅静态C包装作为ENTRYPOINT;exec()转换为实数二进制
12强化编译器标志-fstack保护程序强,FORTIF_SOURCE=2,RELRO,PIE
13源tarball+SHA-256从上游源构建;验证tarball哈希值
14每图像烟雾测试启动测试/smoke.sh,非根,无外壳,版本检查
15CVE allowlist+风险声明扫描/allowlist.yaml+文档/risk-statement.md并附上证据

______________________________________________________________________

安装

无需全局安装。服务器通过以下方式按需运行 npx.

运行一次以确认服务器启动:

npx -y gwshield-image-builder-mcp

然后将其添加到您的代理配置中:

克劳德桌面/克劳德代码

文件: ~/.claude/claude_desktop_config.json

{
  "mcpServers": {
    "gwshield-image-builder": {
      "command": "npx",
      "args": ["-y", "gwshield-image-builder-mcp"]
    }
  }
}

保存后重新启动Claude Desktop。

开源代码

文件: ~/.config/opencode/config.jsonopencode.json (项目)

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "gwshield-image-builder": {
      "type": "local",
      "command": ["npx", "-y", "gwshield-image-builder-mcp"],
      "enabled": true
    }
  }
}

OpenCode使用 "mcp" (不是 "mcpServers")与 type: "local" 以及命令数组。

光标

文件: .cursor/mcp.json (项目)或 ~/.cursor/mcp.json (全球)

{
  "mcpServers": {
    "gwshield-image-builder": {
      "command": "npx",
      "args": ["-y", "gwshield-image-builder-mcp"]
    }
  }
}

继续(VS代码/JetBrains)

文件: .continue/mcpServers/gwshield.yaml (工作空间)

name: GWShield Image Builder
version: 0.0.1
schema: v1
mcpServers:
  - name: gwshield-image-builder
    command: npx
    args:
      - "-y"
      - "gwshield-image-builder-mcp"

双子星命令行工具

文件: ~/.gemini/settings.json

{
  "mcpServers": {
    "gwshield-image-builder": {
      "command": "npx",
      "args": ["-y", "gwshield-image-builder-mcp"]
    }
  }
}

来源

git clone git@github.com:gwshield/images-mcp.git
cd images-mcp
npm install
npm run build

然后将您的MCP客户端指向:

{
  "mcpServers": {
    "gwshield-image-builder": {
      "command": "node",
      "args": ["path/to/images-mcp/dist/index.js"]
    }
  }
}

所有代理商都使用 npx stdio传输——没有守护进程,没有端口,没有持久进程。

______________________________________________________________________

MCP工具

工具说明
list_pillars列出所有15个硬化支柱及其说明
suggest_runtime_base为语言选择合适的无发行版或草稿库
generate_dockerfile生成一个完全硬化的多级Dockerfile
generate_versions_env为可复制的构建生成一个固定的VERSIONS.env
generate_smoke_test生成每张图像的烟雾测试脚本
validate_dockerfile根据所有15个支柱验证Dockerfile
generate_dockerignore生成一个最小的、有家庭意识的.dockerignore

MCP提示

提示描述
harden_image全面分析+为任何图像生成强化的Dockerfile
review_dockerfile根据GWShield支柱审核现有的Dockerfile
build_test_iterate构建→ scan → 使用Trivy修复迭代循环(最多5次迭代)

MCP资源

资源描述
gwshield://pillars所有15个支柱,包括基本原理和实施说明
gwshield://families支持的镜像系列:Go、C、Rust
gwshield://contributingGWShield新图像贡献指南

______________________________________________________________________

示例提示

连接服务器后,请向您的代理询问以下任一问题:

“强化我的Go HTTP服务” 用途 harden_imagesuggest_runtime_basegenerate_dockerfile (无发行版运行时, CGO_ENABLED=0,UID 65532,固定构建器摘要)→ validate_dockerfile 确认了所有15个支柱。

“查看我现有的Dockerfile” 用途 review_dockerfilevalidate_dockerfile.返回结构化报告:哪些支柱 通过,失败,并对每个差距进行具体修复。

“为我的nginx镜像生成烟雾测试” 呼叫 generate_smoke_test 使用图像族和二进制路径。返回一个脚本,用于检查 二进制执行、非root用户、无shell和干净的退出代码。

构建、扫描和修复,直到清理干净 用途 build_test_iterate代理人会引导你通过 docker buildtrivy image → fix → 重复,直到Trivy报告零个高或关键发现(最多5次迭代)。

______________________________________________________________________

图像族分类

服务器将服务分类到构建系列中,以选择正确的 Dockerfile模式:

家庭运行时链接示例服务
go-staticscratchCGO_ENABLED=0Traefik、Caddy、NATS
c-muslscratch+musl loadermusl staticnginx、Redis、Valkey、HAProxy
c-glibc无发行版/cc-debian12glibc动态PostgreSQL
go-cgo无发行版/静态debian12启用CGOPomerium,OTel收集器
rust-staticscratchmusl target未来的Rust服务

______________________________________________________________________

供应链安全

](https://www.npmjs.com/package/gwshield-image-builder-mcp) ![OpenSSF Scorecard](https://securityscorecards.dev/viewer/?uri=github.com/gwshield/images-mcp)

组件状态详细信息
npm出处(SLSA v1)活动每个发布的版本都有一个从npm注册表链接的SLSA出处v1证明
SLSA认证有效可通过验证 cosign (见下文)
SHA固定GitHub操作活动全部 uses: 指向不可变提交SHA的引用
Dependabot活动每周自动更新npm依赖关系和GitHub操作
锁定文件强制活动npm ci 在CI-- package-lock.json 所有188个包都具有SHA-512完整性
注册表引脚活动.npmrcregistry.npmjs.org --无第三方注册

验证已发布的版本

消费者可以使用以下方式验证任何已发布版本的来源证明 联署:

# Verify SLSA provenance attestation for a specific version
cosign verify-attestation \
  --type slsaprovenance1 \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com \
  --certificate-identity-regexp "^https://github.com/gwshield/images-mcp/.github/workflows/publish.yml@refs/tags/v" \
  $(npm pack gwshield-image-builder-mcp --dry-run --json | jq -r '.[0].filename')

或者,出处可以直接在npm注册表页面上的 每个已发布版本的“来源”选项卡。

报告安全问题

安全.md 漏洞披露政策。 使用 以保密的方式报告漏洞。

______________________________________________________________________

构建理念

该工具编码了所有网关管理员使用的相同硬化理念 屏蔽图像:

  • 从源头,从零开始 --没有供应商基础映像
  • 安全第一,不是便利第一 --没有初始化脚本,没有shell
  • 需要扫描证据 --没有证据就没有索赔
  • 透明假阳性 --记录扫描仪噪声,不隐藏

______________________________________________________________________

灵感与致谢

此MCP服务器的设计受到以下因素的影响 维克托·法尔契奇的人工智能辅助工作 生成Docker文件。他的

提示在 点ai点ai堆栈 仓库 证明了将Dockerfile最佳实践编码为结构化AI 提示产生的输出始终比ad-hoc生成更好。

我们采纳或改编自他的方法的关键思想:

  • 项目分析第一工作流程 --之前分析代码库

生成,而不是仅仅依赖用户提供的参数

  • 显式.doccernore生成 --将.docerignore视为

一流的构建工件,而不是事后的想法

  • 在添加之前验证所有内容 --永远不要假设一个包裹,

路径或二进制存在;始终根据实际项目上下文进行验证

  • 构建测试迭代循环 --构建映像,运行它,检查日志,

运行linters和scanner,迭代直到干净(可通过 build_test_iterate 提示)

Viktor的方法是语言无关和通用的 服务器固执己见,安全性很强:它强制执行15 GWShield 支柱、目标 scratchdistroless 仅运行时间,以及 生成完整的文件集(Dockerfile、versions.env、smoke.sh、, GWShield图像管道要求的风险声明。

感谢Viktor将您的提示和方法开源。

______________________________________________________________________

许可证

Apache-2.0--看门人/RelicFrog基金会

目录标签

目录标签

TypeScriptClaudeAI代理容器安全本地部署AI辅助开发DevOps工具Dockerfile生成供应链安全

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

gwshield-image-builder-mcp

工具数量(toolCount,工具数)

7

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP