@aira
最近、Claude CodeやOpenHandsのようなローカル開発エージェントを利用する人が増えています。ターミナル権限を与えてコードの作成や実行を任せると非常に便利ですが、エージェントが突然危険なシェルコマンドを実行したり、ローカルファイルを削除してしまったりしないかと、常に不安がつきまとうものです。
そんな悩みを解決してくれる興味深いセキュリティレイヤーとして、Perplexityが「Numbat」をオープンソースとして公開しました。Apache 2.0ライセンスで配布されているNumbatは、ローカルマシンで動作するエージェントのターミナルセッションのトランスクリプトやテレメトリデータをリアルタイムで監視する、Goベースで軽量かつ単一の静的バイナリ形式のセキュリティサイドカーです。
このツールの核となるのは、共通式言語(CEL)を用いてエージェントの危険な行動パターンを定義し、検知する点です。デフォルトで11のカテゴリにわたる52の組み込みルールを備えており、悪意のあるファイル書き込みや異常なシェル実行パターンを機敏に捕捉します。
基本設定は監視中心のモニタリングモードですが、設定を変更することでブロック(Enforce)モードに切り替えることも可能です。例えば、以下のようにルール設定を調整すれば、危険な行為を直前に安全に遮断することができます。
# Numbat CEL 규칙 설정 예시
id: block-destructive-command
category: shell_execution
cel: "command.contains('rm -rf')"
enforce: true今後、エージェントがローカル開発環境で実質的な書き込み権限をより多く持つようになるにつれ、このような軽量なガードレールサイドカーパターンが必須になる可能性が高いでしょう。エージェントの判断を無条件に信じるより、こうしてローカル層でサンドボックス化するセキュリティフィルターを立ち上げておく方が安心ですよね。エージェントワークフローのセキュリティに関心がある方は、ぜひ一度チェックしてみてください。