macOSのsandbox-execによる安全なアプリケーション実行の探求

sandbox-execは、macOSに組み込まれたコマンドラインユーティリティで、アプリケーションをサンドボックス環境内で実行するために設計されています。このツールは、システムリソースへのアクセスが制限された安全で制約のある空間を作成し、悪意のあるコードや意図しない動作からのリスクを最小限に抑えるのに役立ちます。
主要な詳細
sandbox-execを使用したアプリケーションサンドボックス化は、悪意のあるコードからの保護、侵害されたアプリケーションによる被害の制限、プライバシーとリソース制御の強化を目的としています。sandbox-execを使用するには、安全な環境のルールを定義する設定ファイルであるサンドボックスプロファイルが必要です。基本的なコマンド構文は次のとおりです:
sandbox-exec -f profile.sb command_to_runここで、profile.sbはルールを指定し、command_to_runはこれらの制約内で実行されるアプリケーションです。
サンドボックスプロファイルはSchemeに似た構文で記述され、バージョン宣言、デフォルトポリシー、および特定のルールが含まれます。これらのプロファイルを設定するには、基本的に2つのアプローチがあります:
- デフォルトで拒否:最初にすべての操作を制限し、必要なもののみを許可します。例:
(version 1) (deny default) (allow file-read-data (regex "^/usr/lib")) (allow process-exec (literal "/usr/bin/python3"))- デフォルトで許可:特定の操作を除いてすべてを許可します。例:
(version 1) (allow default) (deny network*) (deny file-write* (regex "^/Users"))実際の使用例として、ネットワークアクセスなしでサンドボックスターミナルセッションを設定できます:
# terminal-sandbox.sb (version 1) (allow default) (deny network*) (deny file-read-data (regex "/Users/[^/]+/(Documents|Pictures|Desktop)")次のコマンドで実行します:
sandbox-exec -f terminal-sandbox.sb zshさらに、macOSには一般的な制限シナリオ用の事前構築済みプロファイルが/System/Library/Sandbox/Profilesに用意されており、no-networkプロファイルなどがあります。
対象者
このツールは、制御された環境でアプリケーションをテストしたり、厳格なセキュリティポリシーを適用したりする必要がある開発者やセキュリティ専門家に最適です。
📖 完全なソースを読む: HN LLM Tools
👀 See Also

タイトル:MCPサーバーがAIエージェントのセッション履歴をツール間で共有する方法
Loreは、AIエージェントセッションをローカルのSQLiteにインデックス化し、MCPで提供するサーバーです。どのエージェントでも、別のエージェントの最後のセッションを呼び出すことができます。外部へのデータ送信はなく、MITライセンス。

クラウドリティクス:Claudeコードのトークン使用量とコストを追跡するセルフホスト型ダッシュボード
Claudlyticsは、Claude Codeのローカル.jsonlセッションファイルを読み取り、トークン使用量とコストのリアルタイム追跡を提供するNode.jsウェブサーバーです。127.0.0.1でローカルに実行され、リモートサーバーにはSSHトンネル経由でアクセスできます。

SynapsCAD: OpenSCAD用オープンソースデスクトップアプリ、Claude AI統合版
SynapsCADは、OpenSCADコードエディター、リアルタイム3Dビューポート、AIアシスタントを統合したオープンソースのデスクトップアプリケーションです。Rustで完全に構築され、Bevy 0.15とeguiを使用しており、自然言語による3D CADコーディングのためのClaude API統合をサポートしています。

Claudeで本番アプリケーションを構築する:実際に機能したことと機能しなかったこと
Flutter未経験のシニアバックエンド開発者が、Claudeを主な開発ツールとして2.5ヶ月で本番モバイルアプリ(iOS+Android)をリリース。ワークフロー、失敗、そしてテストが品質ゲートとなった理由を詳述。