Go Runtime Guard 零信任安全

ZERO-TRUST RUNTIME ATTESTATION

Go Runtime Guard 零信任运行时安全库

在业务容器启动阶段自动证明当前运行环境属于企业信任域;若处于非授权环境(如镜像被拖走运行在私有云或非法 AWS 账号),进程立即自毁退出。

双路径无感环境验证机制

集成成本趋近于零:业务开发人员无需编写任何验证分支代码,引入即在 init() 阶段自动完成校验。

Local 本地开发环境验证

本地 docker run 或调试时,通过 RUNTIME_GUARD_OIDC_TOKEN 传递 SSO 获取的 JWT,验证器严格校验签名、受众、过期时间及编译期注入的 TrustedIssuer。

线上 K8s (EKS) 集群验证

读取 K8s SATVP 投影令牌文件,向 AWS STS 发起 AssumeRoleWithWebIdentity 换取身份,严格比对 Account ID 是否在编译期注入的可信账号列表中。

编译期 -ldflags 信任锚点防篡改

信任锚点(TrustedIssuer 与 TrustedAccounts)不支持运行时环境变量热修改,必须在 CI 构建时通过 ldflags 静态注入,杜绝环境变量篡改欺骗。

单元测试自动探测与绕过

当运行 go test 单元测试时,库自动探测测试进程(-test.v 或 .test 后缀)并在 init() 阶段跳过验证,防止因缺少凭证导致测试崩溃。

清晰的威胁模型与安全边界

  • 有效防范:内部人员将生产镜像错误部署到测试或其他未授权集群
  • 有效防范:未授权攻击者窃取镜像后在个人私有云或非法 AWS 账号中运行
  • 极简导入:在入口文件匿名导入 _ “git-qc.getqccode.com/arsenal/go-runtime-guard/guard”
  • 防御纵深提示:本库不能防范攻击者具备二进制修改权限 (Patch log.Fatalf) 或合法 SSO Token 泄露

为您的 Go 服务开启零信任运行时防护

查阅编译注入脚本与多云 IRSA 挂载指南,实现镜像防泄露全自动加固。