コードを1行も読ませずに AI で脆弱性を100%特定する — AST Deep Structure Map アプローチ(理論編)

本記事では、Python の AST を活用して AI による脆弱性検出を効率化する手法を紹介します。Qiita の @PythonHaru 氏が公開した記事「コードを1行も読ませずに、AIに脆弱性を100%特定させる方法(理論編)」は 530 いいね・471 ブックマークを獲得し、X(旧 Twitter)でも急速に拡散しました。 この記事のポイント AI(LLM)に生のソースコードを読ませるのは、効率の悪い「情報の暴力」(情報量が多すぎて AI が処理しきれない状態) Python の ast モジュールで生成した Deep Structure Map(コードの骨格図)こそ、AI の推論能力を最大化する データの流入から危険地帯への到達をグラフ理論で定義すれば、理論上 脆弱性は100%特定可能 AIコードレビューの限界 GitHub Copilot や ChatGPT にコードをそのまま貼り付けて「脆弱性ある?」と質問する手法は今や一般的ですが、大規模プロジェクトでは2つの致命的な欠陥が生じます。 コンテキストの霧(AI が変数の出自を追跡できなくなる状態)— 数千行のコードを前にした AI は「どの変数がどこから来たか」を見失い、ハルシネーションを起こしやすくなる トークンの浪費 — コードの「書き方」というノイズに注目してしまい、肝心の「ロジックの破綻」に辿り着く前にリソースを使い果たす そこで著者は、AI にコードを1行も読ませるのをやめました。代わりに渡したのが、自作の解析コードが抽出した「コードの設計図(Deep Structure Map)」です。 Deep Structure Map:AI に「骨格」だけを渡す ソースコードは人間が読むための「肉体」ですが、AI が論理推論に必要なのは純粋な「神経系(ロジック)」です。Python の ast モジュールを使い、コードを以下の構造データへ変換します。 DeepAnalyzer クラス(ast.NodeVisitor を継承) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 import ast class DeepAnalyzer(ast.NodeVisitor): def __init__(self): self.classes = [] self.functions = [] self.variables = [] self.scope_stack = [] self.call_graph = {} def visit_ClassDef(self, node): self.classes.append(node.name) self.generic_visit(node) def visit_Call(self, node): # 関数呼び出しをコールグラフとして記録 self.generic_visit(node) ast.NodeVisitor を継承した DeepAnalyzer がコード全体を走査し、クラス・関数・変数のスコープ情報とコールグラフを収集します。AI にはこの「関係性の結晶」だけをインプットします。 ...

2026年4月27日 · 1 分

CAMPFIRE 個人情報漏洩から学ぶ — GitHub アカウント侵害が招く CI/CD セキュリティリスク

クラウドファンディングプラットフォーム CAMPFIRE が、GitHub アカウントへの不正アクセスを起点に最大 22 万 5,846 件の個人情報が漏洩した可能性があると発表しました(2026 年 4 月 24 日)。単なる「パスワード流出」ではなく、CD パイプラインを悪用してインフラを乗っ取るという、現代の DevOps が抱えるリスクを象徴するインシデントです。本記事ではエンジニア視点で攻撃経路を分析し、再発防止策を考えます。 インシデントの経緯 日時 出来事 2026-04-02 22:50 GitHub アカウントへの不正アクセスを検知。一部ソースコードが閲覧された可能性(初報) 2026-04-14 第二報:社員・取引先情報の閲覧可能状態を確認 2026-04-22 第三報:顧客情報管理システムへの不正アクセス痕跡を確認 2026-04-24 個人情報漏洩の可能性を正式発表(最大 22 万 5,846 件) 漏洩した可能性がある情報は以下のとおりです: プロジェクト実行者 12 万 929 件:氏名・住所・電話番号・口座情報など(2021 年 2 月以降) 支援者 13 万 155 件:氏名・住所・口座情報など(PayPal 決済、後払い、口座送金返金ユーザー) うち 8 万 2,465 件が口座情報を含む クレジットカード情報は対象外(CAMPFIRE 公式発表) 推定される攻撃経路 エンジニア向け技術解説として、@poly_soft(勝又健太)氏が X(旧 Twitter)で以下の攻撃チェーンを推察しています。この分析は公式発表を補完する形で、攻撃者が具体的にどう動いたかを示しています(以下はあくまで推定です)。 Step 1: CD 権限を持つ GitHub アカウントの侵害(推定) 攻撃者が最初に侵害したのは、単独で CD(継続的デプロイ)をトリガーできる権限を持つ GitHub アカウントであったと推定されます。 問題の設定として考えられるのは: ...

2026年4月25日 · 3 分

Infisical

概要 Infisical はシークレット(API キー・パスワード・証明書)をランタイム時に取得する設計のオープンソースプラットフォーム。.env ファイルのようにディスクに保存しないため、ファイルベースの漏洩リスクを根本から排除する。GitHub 26,000 スター超(2026年4月時点)で HashiCorp Vault の OSS 代替として注目されている。 主な機能 シークレット管理: プロジェクト・環境ごとの管理、バージョン履歴、自動ローテーション、監査ログ 証明書管理(PKI): プライベート CA 構築、ACME 対応、証明書自動更新 Machine Identity: AI エージェント・CI/CD・サービスアカウント向けの非人間アクター認証 統合: CLI・SDK(Node.js/Python/Go/Java)・Kubernetes・GitHub Actions・AWS/GCP/Azure CLI の基本操作 1 2 3 4 5 6 7 8 9 10 # インストール (macOS) brew install infisical/get-cli/infisical # ログイン・プロジェクト紐付け infisical login infisical init # シークレットを注入してコマンド実行 infisical run -- node app.js infisical run --env=staging -- python manage.py runserver AI エージェント時代との関連 Machine Identity により、AI エージェントや MCP サーバーが必要なシークレットだけをランタイムで動的取得できる。最小権限の原則を実装しやすく、シャドーAI・バイブコーディングで問題になる認証情報の平文保存リスクを排除する。 ...

2026年4月23日 · 1 分

シャドーAI

概要 シャドーAI(Shadow AI)は、IT・情報セキュリティ部門の審査・承認を受けずに従業員が業務で使用する AI ツールやサービスのこと。従業員の約 40% が業務で非承認の生成 AI ツールを使用しているとされ、多くの企業で組織的な管理の外に広がっている。 主なリスク 機密情報の漏洩: 社内コード・顧客情報・財務データが外部 AI サービスに送信されるリスク(Samsung 機密漏洩事件 2023年が典型例) コンプライアンス違反: GDPR・個人情報保護法・HIPAA などへの抵触 品質・ハルシネーション: 非承認ツールの出力が検証なしに本番環境へ ライセンス問題: AI 生成コードの著作権上の懸念 シャドーワークフロー蓄積: 業務フローが IT 管理外の AI に依存し始め、サービス終了時に業務停止リスク 対策アプローチ AI ゲートウェイ導入: Microsoft Purview、Cloudflare AI Gateway、CASB で利用を可視化・フィルタリング 承認済みツールカタログ整備: 安全に使える AI ツール一覧を公開し、自然な誘導を促す エンタープライズ契約: データ学習除外の環境を一括提供 従業員教育: リスクの理由を理解させる(禁止より理解が効果的) DLP 強化: AI サービスへのデータ送信を既存ポリシーでカバー 対策の基本姿勢 「使わせない」ではなく「安全に使わせる」。禁止は技術的に困難で競争力を損なうため、AI ガバナンスの枠組みで管理する。 関連ページ バイブコーディング Infisical ソース記事 シャドーAIがもたらす見えないリスク — 2026-04-15 バイブコーディングの怖い話 — 2026-04-15

2026年4月23日 · 1 分

シャドーAIがもたらす見えないリスク:IT承認外のAIツール利用が企業に生む新たな盲点

生成 AI ツールの急速な普及により、IT 部門の承認を経ずに従業員が独自に AI を活用する「シャドー AI」が企業セキュリティの新たな盲点として注目されている。本記事では、シャドー AI が引き起こすリスクと、その対策について整理する。 シャドー AI とは 「シャドー IT」は以前からある概念だが、生成 AI の登場でその問題は一段と深刻になった。**シャドー AI(Shadow AI)**とは、IT 部門や情報セキュリティ部門の審査・承認を受けずに、従業員が業務で使用する AI ツールやサービスのことを指す。 ChatGPT・Gemini・Claude・Copilot などの生成 AI サービスは、個人アカウントで無料または低コストで利用できる。利便性が高いため、IT 部門の手続きを待たずに「とりあえず使ってみる」ケースが後を絶たない。 調査によれば、従業員の約 40% が業務で非承認の生成 AI ツールを使用しているとされており、多くの企業でシャドー AI が組織的な管理の外に広がっている。 シャドー AI が生む具体的なリスク 1. 機密情報・個人情報の漏洩 最も深刻なリスクは、社内の機密情報が AI サービス側に送信されることによるデータ漏洩だ。 実例: Samsung の機密漏洩事件(2023年) Samsung の半導体部門の社員が、ChatGPT に機密のソースコードを貼り付けてデバッグを依頼したり、社内会議の音声を要約させたりした結果、社内機密が外部サーバーに送信されたインシデントが発生した。この件が発覚した後、Samsung は社内での ChatGPT 利用を一時禁止している。 社員が AI に入力する情報として問題になりやすいのは: ソースコード・設計仕様書 顧客情報・個人情報(氏名、メールアドレス、契約情報など) 財務データ・未公開の経営情報 社内メール・会議議事録 多くの商用 AI サービスは、無料プランやデフォルト設定では入力データをモデルの学習・改善に利用する場合がある。エンタープライズ契約や特定のオプト設定が必要だが、シャドー利用ではそのような設定は行われていない。 2. コンプライアンス・規制違反 個人情報保護法(GDPR、日本の個人情報保護法)や業界固有の規制(医療分野の HIPAA、金融分野の各種規制)では、個人情報の取り扱いに厳しい要件がある。IT 部門の審査を通じて利用規約・データ処理契約を確認せずに AI ツールを使用すると、意図せず法令違反を犯す可能性がある。 3. AI の出力に対する品質・責任管理の欠如 生成 AI はハルシネーション(事実と異なる情報の生成)を起こす。IT 部門・品質管理部門が把握していないツールを使って作成された成果物がそのままリリースや提案書に使われると、品質問題に発展しうる。 ...

2026年4月15日 · 1 分

バイブコーディングの怖い話:AI丸投げ開発が招いた医療データ流出事件

海外で発生した実際のインシデント「An AI Vibe Coding Horror Story」を元に、AI に開発を丸投げするリスクを解説します。技術的リテラシーのないまま本番環境を構築した結果、患者データが完全露出するという深刻な事態が起きました。 何が起きたのか 専門知識のない医療従事者が、AI を使って自分専用の患者管理システムをゼロから自作しました。業界で実績のある既存ソフトウェアを使わず、「自分のバイブ(感覚)」で開発を進めたのです。 元記事: An AI Vibe Coding Horror Story システムの問題点 AI が生成したこのアプリには、致命的なセキュリティ上の欠陥が多数ありました。 アーキテクチャの問題 単一 HTML ファイル構成: すべてのプログラムが 1 つの HTML ファイルに詰め込まれた簡素な構造 クライアントサイド認証: パスワードなどの認証機能がブラウザ側の処理だけで実装されていた アクセス制御なし: データベースへのアクセス制限が全くなく、誰でも中身を閲覧できる状態 データ管理の問題 蓄積されていた大量の患者データをそのまま自作アプリに移行 全データが暗号化されず、無防備な状態で公開サーバーに配置 適切なセキュリティ設定をしないままインターネット上に公開 プライバシーの問題 診察中の会話を録音し、外部の AI サービスに送信して要約させる機能を実装 患者の個人情報や音声データが、事前の同意なく海外のサーバーへ転送 被害の深刻さ わずか 30 分の調査 で、全ての患者データに対する読み書き権限が奪取されました。 患者の個人情報が完全に露出 音声データも含めた機密情報が外部に流出 現地の個人情報保護法や医療従事者の守秘義務に違反している可能性が極めて高い状況 問題の本質 不備を指摘された本人は、AI が生成した定型文で回答し、問題の深刻さを理解していませんでした。 これはバイブコーディングの本質的なリスクを示しています: AI はコードを生成できるが、セキュリティ要件の判断はできない 開発者が仕組みを理解していないと、問題が起きても原因を特定できない 「動いているように見える」と「安全に動いている」は全く別の話 開発の民主化とリテラシーのトレードオフ AI によって開発の民主化が進み、非エンジニアでもアプリケーションを作れる時代になりました。一方で、最低限の技術的リテラシーがないと重大な事故を招くリスクも同時に高まっています。 特に以下の領域では、専門知識なしの AI 開発は高リスクです: 領域 リスク 医療・健康データ 個人情報保護法・医療法違反 金融データ 金融規制・顧客情報保護 個人認証システム なりすまし・不正アクセス 本番環境のインフラ サービス停止・データ消失 まとめ バイブコーディングは強力なツールですが、「AI に生成させたコードを理解できる人間が監督する」 という原則なしには危険です。 ...

2026年4月15日 · 1 分

メルカリのClaude Code企業導入ガイド:セキュリティ設定と組織配布の実践戦略

メルカリが「Claude Code Meetup Japan #4」で公開した資料が注目を集めている。エンジニアだけでなく非エンジニアにもClaude Codeを全社展開するにあたって実施したセキュリティ設定と、MDMを活用した組織配布の実践的な戦略が体系的にまとめられている。 Claude Codeがもたらすリスク Claude Codeは非常に強力なツールだが、その強力さゆえにセキュリティリスクも伴う。具体的には以下の操作が可能なため、適切な制限なしに利用すると重大な問題につながりかねない。 ファイルの検索・読み書き・編集 Webページの取得・検索 任意のコマンドの実行(rm -rf や curl など) PCに保存されている認証情報(APIキー、AWSクレデンシャルなど)や重要なファイルに、LLMが直接アクセスできてしまう状態は大きなリスクとなる。 メルカリが実施した5つのセキュリティ対策 メルカリのAI Security Teamはこれらのリスクに対し、以下の5つの対策を実施した。 1. バイパスモードの禁止 --dangerously-skip-permissions などのバイパスオプションを利用禁止にし、ユーザーによる確認ステップを必ず経由させる。LLMが自律的に危険な操作を実行できないようにする基本的な設定だ。 2. 危険コマンドの確認必須化 bash の実行や curl による外部通信など、影響範囲の大きいコマンドは都度ユーザーの確認を求めるように設定する。自動承認させずに人間が内容を確認してから実行させる。 3. 危険な操作の禁止 環境変数の読み込み(APIキー等の漏洩を防ぐ) sudo によるシステム管理者権限での操作 これらを設定レベルで禁止することで、意図しない権限昇格やクレデンシャルの流出を防ぐ。 4. Sandboxによる操作範囲の制限 作業ディレクトリ外へのファイルアクセスを制限 不要なネットワークアクセスを制限 Sandboxを活用することで、Claude Codeの操作範囲を必要最小限に絞り込む。 5. セキュリティポリシーのシステムプロンプトへの組み込み 社内のセキュリティポリシーをClaude Codeのシステムプロンプト(CLAUDE.md など)に直接記述する。LLM自体にセキュリティ意識を持たせる「教育」的なアプローチだ。 組織配布の課題と解決策 全社員に安全な設定を届けるうえで、メルカリが直面した課題がある。エンジニアと非エンジニアで求める設定のニーズが相反するという点だ。 対象 ニーズ エンジニア 柔軟にカスタマイズできる設定 非エンジニア 何も考えなくても安全な初期設定 MDMを活用した属性別の設定配布 メルカリはMDM(Mobile Device Management:端末管理システム)と連携し、社員属性(エンジニア / 非エンジニア)に応じて配布する設定を分離した。 非エンジニア向け: 最も制限が強い安全な設定を自動適用。ユーザー側での変更を不要にする エンジニア向け: 基本的な安全性を担保しつつ、業務に応じたカスタマイズを許容する これにより、全社員が「最初から安全な環境でClaude Codeを使える」状態を実現している。 企業でClaude Codeを導入する際のポイント メルカリの事例から、企業導入に際して押さえておきたいポイントをまとめる。 ...

2026年4月11日 · 1 分

Claude Code にカオスエンジニアリングエージェントを導入してリポジトリの弱点を発見する

Claude Code のカスタムエージェント機能を使って「カオスエンジニア」を導入すると、リポジトリの潜在的な弱点を自動的に発見できる。.md ファイルを1つ置くだけで有効化でき、驚くほど多くの問題が見つかることで話題になっている。 カオスエンジニアリングとは カオスエンジニアリングは、本番システムに意図的に障害を注入してシステムの耐障害性を検証する手法だ。Netflix が提唱した概念で、Chaos Monkey のような自動障害注入ツールが知られている。 Claude Code にカオスエンジニアリングの思考を持ったエージェントを持ち込むと、コードベースに対して「もし〇〇が壊れたら?」という視点で弱点分析を行ってくれる。 導入方法 Claude Code のカスタムエージェントは .claude/agents/ ディレクトリに .md ファイルを置くだけで使える。 以下が chaos-engineer エージェントの定義例だ: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 # chaos-engineer あなたはカオスエンジニアリングの専門家です。 システムに意図的に障害を起こす視点でリポジトリを分析し、 潜在的な弱点・単一障害点・エラーハンドリングの欠如を特定してください。 ## 分析観点 - 単一障害点(SPOF)の特定 - エラーハンドリングの欠如箇所 - タイムアウト設定の不備 - リトライ処理の欠如 - 環境変数・設定値のハードコーディング - 依存サービスがダウンした場合の挙動 - データ整合性が保証されない処理 - テストカバレッジが低い重要処理 ## 出力形式 各問題について以下を明記する: - 問題箇所(ファイルパス・行番号) - 障害シナリオ - 影響範囲 - 推奨する対策 このファイルを .claude/agents/chaos-engineer.md として保存する。 ...

2026年4月7日 · 2 分

AI エージェント時代のシークレット管理

概要 AI エージェント(Claude Code、Cursor)はローカルの .env から平文で API キーを読み込む。1Password Unified Access は just-in-time シークレット供給でメモリ上でのみ提供。スコープ付きクレデンシャルと MCP 連携で実現。 関連ページ Claude Code — シークレット管理が必要な環境 プロンプトインジェクション — シークレット漏洩につながる攻撃 ソース記事 1Password Unified Access — 2026-03

2026年4月6日 · 1 分

Exposure Management

概要 従来は CVSS スコアで脆弱性の深刻度を数値化していたが、「実際に攻撃されるか」というビジネスリスクとは乖離。Exposure Management は脆弱性+資産重要度+攻撃可能性+脅威情報+攻撃経路を統合評価し、数万件から「今すぐ対処すべき数十件」を見極める。 ソース記事 Exposure Management — 2026-03

2026年4月6日 · 1 分