Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 459

硬编码机密(代码中的密钥)

硬编码机密(代码中的密钥) 是什么?

硬编码机密(代码中的密钥)把凭据、API 密钥、令牌或密码学材料直接写入源代码、配置文件或容器镜像中,极易被发现并被滥用。


硬编码机密是现代开发中最常见、危害也最严重的错误之一。它们会进入 Git 历史、容器分层、移动应用、CI 日志、公开仓库,被机器人在数分钟内扫描发现。真实案例包括把 AWS 密钥提交到 GitHub、把 Slack 令牌打进前端 bundle、把数据库密码写入 Docker 镜像等。缓解措施组合了:预防(开发者教育、pre-commit 钩子、IDE 插件、.gitignore 模式)、检测(GitHub secret scanning、Gitleaks、TruffleHog 等在仓库和 CI 中扫描)、集中化的机密管理(HashiCorp Vault、AWS Secrets Manager、Azure Key Vault、GCP Secret Manager、Kubernetes External Secrets)。一旦发现泄露,应立即轮换密钥,而不是仅从历史记录中删除。

示例

  1. 01

    AWS 访问密钥被提交到公共 GitHub 仓库,在几分钟内即被滥用。

  2. 02

    OAuth 客户端密钥被写入移动应用的二进制文件中。

常见问题

硬编码机密(代码中的密钥) 是什么?

把凭据、API 密钥、令牌或密码学材料直接写入源代码、配置文件或容器镜像中,极易被发现并被滥用。 它属于网络安全的 应用安全 分类。

硬编码机密(代码中的密钥) 是什么意思?

把凭据、API 密钥、令牌或密码学材料直接写入源代码、配置文件或容器镜像中,极易被发现并被滥用。

硬编码机密(代码中的密钥) 是如何工作的?

硬编码机密是现代开发中最常见、危害也最严重的错误之一。它们会进入 Git 历史、容器分层、移动应用、CI 日志、公开仓库,被机器人在数分钟内扫描发现。真实案例包括把 AWS 密钥提交到 GitHub、把 Slack 令牌打进前端 bundle、把数据库密码写入 Docker 镜像等。缓解措施组合了:预防(开发者教育、pre-commit 钩子、IDE 插件、.gitignore 模式)、检测(GitHub secret scanning、Gitleaks、TruffleHog 等在仓库和 CI 中扫描)、集中化的机密管理(HashiCorp Vault、AWS Secrets Manager、Azure Key Vault、GCP Secret Manager、Kubernetes External Secrets)。一旦发现泄露,应立即轮换密钥,而不是仅从历史记录中删除。

如何防御 硬编码机密(代码中的密钥)?

针对 硬编码机密(代码中的密钥) 的防御通常结合技术控制与运营实践,详见上方完整定义。

硬编码机密(代码中的密钥) 还有哪些其他名称?

常见的别称包括: 硬编码凭据, 代码中的机密泄露。

相关术语

参见