kafka-security-audit について
コードベースとインフラの Kafka セキュリティ設定を監査するスキルです。開発・ステージング・本番環境を評価するチーム向けで、環境に応じて問題の深刻度を調整します。
主な機能
- 01環境の健全性とティアの確認
- 02コードベースのセキュリティ設定検索
- 03SASL 認証と TLS の監査
- 04ハードコードされた認証情報と Git の確認
- 05環境別の重要度と修正案の提示
活用シーン
- 01本番前の Kafka セキュリティ確認
- 02開発環境の認証と暗号化の評価
- 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
- Lenses MCP を使って環境の健全性とティアを確認する
- セキュリティ関連の設定についてコードベースをスキャンする(
references/security-properties.mdを参照) - 認証を監査する(SASL メカニズム)
- 暗号化を監査する(SSL/TLS)
- シークレット管理を監査する(認証情報のハードコード)
- 環境ティアに合わせて重大度を調整し、検出結果を報告する
ステップ 1:環境のコンテキスト
Lenses MCP ツールを使って環境を把握します。
check_environment_health- 環境が健全で、エージェントが接続されていることを確認しますget_environment- 環境のティア(development、staging、production)を取得し、重大度を調整します。開発環境での PLAINTEXT 接続は提案レベルですが、本番環境では重大な問題です。
期待される出力:環境のティア(development/staging/production)と健全性のステータス。
検証:環境のティアを特定できない場合は、本番レベルの重大度を既定値としてください。過剰に報告するほうが安全です。
ステップ 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件
定性的
- 環境ティア(開発環境か本番環境か)に応じて重大度が適切に調整されている
- シークレットに関する検出結果の偽陰性がない(ハードコードされた認証情報を見逃さない)
- すべての検出結果にリスクの説明と修正手順が含まれている
例
例 1:本番前のセキュリティレビュー
ユーザーの依頼:「本番環境の Kafka セキュリティを監査してください」
実行内容:
- Lenses MCP から環境のティア(production)を取得する
- すべてのセキュリティプロパティについてコードベースをスキャンする
- 本番環境向けの重大度ルールを適用する 結果:本番環境向けの重大度ですべての検出結果を示す、包括的なセキュリティ監査レポート
例 2:開発環境の確認
ユーザーの依頼:「開発用の Kafka クラスターは十分に安全ですか?」
実行内容:
- Lenses MCP から環境のティア(development)を取得する
- セキュリティプロパティについてコードベースをスキャンする
- 開発環境では認証/暗号化に関する検出結果を提案レベルに引き下げる
- シークレットに関する検出結果は本来の重大度のままにする(認証情報をハードコードしてはいけません) 結果:開発環境に合わせて調整されたレポート
例 3:シークレットに焦点を当てた監査
ユーザー:「コードベースにハードコードされた Kafka の認証情報がないか確認してください」
アクション:
- シークレットのパターン(パスワード、トークン、API キー)を検索します
- git で追跡されている
.envファイルを確認します .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}