mcpField
K
kafka-security-audit

kafka-security-audit

github.com/lensesio安全6660 次安装10 周前更新
代码仓库

关于 kafka-security-audit

用于审查代码库和基础设施中的 Kafka 安全设置,适合评估开发、预发布或生产环境的团队。它结合配置与凭据检查,并按环境等级调整问题严重性。

主要功能

  1. 01检查环境健康状况与等级
  2. 02扫描代码库中的安全配置
  3. 03审查 SASL 身份验证与 TLS
  4. 04检查硬编码凭据及 Git 跟踪
  5. 05按环境等级报告问题与修复建议

适用场景

  1. 01生产前检查 Kafka 安全性
  2. 02评估开发环境的身份验证与加密
  3. 03查找提交到代码库的凭据

MCP 相关

使用 Lenses MCP 检查环境健康状况和等级,并据此确定安全问题的严重性。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/lensesio/agentic-engineering-for-apache-kafka --skill kafka-security-audit

安装后在 Claude Code 中输入/kafka-security-audit确认已加载。

附带文件references/security-properties.mdreferences/test-cases.md

详细介绍

Kafka 安全态势审计

审计代码库和基础设施中的 Kafka 安全配置。Kafka 集群通常会在开发环境中以 PLAINTEXT 启动,但之后从未妥善加固以用于生产环境。

目标环境:$ARGUMENTS

工作流

复制此检查清单并跟踪进度:

Security Audit Progress:
- [ ] Step 1: Check environment health and tier
- [ ] Step 2: Scan codebase for security configuration
- [ ] Step 3: Audit authentication
- [ ] Step 4: Audit encryption
- [ ] Step 5: Audit secrets management
- [ ] Step 6: Generate report
  1. 通过 Lenses MCP 检查环境健康状况和层级
  2. 扫描代码库中的安全相关配置(参见 references/security-properties.md)
  3. 审计身份验证(SASL 机制)
  4. 审计加密(SSL/TLS)
  5. 审计机密管理(硬编码凭据)
  6. 报告发现,并根据环境层级校准严重性

步骤 1:环境上下文

使用 Lenses MCP 工具了解环境:

  • check_environment_health - 确认环境健康,且 Agent 已连接
  • get_environment - 获取环境层级(开发、预发布、生产),以校准严重性级别。在开发环境中,PLAINTEXT 连接只是一个建议;在生产环境中则属于严重问题。

预期输出:环境层级(开发/预发布/生产)和健康状态。

验证:如果无法确定环境层级,则默认采用生产级严重性——多报告总比漏报安全。

步骤 2:检查代码库

搜索代码库中的 Kafka 安全配置。查阅 references/security-properties.md,了解完整的身份验证属性、加密属性和待扫描文件列表。

步骤 3:审计身份验证

应用 references/security-properties.md 中的身份验证审计规则。重点检查:

  • 生产环境中使用 PLAINTEXT 协议(严重)
  • 未使用 TLS 的 PLAIN SASL(严重)
  • 生产环境中未配置身份验证(严重)
  • 弱 SASL 机制(警告)

步骤 4:审计加密

应用 references/security-properties.md 中的加密审计规则。重点检查:

  • 生产环境中未使用 SSL/TLS(严重)
  • 已禁用主机名验证(警告)
  • 密钥库密码以明文存储(警告)

步骤 5:审计机密管理

应用 references/security-properties.md 中的机密审计规则。重点检查:

  • 源文件中存在硬编码凭据(严重)
  • 凭据被 Git 跟踪(严重)
  • 缺少 .gitignore 条目(警告)

步骤 6:环境层级不匹配

将发现与 Lenses 提供的环境层级交叉核对:

  • 生产/预发布:所有发现均按完整严重性处理
  • 开发:将加密/身份验证发现降级为建议(本地开发环境可以接受)
  • 标记任何可能被意外用于生产环境的开发环境配置

成功标准

定量标准
  • 可触发 90% 的安全相关查询(使用 10–20 种不同表述进行测试)
  • 在 12 次工具调用内完成审计(MCP + 代码库搜索)
  • 每次运行的 MCP 调用失败数为 0
定性标准
  • 严重性根据环境层级(开发与生产)正确校准
  • 机密相关发现的漏报数为 0(绝不漏掉硬编码凭据)
  • 每项发现都包含风险说明和修复步骤

示例

示例 1:生产前安全审查

用户说:“审计生产环境的 Kafka 安全性”

操作:

  1. 从 Lenses MCP 获取环境层级(生产)
  2. 扫描代码库中的所有安全属性
  3. 对生产环境应用完整严重性规则 结果:生成完整的安全审计报告,所有发现均按生产环境严重性处理
示例 2:开发环境检查

用户说:“我的开发 Kafka 集群安全性够好吗?”

操作:

  1. 从 Lenses MCP 获取环境层级(开发)
  2. 扫描代码库中的安全属性
  3. 将开发环境中的身份验证/加密发现降级为建议
  4. 对机密相关发现维持完整严重性(绝不应硬编码凭据) 结果:生成根据开发环境校准的报告
示例 3:以密钥为重点的审计

用户说:“检查代码库中是否存在硬编码的 Kafka 凭据”

操作:

  1. 搜索密钥模式(密码、令牌、API 密钥)
  2. 检查由 git 跟踪的 .env 文件
  3. 确认 .gitignore 是否包含凭据文件 结果:仅针对密钥管理的专项报告

故障排除

环境层级未知

原因:Lenses get_environment 未返回层级,或返回了自定义层级值。 解决方案:默认采用生产级严重性。安全问题宁可多报,也不要漏报。

无法确定 .env 文件是否由 git 跟踪

原因:当前未在 git 仓库中运行。 解决方案:检查是否存在 .env 文件并报告其存在。注明无法验证 git 跟踪状态。

密钥扫描出现误报

原因:“password”等词出现在文档或注释中,而非实际凭据中。 解决方案:报告所有发现,但注明置信度。将内联值标记为高置信度,仅供参考的提及标记为低置信度。

输出格式

## Security Audit Report

### Environment: {name} (tier: {development|staging|production})

### Critical (must fix)
- [file:line] Description of the security issue
  Risk: {what could go wrong}
  Remediation: {how to fix}

### Warning (should fix)
- [file:line] Description of the issue
  Risk: {what could go wrong}
  Remediation: {how to fix}

### Suggestion (consider improving)
- [file:line] Description of the issue
  Recommendation: {how to improve}

### Summary
- X critical issues found
- Y warnings found
- Z suggestions found
- Environment tier: {tier}
- Authentication: {configured|missing}
- Encryption: {configured|missing}
- Secrets exposed: {yes|no}

评论

支持 Markdown