危険を冒しつつClaudeコードを安全に実行する

2026/01/20 20:58

危険を冒しつつClaudeコードを安全に実行する

RSS: https://news.ycombinator.com/rss

要約

日本語訳:

作者は、リスクのある

--dangerously-skip-permissions
フラグを使用してClaude Codeを実行する場合、Vagrantベースの仮想マシン(VM)内で実行することが最も安全だと主張しています。この設定により、ホストシステムは保護されつつ、フラグが可能にする高速かつ自動化されたワークフローを維持できます。従来のアプローチ――ホスト上で実行したり、特権モードのDockerを使用したり、完全なクラウドVMをデプロイしたり――はいずれも隔離性を損ないかつ不要な複雑さとコストを増大させます。Vagrantは単一の設定ファイル、簡易的な共有フォルダー、即時破棄という利点により、セキュリティと便利さのバランスを取り、許容できるパフォーマンスを提供します。このVMを採用するユーザーはClaude Codeタスクを安全に自動化できます。もしより厳格な隔離が必要になれば、一方向のrsync同期や他の設定に切り替えることも可能です。ホストシステムを意図しないファイルシステム変更やパッケージインストールから保護することで、この手法は自動化されたAIコード生成に依存するチームを支援し、セキュアなAI開発環境のベストプラクティスガイドラインの形成にも寄与します。

(もしすべての重要ポイントを明示的に列挙した簡潔版が必要であれば、以下をご覧ください。)

簡潔・完全な要約(任意):

--dangerously-skip-permissions
フラグはClaude Codeに対しプロンプトなしでアクションを実行させるため、自動化を可能にしますが安全リスクも伴います。ホスト上で実行すると危険です。Dockerの隔離は特権モードまたは Docker‑in‑Docker を必要とし、サンドボックス機能を破棄します。他の隔離方法も検討しましたが、単純さやコスト面で劣っていました。Vagrantは単一設定ファイルとローカル共有フォルダーにより再現可能なVM隔離を提供し、Docker‑in‑Docker の複雑性を回避します。最小限の Vagrantfile は
bento/ubuntu‑24.04
ボックスを使用し、4 GB RAM、2 CPU を割り当て、オーディオとUSBを無効化し、Docker、Node.js、npm、Git、および Claude Code をプロビジョニングします。プロビジョンスクリプトは
@anthropic-ai/claude-code
をインストールし、Vagrantユーザーを Docker グループに追加し、
/agent-workspace
のフォルダー所有権を設定します。ワークフローは次の通りです:
vagrant up
vagrant ssh
claude --dangerously-skip-permissions
; その後Claudeはパッケージをインストールし、設定を変更し、Docker コンテナを起動し、VM 内でその他のシステムタスクを実行できます。パフォーマンスは許容範囲内です。VirtualBox の共有フォルダー同期に遅延はなく、Linux ホスト上でもリソース使用率は低く抑えられます。安全性メリットとしては、ホストのファイルシステム破壊、不要なパッケージインストール、および設定変更を防ぎ、必要に応じてVMを即座に破棄・再構築できます。保護の制限点としては、プロジェクトファイルが双方向で同期されるためまだ変更可能、稀に VM から逃げる脆弱性、VM からのネットワークレベル攻撃、およびインターネットアクセスによるデータ漏洩の可能性があります。より厳格な隔離を求める場合は
config.vm.synced_folder
type: "rsync"
を設定して一方向同期に切り替えることができますが、その場合手動で再同期する必要があります。作者は、危険フラグ付きClaude Codeを使用するユーザーに対し、ホストへの偶発的な損傷を防ぎつつワークフロー効率を維持するためにこの Vagrant セットアップを推奨しています。

本文

背景

最近、Claude Code をますます利用しています。
ある時点で、処理が完了するまで別の作業を行うよりも、
「もう一度許可が必要か」などと頻繁に確認している自分に気付きました。
それは、エージェントが何かをやる本来の目的から外れてしまっていたようです。
そこで

--dangerously-skip-permissions
フラグを付けて Claude Code を使おうと考えました。

まだ試したことがない方へ――このフラグは名前の通りで、
「許可を求める前に何でも実行する」ことができます。
「このパッケージをインストールしてもいいですか?」「設定を変更しても良いですか?」と 聞くことなく、単に処理を進めます。
処理の流れはスムーズですが、その分危険性も増します。

ファイルシステムを安全に保ちたいので、OS アカウント上で直接実行しない方針です。


考えたオプション

Docker

一番自然なイメージは Docker コンテナ。
コンテナは隔離のためにあるはずですが、Claude が Docker イメージをビルドしたり、コンテナを走らせたり、 さらにはオーケストレーションまで行う必要があるので
「Docker‑in‑Docker」状態になります。
その場合

--privileged
モードが必須で、結果として

  • Claude がファイルシステムを壊す可能性 → 「ファイルシステムは安全」
  • 逆にコンテナランタイムへのルート権限 → 「隔離は失敗」

というジレンマに。
さらに、ネットワークのネストやボリュームマウント時の権限問題、 ツールを使うよりも逆に対処する感覚が強くなります。

他にも考えたもの:

  • yolo – そのまま裸で実行:いいえ、いや、絶対にやりません
  • sandbox‑runtime – ACL ベース。Claude が何でもできるようにしたいので不要
  • firejail 等 – Docker‑in‑Docker と同じ問題
  • 手動 VM 設定 – 動くが面倒で再現性なし
  • クラウド VM – コスト・レイテンシーが発生し、コードをアップロードする必要あり

Vagrant

ここで思い出したのは、Docker が流行る前に使っていた Vagrant です。
Vagrant はローカル開発環境をインフラコード化してくれるツールで、 次のようなメリットがあります。

  • 完全な VM 隔離(共有カーネルなし)
  • 簡単に破棄・再構築
  • ローカル感覚で使えるシェアフォルダ
  • Docker‑in‑Docker という無駄がない

私は長らく VirtualBox を使っていませんでしたが、
最新バージョン(7.2.4)を入れて試してみました。

最初に

vagrant up
を実行すると、VM が CPU を 100%+ 消費しながら 何もせずにアイドル状態になることに気付きました。
数時間にわたり VM の設定変更・検索・LLM に質問を投げた結果、

VirtualBox 7.2.4 はアイドル時に高 CPU を消費する回帰がある

という GitHub issue を発見しました。


Vagrantfile

以下は私のシンプルな

Vagrantfile
です。

vm_name = File.basename(Dir.getwd)

Vagrant.configure("2") do |config|
  config.vm.box = "bento/ubuntu-24.04"

  # config.vm.network "forwarded_port", guest: 3000, host: 3000, auto_correct: true
  config.vm.synced_folder ".", "/agent-workspace", type: "virtualbox"

  config.vm.provider "virtualbox" do |vb|
    vb.memory = "4096"
    vb.cpus   = 2
    vb.gui    = false
    vb.name   = vm_name
    vb.customize ["modifyvm", :id, "--audio", "none"]
    vb.customize ["modifyvm", :id, "--usb", "off"]
  end

  config.vm.provision "shell", inline: <<-SHELL
    export DEBIAN_FRONTEND=noninteractive

    apt-get update
    apt-get install -y docker.io nodejs npm git unzip
    npm install -g @anthropic-ai/claude-code --no-audit

    usermod -aG docker vagrant
    chown -R vagrant:vagrant /agent-workspace
  SHELL
end

実際に使う手順

  1. cd ~/my-project
  2. vagrant up
  3. vagrant ssh
  4. claude --dangerously-skip-permissions

これで Claude に任せるだけ。
最初の起動は数分かかりますが、以降は高速です。
作業終了時は

vagrant destroy
で VM を破棄し、次回からは新規構築。


強化された Claude

VM 内で実行しているため、sudo 権限を与え、
「何でもできる」と認識させました。具体的には:

  • 手動で Web アプリ API を起動し、curl で検証
  • ブラウザをインストール・手動確認後にエンドツーエンドテスト作成
  • Postgres データベース構築 → SQL テスト実行、マイグレーション確認
  • Docker イメージのビルド・起動

ホスト上でやりたくない操作を、フラグが有効な状態でも安全に実行できます。
Claude が自律的に作業するため、コマンド入力・結果確認・反復処理を 私自身が手間取る必要はありません。


パフォーマンス

Claude Code はリソース消費がそれほど高くないので、 VM には十分余裕があります。
シェアフォルダの同期もスムーズで、ファイル変更時に遅延や不具合は発生しません。
これは Linux + VirtualBox 環境で確認済みです。他プラットフォームでは結果が異なる可能性があります。


安全対策

防ぎたいもの

  • ファイルシステムへの偶発的損傷
  • 過剰なパッケージインストール
  • 変更を見逃す設定変更
  • 「Claude がやってほしくないこと」を誤実行

守れないもの

  • プロジェクトファイル自体の削除(同期は双方向)
  • VM エスケープ脆弱性(稀で、意図的な攻撃が必要)
  • ネットワークレベルの攻撃
  • データ漏洩:VM はインターネットに接続していますが、コード以外にはほぼデータはありません

脅威モデル

自分自身がエージェントの動作を常に監視できるわけではないので、 偶発的な事故を防ぐ設定です。
プロジェクトはすべて Git で管理しているため、 破損してもローカルコピーから復旧可能です。
さらに Vagrant の

config.vm.synced_folder
type: "rsync"
を指定でき、 一方向の同期(ホスト → VM)に制限することも可能です。


結論

VirtualBox の CPU バグを解消し、設定を整えるまでに少々時間がかかりましたが、 現在はスムーズに動作しています。
Claude Code を危険フラグ付きで使う際には、この構成をおすすめします。
VM を破棄して再起動するだけで、いつでも安全なサンドボックス環境を手に入れられます。

Vagrantfile
は短く、どのプロジェクトディレクトリにもコピーして
vagrant up
すれば、隔離された環境が整います。

同じ日のほかのニュース

一覧に戻る →

2026/01/21 3:16

**2019年 「見えないままに隠された26000年前の天文モニュメント」**

## Japanese Translation: **概要:** フーバーダムの西側にあるモニュメント・プラザは、地球の25,772年周期の軸進動をタレーズ床にマッピングした芸術的な敬意表現です。設計の中心には旗竿があり、これは進動円の中心として機能します。その周囲には巨大な翼付きブロンズ像が配置されています。床はダム開業時(1936年)のポラリス、ピラミッド建設中のトゥバン、そして将来の北極星としてプロジェクトされたベガを示しており、技術図面には惑星位置が正確に配置されているため、1日単位での日付計算が可能です。1931年に米国再利用局(U.S. Bureau of Reclamation)から委託され、1936年に完成したモニュメントは後にモニュメント・プラザと名付けられました。アーティストのオスカー J. W. ハンセン氏の意図表明は抽象的であり、歴史家エメー・ウッドワードが提供したアーカイブ写真には「セーフティアイランド」という早期建設名が示されています。デザインはロング・ナウ(Long Now)の10,000年時計コンセプトを反映しており、天体周期の公衆展示に類似するものとしてインスピレーションを与える可能性があります。米国再利用局が計画図をInternet Archiveへ公開したことは、ダム文書へのオープンアクセス化の動向を示しています。訪問者には短い音声解説のみが提供されるため、詳細な科学内容はほぼ隠蔽されており、教育的広報は限定的です。それでもプラザは20世紀初頭の大規模インフラプロジェクトにおける芸術と科学の統合を示す具体例として、歴史家・天文学者・エンジニアに貴重な実証を提供します。

2026/01/21 6:34

**日本のスナックバーの秘密世界へようこそ** 「おかかん」と呼ばれることもある日本のスナックバーは、地元ならではの味と創造性を堪能できる隠れた宝石です。小さな飲食店が揃うこれらのお店では、フライドライスボール(おにぎり)や塩気のあるペストリー、甘いスイーツなど、手軽で美味しい一口料理を提供しつつ、親切なサービスも楽しめます。 - **雰囲気**:街角の居心地の良い隅っこや静かな路地裏が主流です。 - **メニューの見どころ**: - 海苔と醤油をトッピングしたフライドライスボール - 蜂蜜でコーティングされた甘いかぼちゃロール - 豚肉と竹笹の餡が入った塩味の餃子 - **特徴**: - 多くのお店では、新鮮な地元産食材を使用しています。 - 季節ごとにメニューが変わるローテーションもあります。 おかかんへ足を踏み入れることは、単なるスナックの取得以上の体験です。便利さと伝統が交差する日本の食文化を垣間見る瞬間なのです。

## Japanese Translation: スナックバー―第二次世界大戦後に厳しい酒類法を回避するために登場した、女性が経営する小規模カフェ―は、日本独自の社会的ハブとして確立しました。全国には約10万店舗が存在し、コンビニエンスストアの数を2倍以上上回ります。これらは「ママさん」と呼ばれる年配女性によって運営され、家庭的な雰囲気でシンプルなお菓子や飲み物を提供します。主目的は食べ物や飲み物だけでなく、会話と個人的つながりを得られる居心地の良い空間を提供することです。 このコンセプトは日本の戦後経済成長期に急速に広がりました。1960年代後半には全国的にスナックバーが普及し、コミュニティのハブとなり、その後1980年代中頃から1990年代初頭まで存続しました。特徴として「ボトルキープ」システムがあります:常連客は自分のウイスキーや焼酎をラベル付けして保管し、次回訪問時に利用できます。伊良谷真由子(Mayuko Igarashi)氏などの研究者は2021年以降、1200件以上の店舗を巡り、旅行者とこれまで地元住民限定だった場所を結びつけています。 スナックバーはCOVID-19以前から人気低下やホスト人口の高齢化、カラオケバーやチェーン居酒屋との競争など課題に直面していますが、新しいトレンドが存続を支えています。アニメテーマのスナック、SNSプロモーション、LGBTQ+来客へのより包括的な対応などです。著名例として新橋の「Aeru」のウララ氏は14年間でタロットリーディングと現代のマッチメイキング手法を用いて90組以上のカップルを紹介しています。 デジタルライフの圧力にもかかわらず、スナックバーはママさんとの真の人間関係や親密な会話が評価され続けています。旅行者は、豪華ホテルや寿司教室など高価な観光活動よりも、これらの場所での思い出深い体験を重視しており、地元経済と伝統的ホスピタリティ慣行の保存に対する継続的な関連性を示しています。

2026/01/21 1:48

**UNIXパイプ・カードゲーム**

## Japanese Translation: 記事は、子どもに Unix パイプコマンドチェーンの構築方法を教えるカードベースのボードゲームについて説明しています。デッキには、`cat`、`grep`、`tail`、**`head`、`wc`、`sort`、`uniq`** などの主要な Unix コマンドを表すカードと、特定行の表示、出現回数のカウント、非表示コマンドチェーンの作成といったタスクが含まれています。ローカルの Unix システムが利用できない場合は、ブラウザベースの jslinux を使用できます。 ゲームプレイは時計回りに進行します:プレイヤーはカードを引き、最短または最長の有効パイプラインを目指すかどうかを選択し、タスクを完了した最初のプレイヤーがポイントを獲得します。例として、最も頻出する行を見つけるチェーンを示すラウンドがあります: ``` cat 03.txt | sort | uniq -c | sort -n | tail -1 ``` ゲームは €5,00 EUR(現在完売)で販売されており、印刷可能な PDF(`unix-pipe-cards.pdf`、`unix-pipe-box.pdf`)も入手できます。 GitHub 上のソースコードリポジトリ(`github.com/jackdoe`)、共著者 Jackie、連絡メールアドレス (`b0000@fastmail.com`) と CC BY 4.0 ライセンスが製品に付属しています。 「UNIX Pipe Game – Process Substitution」という拡張パックでは、プロセス置換用のコマンド(`paste`、`tr`、`cut`、`bc`)を追加します。 著者は Python の基礎、C ポインタ、機械語、ランレングス符号化、関数合成、RISCV アセンブラなどをカバーする追加のカードゲームも公開しており、子ども向けにプログラミング概念をゲーミフィケーションする広範な取り組みを示しています。

危険を冒しつつClaudeコードを安全に実行する | そっか~ニュース