メインコンテンツへスキップ
ブログ一覧

Claude Code Securityで始める自律型セキュリティスキャン入門 ─ AIが見つけるビジネスロジック脆弱性を個人開発で活用する

Claude CodeセキュリティAI開発ツール脆弱性スキャン

Claude Codeに組み込まれたセキュリティスキャンの衝撃

2026年2月20日、Anthropicが「Claude Code Security」をリリースした。内部テストでオープンソースの本番コードから 500件以上の未知の脆弱性 を発見し、セキュリティ企業の株価を大幅に下落させたことで話題になったが、本質はそこではない。

このツールが個人開発者にとって革新的なのは、セキュリティの専門知識がなくても、AIがビジネスロジックの脆弱性を見つけてくれる という点だ。従来のnpm auditやESLintでは原理的に検出できなかった種類の問題を、コード全体の文脈を理解した上で指摘してくれる。

この記事では、Claude Code Securityの仕組みと、個人開発者が今日から使える実践的な導入手順を解説する。

従来のセキュリティツールとの根本的な違い

まず、従来ツールとの違いを明確にしておこう。

ルールベーススキャナの限界

npm auditeslint-plugin-securityは「既知のパターン」に対するマッチングで動作する。たとえば「eval()が使われている」「依存パッケージにCVEが報告されている」といった、事前にルール化された問題だけを検出する。

javascript
// npm audit が検出できる問題:既知のCVEを持つパッケージ
// eslint-plugin-security が検出できる問題:eval() の使用
const result = eval(userInput); // ← ルールベースで検出可能

しかし、実際のプロダクトで深刻な事故を引き起こすのは、こうした単純なパターンではなく ビジネスロジックの欠陥 であることが多い。

AIによる推論ベースの検出

Claude Code Securityは、人間のセキュリティ研究者と同じように コードを読んで推論する。コンポーネント間の相互作用を理解し、データの流れを追跡し、文脈に依存した複雑な脆弱性を検出する。

javascript
// ルールベースでは検出不可能だが、Claude Code Security が発見する例

app.put('/api/orders/:id', async (req, res) => {
  const order = await Order.findById(req.params.id);
  // ← 問題: req.user.id と order.userId の照合がない
  // 任意のユーザーが他人の注文を変更できる(IDOR脆弱性)
  order.status = req.body.status;
  await order.save();
  res.json(order);
});

この例では、認証済みユーザーなら 誰でも他人の注文ステータスを変更できる という権限チェック漏れがある。eslintにはこの問題を検出するルールが存在しない。Claude Code Securityは、「認証されたリクエストだが、リソースの所有者チェックがない」というロジックの欠陥をAIの推論で発見する。

観点 npm audit / SAST Claude Code Security
検出手法 ルールベースのパターンマッチ LLMによる意味理解・推論
検出対象 既知のCVE、危険な関数呼び出し ビジネスロジック欠陥、アクセス制御漏れ
誤検知 少ないが、見逃しも多い 多段階検証で誤検知を抑制
コンテキスト理解 ファイル単位 コードベース全体の文脈

/security-review で今すぐ始める

最もシンプルな導入方法は、Claude Codeに組み込まれた /security-review スラッシュコマンドを使うことだ。

基本的な使い方

bash
# Claude Codeを最新版に更新
claude update

# プロジェクトディレクトリでClaude Codeを起動
cd ~/my-project
claude

# セキュリティレビューを実行
> /security-review

これだけで、Claudeがコードベース全体を分析し、以下のような脆弱性を検出する。

  • SQLインジェクション — データベースクエリの脆弱性
  • XSS(クロスサイトスクリプティング) — クライアントサイドのスクリプト注入
  • 認証・認可の欠陥 — アクセス制御の問題
  • 安全でないデータ処理 — バリデーション・サニタイズの不備
  • ビジネスロジックの欠陥 — 競合状態、TOCTOU問題

各発見事項には 重要度の評価信頼度スコア が付与され、修正パッチの提案まで行われる。ただし、パッチの適用は常に開発者の判断に委ねられる。

カスタマイズ

プロジェクト固有のセキュリティ要件がある場合、.claude/commands/security-review.mdファイルを作成してスキャン内容をカスタマイズできる。

markdown
<!-- .claude/commands/security-review.md -->
セキュリティレビューを実行してください。特に以下の点を重点的にチェック:

1. 全APIエンドポイントの認可チェック(req.user.idとリソース所有者の照合)
2. Supabase RLSポリシーの設定漏れ
3. 環境変数のハードコード
4. ファイルアップロード処理のバリデーション

GitHub Actionsで自動化する

PRごとに自動でセキュリティレビューを走らせるGitHub Actionも公式で提供されている。

セットアップ手順

yaml
# .github/workflows/security-review.yml
name: Security Review

permissions:
  pull-requests: write
  contents: read

on:
  pull_request:

jobs:
  security:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          ref: ${{ github.event.pull_request.head.sha || github.sha }}
          fetch-depth: 2
      
      - uses: anthropics/claude-code-security-review@main
        with:
          comment-pr: true
          claude-api-key: ${{ secrets.CLAUDE_API_KEY }}

設定は最小限でこれだけだ。PRが作成されるたびに、変更されたファイルだけを対象にセキュリティスキャンが実行され、問題があればPRにインラインコメントが付く。

高度な設定

スキャン対象の除外やカスタムルールの追加も可能だ。

yaml
- uses: anthropics/claude-code-security-review@main
  with:
    comment-pr: true
    claude-api-key: ${{ secrets.CLAUDE_API_KEY }}
    exclude-directories: 'node_modules,dist,coverage'
    custom-security-scan-instructions: '.github/security-scan-instructions.txt'
    false-positive-filtering-instructions: '.github/false-positive-rules.txt'
    claudecode-timeout: 30

custom-security-scan-instructionsにプロジェクト固有のチェック項目を記述したテキストファイルを指定すれば、組織のセキュリティポリシーに合わせたスキャンができる。

よくあるハマりポイント

プロンプトインジェクションに注意

GitHub Action版はプロンプトインジェクション攻撃に対するハードニングが施されていないと公式に明記されている。外部コントリビューターからのPRに自動実行する場合は、リポジトリ設定で「Require approval for all external contributors」を必ず有効にすること。

補完であって代替ではない

Claude Code Securityは既存のセキュリティプラクティスを 補完 するものであり、置き換える ものではない。npm auditで依存パッケージの既知CVEをチェックし、Claude Code Securityでビジネスロジック層の問題を検出する、という組み合わせが現時点でのベストプラクティスだ。

bash
# 推奨: 従来ツールとの併用
npm audit                  # 既知のCVEチェック
npx eslint --ext .ts .     # コーディング規約 + 基本的なセキュリティルール
claude /security-review    # AI推論によるロジック脆弱性の検出

利用条件の確認

Claude Code Securityのフル機能(Webダッシュボード、多段階検証)は現在 Enterprise / Teamプラン 向けのリミテッドプレビューだ。ただし、/security-reviewコマンド自体はClaude Codeユーザーなら利用できる。また、オープンソースのメンテナー には無料の優先アクセスが提供されているので、OSSプロジェクトを持っている方は申請ページから申し込める。

まとめ

Claude Code Securityの登場により、これまでセキュリティ専門家にしか発見できなかったビジネスロジック脆弱性を、個人開発者でもAIの力で検出できるようになった。

すぐにできるアクションは3つ。

  1. claude updateでClaude Codeを最新版に更新する
  2. 自分のプロジェクトで/security-reviewを実行してみる
  3. 継続的にチェックしたいリポジトリにGitHub Actionを設定する

ルールベースのツールが「既知の脅威への盾」だとすれば、Claude Code Securityは「未知の脅威を嗅ぎ分ける嗅覚」だ。両方を組み合わせることで、個人開発のプロダクトでもエンタープライズレベルのセキュリティ品質に近づける。


Sources:

もっと読む他の技術記事も読む