code-security について
アプリケーションコードやインフラ設定の作成・レビューを支援し、一般的な脆弱性を確認してCWE/OWASP分類と修正案を示すセキュリティスキルです。開発やコードレビューでセキュリティを確認するエンジニア向けです。
主な機能
- 01インジェクション、XSS、認証、SSRFの確認
- 02シークレット、セッション、通信の安全性確認
- 03Terraform、Kubernetesなどの設定確認
- 04指摘事項をCWE/OWASPに対応付け
- 05安全な代替策と修正案の提示
活用シーン
- 01ユーザー入力や外部リクエストを扱うコードのレビュー
- 02認証、シークレット、セッション処理の確認
- 03コンテナやクラウドインフラ設定のレビュー
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ rade-nugroho/ agentic-enteprises-skill --skill code-securityインストール後、Claude Code で/code-securityを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/code_security_scope_and_workflow.mdcrypto_auth_and_session.mddeserialization_ssrf_xxe.mdinfrastructure_as_code_security.mdinjection_and_input_validation.mdreview_checklist_and_owasp_mapping.md詳細
コードセキュリティ
使用する場面
- よくある脆弱性の種類(インジェクション、XSS、認証、暗号、SSRF、XXE、デシリアライゼーション)に関するアプリケーションコードを作成またはレビューする
- コード内のシークレットの取り扱い、セッション/JWT のパターン、トランスポートセキュリティをレビューする
- Terraform、Kubernetes マニフェスト、Dockerfile、GitHub Actions のセキュリティ設定ミスをレビューする
- ユーザー入力を受け付ける、I/O を実行する、データベースにクエリする、外部 URL を呼び出すコードを事前に強化する
- 検出結果を CWE/OWASP カテゴリに対応付け、具体的な安全なパターンを提案する
使用しない場面
- 許可されたペネトレーションテスト、エクスプロイトチェーン、レッドチームキャンペーンを計画または実行する →
ai-redteam、cybersecurity、penetration-tester、red-team-specialist - 管理策を SOC 2、ISO 27001 に対応付ける、または監査証跡パッケージを作成する →
compliance-engineer、compliance-specialist - SIEM、IdP、KMS、WAF をデプロイする、またはセキュリティツールを運用する →
information-security-engineer - セキュアコーディングのレビューを行わずに CI/CD スキャナー、SBOM、OIDC、パイプラインゲートを設定する →
devsecops - YARA ルールやマルウェア検出ルールを作成する →
yara-rule-authoring - セキュリティの観点を伴わない一般的な機能設計、RFC、リファクタリング →
senior-software-engineer
関連スキル
| ニーズ | スキル |
|---|---|
| セキュリティプログラムの戦略、ポリシー、IR | cybersecurity |
| 管理策の実装、IdP、KMS、SIEM | information-security-engineer |
| CI/CD セキュリティゲート、SBOM、パイプライン OIDC | devsecops |
| 監査証跡とフレームワークの対応付け | compliance-engineer |
| LLM/エージェントのレッドチームとプロンプトインジェクション | ai-redteam |
| コードレビュー、RFC、信頼性(セキュリティ以外) | senior-software-engineer |
| クラウドアカウントのガードレールと CSPM | cloud-security-engineer |
| 暗号プリミティブ/プロトコルの設計 | cryptographer-specialist |
| ペネトレーションテストの検出結果の再現 | penetration-tester、web-pentester |
作業方法
モード
- 事前対応 — セキュリティ上重要なコード(入力、認証、ファイル、DB、HTTP クライアント、暗号、IaC)を作成または変更する際は、明示的にセキュリティの確認を求められるのを待たず、関連カテゴリを確認します。
- 依頼対応 — ユーザーがセキュリティレビューを依頼した場合は、
references/review_checklist_and_owasp_mapping.mdのレビューワークフローに従います。
ワークフロー
- 言語/スタックと、コードの動作を特定します(入力? DB? シェル? XML? 外部 HTTP? シークレット? IaC?)。
- 以下の該当するリファレンスを読み込み、影響度がCritical、次にHighのものを優先します。
- 脆弱なパターンに CWE/OWASP のラベルを付け、リファレンスにある安全な代替案を提案します(言語固有の例もそこに記載されています)。
- レビューでは、重大度順に、ファイル/行のコンテキストと修正方法のガイダンスを添えて検出結果を提示します。
言語の優先順位(最初に確認する項目)
| 言語/スタック | 優先トピック |
|---|---|
| Python | SQL/コマンドインジェクション、パストラバーサル、コードインジェクション、SSRF、安全でない暗号、デシリアライゼーション |
| JavaScript/TypeScript | XSS、プロトタイプ汚染、コードインジェクション、CSRF、安全でないトランスポート |
| Java | SQL インジェクション、XXE、安全でないデシリアライゼーション、SSRF、安全でない暗号 |
| Go | SQL/コマンドインジェクション、パストラバーサル、SSRF、安全でないトランスポート |
| C/C++ | メモリ安全性、安全でない関数、コマンドインジェクション、パストラバーサル |
| Ruby / PHP | SQL/コマンドインジェクション、XSS、デシリアライゼーション(Ruby)、コードインジェクション |
| HCL / YAML | Terraform(AWS/Azure/GCP)、Kubernetes、Docker、GitHub Actions |
リファレンスを読み込むタイミング
脆弱なパターンと安全なパターンの詳細、および複数言語の例は references/ にあります(上流のルールカテゴリ28個を要約したものです)。すべてのルールについて、言語ごとのコピーが SKILL.md に含まれているとは限りません。
| トピック | リファレンス |
|---|---|
| スコープ、モード、言語の優先順位 | references/code_security_scope_and_workflow.md |
| SQL、コマンド、XSS、パストラバーサル、コードインジェクション | references/injection_and_input_validation.md |
| シークレット、JWT、CSRF、暗号、TLS | references/crypto_auth_and_session.md |
| XXE、デシリアライゼーション、SSRF | references/deserialization_ssrf_xxe.md |
| Terraform、K8s、Docker、GitHub Actions | references/infrastructure_as_code_security.md |
| レビューチェックリスト、CWE/OWASP マッピング、中・低リスク | references/review_checklist_and_owasp_mapping.md |
簡易予防リファレンス
| 脆弱性 | 主な予防策 |
|---|---|
| SQL インジェクション | パラメーター化クエリ/プリペアドステートメント |
| XSS | コンテキストに応じた出力エンコーディング。適切な場合は CSP |
| コマンドインジェクション | シェルを避け、引数リストを受け取る API を使用する |
| パストラバーサル | パスを正規化し、ベースディレクトリを許可リストで指定する |
| SSRF | URL の許可リストを使用し、メタデータ/リンクローカルの範囲をブロックする |
| シークレット | 環境変数/シークレットマネージャーを使用し、認証情報を絶対にコミットしない |
| 脆弱な暗号 | SHA-256 以上、AES-256-GCM を使用し、MD5/SHA1/DES/ECB を避ける |
| XXE | XML パーサーで DTD/外部エンティティを無効にする |
| デシリアライゼーション | 信頼できないデータをデシリアライズしない |
コメント
Markdown 対応