AI News HubLIVE
站内改写

Safescript – AI時代のプログラミング言語

Safescript は、実行前に静的解析によってすべてのセキュリティ特性を証明し、サンドボックスやVMを不要にするAIエージェント向けプログラミング言語です。静的な有向非巡回グラフ(DAG)にコンパイルされ、データフローとホスト呼び出しを完全に可視化し、オーバーヘッドとコールドスタートをゼロにします。

記事インテリジェンス

エンジニア中級

要点

  • 実行時サンドボックスなしで静的セキュリティを強制。
  • プログラムは静的DAGにコンパイルされ、すべてのデータフローとホストを追跡可能。
  • 依存関係のインポート時に署名とハッシュでロックし、サプライチェーン攻撃をビルドエラーに変換。
  • コンテナ、マイクロVM、V8アイソレートよりも起動時間とメモリで優れる。

重要な理由

このニュースが重要なのは、実行時サンドボックスなしで静的セキュリティを強制ためです。

技術的影響

モデル選定、推論コスト、プロダクト能力、評価基準に影響する可能性があります。

Safescript は、AIエージェント向けに設計されたプログラミング言語で、コードを実行する前に静的にすべてのセキュリティ特性を証明することで、サンドボックスや仮想マシンを不要にします。現在 v0.1.0 の段階で、Deno と npm でインストールでき、ドキュメントと GitHub リポジトリが提供されています。

Safescript の構文は JavaScript に似ていますが、実際には DAG(有向非巡回グラフ)記述言語です。各プログラムは静的な DAG にコンパイルされ、動的ディスパッチや実行時の驚きはありません。これにより、コードを実行せずにデータのソースからシンクまでの経路をすべて追跡できます。例えば、HTTP リクエスト関数では、呼び出すホストは文字列リテラルでなければならず、変数は使用できません。これにより静的解析が可能になります。

外部コードをインポートする際、Safescript は依存関係の許可を宣言する必要があります。具体的には、許可されたホストとデータフローパスを指定し、オプションでソースコードのハッシュ値をロックします。これにより、宣言されていないホストやデータフローの変更はビルドエラーとなり、サプライチェーン攻撃をビルド時に検出します。

他のサンドボックス手法と比較して、Safescript は異なるアプローチを取ります。コンテナ(Dockerなど)は 500ms から 10秒のコールドスタートと約 35MB のメモリを必要とし、マイクロVM(Firecrackerなど)は約 125ms のコールドスタートと約 5MB のメモリ、V8 アイソレート(Cloudflare Workersなど)は約 5ms の起動時間と約 3MB のメモリですが、特定のプラットフォームが必要です。Deno の権限システムはプロセスレベルで、コードの動作を事前に知ることはできません。JavaScript サンドボックスライブラリは軽量か堅牢かのトレードオフがあります。WebAssembly はメモリ安全ですが、ツールチェーンとバインディングが必要です。

Safescript の解決策は、コードが表現できる内容を制限することです。コンパイラはすべてのセキュリティ特性を静的に証明するため、サンドボックスは不要で、オーバーヘッドゼロ、コールドスタートゼロ、エスケープ面ゼロを実現します。単に自分のプロセス内で関数を呼び出すだけです。

言語機能には、関数定義、型システム(文字列、数値、ブール、オブジェクト、配列)、演算呼び出し(httpRequest はホストがリテラルであることを要求)、制御フロー(if/else、実行時は選択されたブランチのみ実行、静的解析では保守的に和集合を取る)、組み込みの map/filter/reduce(関数参照、ラムダではなく、map と filter は並列実行、reduce は逐次実行)などがあります。また、override 機能により、呼び出される関数を置き換えることができ、置き換えは呼び出しグラフ全体に伝播します。

Safescript は、AI エージェントが小さなコードスニペットを実行するシナリオに最適で、セキュリティとパフォーマンスのオーバーヘッドを心配する必要がありません。