Skip to main content
Glama

Lilith Shell

AIアシスタントにローカルシェルコマンドの実行機能を提供する実験的なMCPサーバー。

現在のステータス

このリポジトリはプロトタイプとして扱うべきであり、セキュアなシェルサーバーではありません。

現在の実装では、呼び出し元が提供したコマンド文字列を subprocess.run(..., shell=True) を通じて実行する execute_command というMCPツールを1つ公開しています。5分間の固定タイムアウトがあり、stdoutとstderrをキャプチャし、オプションで作業ディレクトリを受け取ります。このREADMEで以前説明されていたセキュリティ制御は、現在実装されていません。

推奨される対応: セキュリティモデルが再構築され、テストされるまで、このリポジトリをアーカイブするか、ピン留めを解除してください。

Related MCP server: Terminally MCP

セキュリティ警告

認証情報、本番データ、プライベートソースコード、SSHキー、クラウドトークン、その他の機密情報が含まれるホスト、アカウント、またはディレクトリに対してこれを実行しないでください。

現在のコードにおける既知の欠陥:

  • コマンドの許可リストまたは拒否リストの強制がない

  • 厳格モード、許可モード、ロックダウンモードがない

  • 作業ディレクトリの境界制限がない

  • 環境変数のフィルタリングがない

  • 出力のサニタイズがない

  • 監査ログがない

  • 設定によるシェル選択ができない

  • ストリーミング出力がない

  • Windows固有の実行パスがない

  • 信頼できないツール入力に対して shell=True が使用されている

これらの欠陥により、本プロジェクトは本番環境での使用には適しておらず、通常の開発者ワークステーションであってもリスクがあります。

現在動作するもの

このMCPサーバーは1つのツールを登録します:

  • execute_command

    • 入力: command 文字列

    • オプション入力: directory 文字列(デフォルトは ~

    • 動作: 要求されたディレクトリでコマンドを実行し、終了コード、stdout、stderrを返します

スコープ外となったもの

以前のREADMEでは、コマンドの許可リスト、危険なコマンドの検出、設定可能なモード、出力のサニタイズ、監査ログ、作業ディレクトリの制限、クロスプラットフォームのシェル選択、ストリーミング出力のサポートを謳っていました。これらの機能は現在のソースツリーには存在しません。

再公開前の最小限のパッチ計画

セキュリティ指向のMCPサーバーとして提示する前に、以下の対応が必要です:

  1. shell=True による文字列実行を、argvベースの実行に置き換える。

  2. デフォルトで必須の厳格モードを追加し、明示的なコマンド許可リストを設ける。

  3. すべてのコマンド実行前に、設定されたワークスペースルートを正規化し、強制する。

  4. コマンド解析、ブロックされたコマンド、パストラバーサル、シンボリックリンクエスケープ、タイムアウト動作、出力制限に関するテストを構築する。

  5. 返される出力から一般的なシークレットパターンを削除(Redact)する。

  6. 大規模なコマンドがメモリを枯渇させたり、MCPレスポンスを溢れさせたりしないよう、出力処理に制限を加える。

  7. タイムスタンプ、cwd、終了コード、ブロック理由を含む監査可能なコマンドログを追加する。

  8. サポートされるシェル、プラットフォーム、および脅威境界を正確に文書化する。

開発

pip install -e ".[dev]"
pytest

ライセンス

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    A secure Model Context Protocol server that allows AI assistants to execute terminal commands with controlled directory access and command permissions. It features a robust security architecture including whitelisting, session IDs, and categorized command levels to ensure safe system interaction.
    8
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    A secure MCP server for shell operations, terminal management, and process control, enabling AI assistants to safely execute commands and manage interactive sessions.
    13
    153 npm
    6
    MIT