· 3分 · ニュース

Alibaba、セキュリティ上の懸念からClaude Codeを禁止と報道

Alibaba、セキュリティ上の懸念からClaude Codeを禁止と報道

AlibabaのClaude Code禁止報道:結論ではなく、調達判断のシグナルとして捉える

大規模なエンジニアリング組織がAIコーディングエージェントの利用を一時停止するのに、バックドアの証拠は必要ありません。重要な場面で、たった一つの疑問が未解決であれば十分です。「このツールは、法的または契約上、外部に開示できないソースコードを読み取れるのか?」

Alibabaが職場でClaude Codeを禁止したという報道について、私はこの実務的な観点から考えます。報じられた懸念は重大ですが、エンジニアリング上の教訓は「Claude Codeにバックドアがあることが確認された」というものではありません。公開されている事実からは、そのような結論は出せません。有益な教訓は、より限定的で運用に即したものです。AIコーディングエージェントは今や、ソースコード、ビルドシステム、シークレット、ログ、デプロイのワークフローに十分近い位置で動作するため、CI/CDプラットフォーム、コード検索、オブザーバビリティツール、開発者のノートPCと同じ調達・セキュリティ審査の対象にする必要があります。

言い換えれば、疑惑と制御プレーンを切り分けるということです。

主張または報道されているバックドアへの懸念は、具体的な技術的証拠が示されるまでは、未検証の主張として扱うべきです。一方、Claude Codeにまつわるリスクの種類は非常に現実的であり、慎重に評価する価値があります。エージェントがアクセスできるコード、実行できるコマンド、マシンの外に送信されるテレメトリ、プロンプトを処理するモデル、適用される保持ルール、そして数千台の開発者用ワークステーション全体で組織がポリシーを適用する方法などです。

エンジニアリングの責任者が注目すべきなのは、この点です。

職場でのClaude Code禁止が実際に意味すること

企業が開発者ツールを禁止したり、その利用を一時停止したりすると、人々はそれを技術的な問題の告発と受け取りがちです。しかし実際には、禁止は調達手続き上の状態であることがよくあります。

「禁止」には、いくつかの異なる意味があります。

ポリシー上の状態一般的な意味エンジニアリングへの影響
一時停止セキュリティ、法務、または調達の審査が未完了審査が完了するまで、開発者はツールの利用を停止する
ネットワークポリシーによるブロックドメイン、パッケージのインストール、またはバイナリが制限されているツールが認証やモデルAPIの呼び出しを行えない可能性がある
利用制限承認済みのリポジトリまたはデータ分類に限り利用可能チームにはリポジトリの分類と利用ガイドラインが必要
管理措置付きで承認ログ記録、設定、研修を条件にツールの利用を許可開発者は定められた範囲内で利用できる
全面禁止組織がリスクはメリットを上回ると判断したチームには代替ツールと移行方法が必要

したがって、AlibabaがClaude Codeを禁止したと報じられても、それだけで隠れた技術的問題が証明されるわけではありません。社内の審査担当者が提供された保証に納得しなかったことや、ツールの標準的なワークフローが社内のセキュリティポリシーと相容れなかったことを示している可能性があります。

この区別は重要です。エンジニアは、調達上の停止措置をすべて陰謀論に結び付けるべきではありません。一方で、単なる事務手続きとして片付けるべきでもありません。エージェントとして動作する開発者ツールは、自動補完プラグインよりも広いセキュリティ上の接点を生みます。Claude Codeはリポジトリを調べ、差分を提案し、許可されていればコマンドを実行し、システムの理解を支援できます。まさにそれが有用である理由であり、本格的な審査が必要な理由でもあります。

セキュリティの核心となる問い:エージェントは何を見られるのか?

最初に評価すべき管理項目は、コードへのアクセスです。Claude Codeはローカルの開発環境内で動作し、利用可能なファイルとコンテキストに基づいて推論します。切り離されたコード片ではなく、実際のプロジェクトを理解できるため、強力です。同時に、チームはリポジトリをデータとして捉える必要があります。

実際にリスクとなるのは、明らかなシークレットファイルだけではありません。次のようなものも含まれます。

  • 独自のアルゴリズム
  • 顧客固有の実装詳細
  • コードとして定義されたインフラストラクチャ
  • 内部APIのスキーマ
  • セキュリティ制御と検知ロジック
  • コピーした本番データを含むテストフィクスチャ
  • インシデントのメモ、事後分析、またはローカルの作業用ファイル
  • 誤ってリポジトリにコミットされた環境設定ファイル

よくある落とし穴として、チームは次の点に注意を向けます。 .env ファイルが無視対象になっているかどうかです。しかし、テストやドキュメントには、機密性の高いワークフローを再構築できるほどの情報が含まれていることを忘れがちです。エージェントが次のものをレビューすると、 tests/integration/payments/ 模擬的な認証情報、パートナーのエンドポイント、アカウントのライフサイクルに関するルール、障害時の動作が見える可能性があります。シークレットが含まれていなくても、リポジトリが機密情報であることに変わりはありません。

シンプルな社内ポリシーは、リポジトリの分類から始められます。

{
  "repo": "payments-core",
  "classification": "restricted",
  "ai_tools": {
    "claude_code": "requires_security_exception",
    "allowed_models": [],
    "external_context_upload": false
  },
  "data_notes": [
    "Contains payment processor workflows",
    "Includes customer contract-specific behavior",
    "No production secrets permitted"
  ]
}

最良のポリシーは、地味で明確なものです。開発者が、そのリポジトリをエージェントに扱わせても安全かどうかを推測する必要があってはなりません。

エージェントの権限:読み取ることと操作することの違い

Claude Codeは、単なるチャットボックスではありません。ターミナルで動作し、ファイルを調べ、コードを編集し、開発ワークフローに参加するよう設計されています。設定とユーザーの承認次第で、エージェントは「提案」から「実行」へ移ることができます。

この権限の境界が、セキュリティチームが次に審査すべき点です。

一般的な安全なパターンは、次のとおりです。

# Start Claude Code inside a specific repo, not from a broad home directory
cd ~/work/approved-service
claude

そのうえで、作業ディレクトリの範囲を絞ってください。エージェント型ツールは、次の場所から起動しないでください。 ~/work, ~/。また、ツリー全体がその用途で承認されていない限り、モノレポのルートからも起動しないでください。

リスクの高いリポジトリでは、チームは多くの場合、次のようなルールを必要とします。

  • エージェントは現在のリポジトリ内のソースファイルを読み取れる
  • エージェントは親ディレクトリにアクセスできない
  • エージェントは次のものを読み取れない。 .env、鍵情報、またはローカルの認証情報ストア
  • エージェントはパッチを提案できるが、デプロイコマンドは実行できない
  • エージェントがパッケージをインストールしたりシェルコマンドを実行したりするには、明示的な承認が必要
  • エージェントは開発者のマシンから社内の本番サービスを呼び出せない

具体的な仕組みは環境によって異なりますが、セキュリティモデルは具体的であるべきです。「開発者が注意する」は管理措置ではありません。

有効なパターンは、ツールのポリシーをOSおよびシェルの境界と組み合わせることです。たとえば、機密性の高い作業は、ファイルシステムのマウント範囲を絞ったクリーンな開発コンテナで実行します。

docker run --rm -it \
  -v "$PWD:/workspace" \
  -w /workspace \
  --network=none \
  node:22-bookworm bash

この例では、ネットワークアクセスを完全に無効にしています。あらゆるワークフローに実用的な方法ではありませんが、要点を示しています。境界の設定をAIツールだけに頼らないでください。ビルドやテストですでに信頼しているものと同じ分離の基本機構を使いましょう。

テレメトリ、ログ、そしてマシンの外に送信されるもの

次の審査対象はテレメトリです。どのAIコーディングエージェントについても、次の二つの問いを分けて検討してください。

  1. どのようなプロンプトとプロジェクトのコンテキストがモデル提供者に送信されるのか?
  2. ツール自体がどのような運用テレメトリを収集するのか?

これらは関連していますが、同じものではありません。モデルへのリクエストには、選択されたコードのコンテキスト、ファイル名、差分、ターミナル出力、ユーザーの指示が含まれる場合があります。ツールのテレメトリには、利用状況のメタデータ、エラー、パフォーマンスデータ、機能に関するイベント、診断ログが含まれる場合があります。

コーディングタスクの最小限のリクエスト構造は、概念的には次のようになります。

{
  "model": "claude-sonnet-4-6",
  "messages": [
    {
      "role": "user",
      "content": "Refactor the auth middleware to return typed errors."
    }
  ],
  "context": {
    "files": [
      {
        "path": "src/auth/middleware.ts",
        "content": "..."
      },
      {
        "path": "src/auth/errors.ts",
        "content": "..."
      }
    ],
    "terminal_output": "npm test failed in auth.middleware.spec.ts"
  }
}

実際の実装の詳細は異なりますが、セキュリティ審査担当者はこのような構造を念頭に検討すべきです。機密性の高い資産は、多くの場合、ユーザーの短い指示ではなくコンテキストです。

実務的なレビューでは、次の点を確認する必要があります。

  • 開発者は、コンテキストに含まれるファイルを確認できますか?
  • 機密性の高いパスを除外できますか?
  • プロンプトや生成結果は保持されますか?
  • プロンプトは学習に使用されますか?
  • 不正利用の監視と安全性に関するログ記録は、どのように行われますか?
  • エンタープライズやAPIの設定によって、データの保持動作を変更できますか?
  • どのようなログがローカルに保存されますか?
  • どのようなログがリモートに送信されますか?

適切な答えは、個人向けサブスクリプション、チームプラン、エンタープライズプラン、直接のAPIアクセス、第三者の再販業者によって異なる場合があります。すべてが同じように動作すると考えてはいけません。

モデルルーティングとベンダーの境界

モデルルーティングも、十分に議論されていない問題です。現在のClaudeのラインアップでは、利用する製品や提供状況に応じて、チームはOpus 4.8、Sonnet 4.6、Haiku 4.5、そして1Mのコンテキストウィンドウを持つFable 5から選択できます。開発ワークフローでは、Sonnetクラスのモデルが推論能力、レイテンシ、コストの適切なバランスを提供することがよくあります。Opusは難しいアーキテクチャ検討やデバッグに役立ち、Haikuは迅速で範囲の狭いタスクに役立ちます。長いコンテキストを扱えるモデルは、大規模なリポジトリや膨大な設計文書を扱う際の判断基準を変えます。

しかし、調達に必要なのは「どのモデルが最も優れているか?」よりも踏み込んだ問いです。

プロンプトがどこに送られるのかを把握する必要があります。

モデルルーティングのチェックリストには、次の項目を含める必要があります。

  • どのモデルIDが許可されていますか?
  • どの地理的または契約上の境界が適用されますか?
  • ツールはリクエストをフォールバックモデルに振り分けることができますか?
  • ユーザーはモデルの選択を上書きできますか?
  • ベータ版やプレビュー版のモデルは許可されていますか?
  • APIエンドポイントへの接続は直接ですか、プロキシ経由ですか、それとも別のベンダーが仲介しますか?
  • モデルを呼び出す前に、ログ記録、キャッシュ、プロンプトの変換が行われますか?

Claude APIを直接使用しているチームでは、社内ゲートウェイを通じてアクセスを一元化すると役立つ場合があります。

from anthropic import Anthropic

client = Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])

message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1200,
    messages=[
        {
            "role": "user",
            "content": "Review this patch for unsafe database migrations:\n\n..."
        }
    ],
)

print(message.content[0].text)

このようにAPIを直接利用する構成は、管理されていないデスクトップツールが乱立する状態よりも把握しやすい一方、独自の負担も伴います。認証、ログ記録、データ分類、レート制限、ポリシーの適用を自分たちで構築する必要があります。許可されていないモデルへのリクエストを拒否したり、制限対象のリポジトリをブロックしたりする社内プロキシを使用する組織もあります。

大まかなポリシーは、次のようになります。

{
  "allowed_models": [
    "claude-sonnet-4-6",
    "claude-haiku-4-5"
  ],
  "blocked_models": [
    "preview-*"
  ],
  "repo_rules": {
    "public": ["claude-sonnet-4-6", "claude-haiku-4-5"],
    "internal": ["claude-sonnet-4-6"],
    "restricted": []
  }
}

華やかなものではありませんが、こうした制御によってセキュリティレビューを具体的に進められます。

データ保持は印象ではなく契約の問題

よくある間違いは、AIツールのセキュリティを純粋に技術的な問題であるかのように議論することです。データ保持は、契約やアカウント設定の問題でもあります。

Claude Codeや関連するClaudeのワークフローについては、エンジニアリングチームが、実際のアカウント種別と導入経路に適用される条件を確認する必要があります。異なる製品プランの回答を流用したり、個人向けの設定がエンタープライズの連携にも適用されると思い込んだりしてはいけません。

レビュー会議では、私はデータ保持に関する質問を四つの区分に分けるようにしています。

データの種類例レビュー時の質問
プロンプトの内容ユーザーの指示と選択されたソースファイル保存されますか? 保存期間と目的は何ですか?
生成結果の内容生成されたコード、分析、パッチの提案出力はプロンプトとともに保持されますか?
メタデータモデル、タイムスタンプ、トークン数、エラーユーザーの識別情報やリポジトリに紐付けられますか?
ローカルの成果物ログ、対話記録、キャッシュされたコンテキスト開発者のマシンのどこに保存されますか?

ローカルの成果物という区分は見落とされがちです。プロバイダー側のポリシーが許容できるものであっても、専有コードを含むローカルの対話記録が同期フォルダー、暗号化されていないバックアップ、サポート用の収集データに入ると、問題になる可能性があります。

実務上、私はチームに、単純な取り扱いルールを文書化することを勧めています。AIコーディングの対話記録は開発成果物であり、そのセッションに含まれる最も機密性の高いファイルと同じ機密性を持つものとして扱います。

実際に機能する社内ポリシーによる制御

優れたAIツールのポリシーは、開発者が覚えられるほど短く、セキュリティ担当者が適用できるほど具体的です。

中規模のエンジニアリング組織で運用できるClaude Codeのポリシーには、次のような項目が考えられます。

  • 承認済みのアカウント種別のみを使用する
  • 例外承認なしに制限対象のリポジトリで使用しない
  • プロンプトにシークレット、認証情報、本番データ、顧客データを含めない
  • 対象リポジトリのルートからのみ起動する
  • ファイルの変更、パッケージのインストール、ネットワークへのアクセス、デプロイシステムの操作を行うシェルコマンドには承認を必須とする
  • 承認済みモデル一覧にあるモデルのみを使用する
  • リポジトリの分類に従って対話記録を保存する
  • ツールの予期しない動作は、セキュリティ窓口に報告する

このポリシーには、技術的な制御を組み合わせる必要があります。例として、次のようなものがあります。

# Block accidental secret exposure before commits
git secrets --scan
gitleaks detect --source .

また、ツールチェーンが対応している場合は、AIコンテキスト用にプロジェクト単位の除外ファイルを用意します。

.env
.env.*
*.pem
*.key
secrets/
credentials/
customer_exports/
prod_dumps/
incident_notes/

除外ファイルだけでは十分ではありません。これはガードレールであり、データガバナンスの仕組みではありません。しかし、日常的なミスがセキュリティインシデントにつながる件数を減らせます。

Claude Codeを標準化するチームには、バージョン管理に登録した次のファイルも AI_USAGE.md リポジトリのルート付近に置いて管理することを勧めます。

# AI Tool Policy

Classification: internal

Allowed:
- Use Claude Code for tests, refactors, local debugging, and documentation.
- Include source files from this repository.

Not allowed:
- Do not paste customer data.
- Do not include `.env` files, credentials, or production logs.
- Do not ask the agent to run deployment commands.

Approved models:
- claude-sonnet-4-6
- claude-haiku-4-5

開発者には、コンプライアンス用のWikiだけでなく、作業の場で参照できるポリシーが必要です。

バックドアの主張は別に扱うべき

報道されたバックドアへの懸念は、Alibabaの件で最も注目を集める部分ですが、扱いを誤りやすい部分でもあります。

バックドアとは、具体的な技術上の主張です。意図的に隠されたアクセス、無許可の動作、秘密の制御経路があることを意味します。それには証拠が必要です。再現可能な動作、ネットワークトレース、バイナリ解析、ログ、ソースコードのレビュー、あるいは評価に十分な詳細を含む信頼できるインシデント報告などです。そうした証拠がなければ、確認された事実ではなく、疑惑または報道にとどまります。

それでも、セキュリティチームは合理的に対応する必要があります。企業は疑惑を調査する間、ツールの使用を一時停止することがあります。特に、そのツールがソースコードに広くアクセスできる場合はそうです。これは過剰反応ではなく、通常のリスク管理です。

適切な姿勢は、次のとおりです。

  • 証拠によって裏付けられない限り、Claude Codeに確認済みのバックドアがあると断言しない。
  • 未確認という理由だけで懸念を退けない。
  • 検証可能な制御に基づいてツールをレビューする。
  • 自社の環境で一時的な制限が必要かどうかを判断する。
  • 事実の解明、ベンダーの回答、社内テストが進むにつれて、判断を見直す。

これが、成熟したバランスの取れた対応です。

チームがレビューを省略すると実際に何が起こるか

問題は、最初から劇的な形で現れることはめったにありません。便利さという形で現れます。

あるチームは公開向けフロントエンドのリポジトリでエージェントを使用します。別のチームは内部APIの仕様を持つサービスで使用します。誰かが本番環境のスタックトレースを貼り付けます。別の誰かはローカルにあるインシデント文書の要約を依頼します。シニアエンジニアはサービスを横断するコンテキストが欲しいため、モノレポのルートから実行します。誰もデータを漏えいさせようとしているわけではありません。ただ、ワークフローに境界がないのです。

その後、調達担当者が、どのリポジトリでどのツールを使用したのかを尋ねても、誰も答えられません。

これこそが、報道されたAlibabaの禁止措置の背後にある本当のリスクです。すべてのAIコーディングエージェントが密かに悪意を持っているということではなく、組織がエージェント型開発ツールを導入する速度に、利用状況の把握と統制が追いつかないということです。

Claude Codeに価値があるのは、まさにエンジニアが作業する場所で動くからです。テストの作成、コードベースの探索、移行計画、手間のかかるリファクタリングを高速化できます。しかし、その有用性を生む作業環境との近さゆえに、エンジニアリング上の制御対象の一部として扱う必要があります。

実践上のポイント

報道されたAlibabaの禁止措置は、自社のレビュープロセスを強化するきっかけとして捉えてください。Claude Codeのバックドアが確認された証拠として扱ってはいけません。

Claude Codeや同等のエージェント型コーディングツールを承認する前に、次の点を評価してください。

  • コードへのアクセス:ツールが閲覧できるリポジトリ、ファイル、ローカルの成果物
  • エージェントの権限:コマンドの実行、ファイルの編集、パッケージのインストール、ネットワークへのアクセスが可能かどうか
  • テレメトリ:収集されるプロンプト、生成結果、メタデータ、診断情報
  • モデルルーティング:許可されているClaudeモデルと、フォールバックルーティングの有無
  • データ保持:プロンプトの内容、出力、メタデータ、ローカルログの保存方法
  • ポリシーによる制御:リポジトリの分類や開発者向け指針をどのように徹底するか

ほとんどのチームにとって、目標は一律の許可や禁止であるべきではありません。より適切なのは、統制された導入です。承認済みのアカウントとモデル、明確なリポジトリ分類、必要に応じたローカル環境の隔離、そして開発者が作業を止めずに従える文書化されたルールを整えることです。

バックドアがあるという疑惑は「調査と検証」の区分に入ります。その周辺のセキュリティ対策は「今すぐ実施」の区分に入ります。

A

このブログはAI Prime Techが公開しています。記事の草稿はAIの支援を受けて作成されています。モデルID、料金、制限など、バージョンによって異なる詳細については、利用の判断に用いる前に公式ドキュメントで確認してください。

Claude APIをより低価格で利用

Claude Opus 5.5、Sonnet 5、Haiku 4.5、Fable 5.1に加え、GPT-6のモデルを、単一のAPIキーで利用できます。従量課金制で、サブスクリプションは不要です。

APIキーを取得 →
AI Prime Techは独立したサードパーティのAPIゲートウェイです。Claude™およびAnthropic®はAnthropic, PBCの商標です。提携や推奨を示唆するものではありません。