Communityコーディング&開発github.com

sublime-mcp-audit

Sublimeパッケージの監査を実行してsublime-mcpの弱点を明らかにする方法です。ポータブルSublimeインスタンスを介してSublimeパッケージをインストール、テスト、または削除する際に使用します。スクリプトなし、eval_pythonなし、HTTPブリッジなし、ユーザーと同じようにインストールし、各ステップで使用するsublime-mcpツール、そして何が脆弱性とみなされるかについて説明します。

sublime-mcp-audit とは?

このスキルは、Sublime Textパッケージの監査を実施してsublime-mcp MCPサーバー自体の弱点を特定するための厳格な手順とルールを定義しています。パッケージのバグを見つけることは副次的な結果であり、主目的はあくまでMCPのギャップを露呈させることです。サポート対象はSublime Textエディタ(主にメインSublime、以前はポータブルインスタンスも対象)で、Claude Codeのスキルとして動作します。主なルールとして、スクリプトやeval_pythonの使用禁止、MCPブリッジポートへのHTTP呼び出し禁止、ユーザーと同じ方法でのインストール(Package Controlのコマンドパレットを使用するなど)、そしてsublime-mcpがユーザー可能なステップを実行できない場合は回避策を取らずに弱みとして記録することを求めています。また、破壊的操作の前にはDonaldの明示的な承認を必須とし、テスト後は必ずダイアログやピッカーを検出・処理し、コンソールエラーを確認してから結果を記録するなど、厳密なテスト手順が定められています。

対応✓Claude Code~Codex CLI✓Cursor
Part ofMobile
npx skills add https://github.com/dpc00/sublime-package-audit/tree/HEAD/.claude/skills/sublime-mcp-audit

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

sublime-mcp パッケージ監査

この方法の公開・一般向けバージョン: https://github.com/dpc00/sublime-package-audit (.claude/skills/sublime-package-audit/SKILL.md および PROCEDURE.md)。このファイルはDonaldのローカルルールとパスを含むプライベートな作業コピーです。教訓が一般的なものである場合は、公開スキルにも追加してください。

出典: Donaldの2026-10-07の指示と、同日にdiscover_toolsで実施したツール調査。

ファイルの場所(2026-10-17更新)

すべてのファイルは監査リポジトリ C:\Users\donal\projects\sublime-package-audit にあります: data\ (.tested_packages.tsv, .package_skill_test_log.md, .package_skill_baton.md, campaign_tools\)、notes\ (日付付きのメモとバトン、インデックス notes\MEMORY.md)、tools\ (rec.ps1 は1つのパッケージを記録しますが、コミットもプッシュもしません。Donald 2026-10-20: バッチ終了時に tools\commit_day.ps1 を実行: 最初の日付変更後の実行でその日のコミットが作成され、それ以降の実行では修正が追加されます。履歴は1日1コミットに保持されます)。以下の古いテキストやメモで「リポジトリルート」や.claude\memoryとあるのは、それらのフォルダを指します。パッケージリストは引き続き C:\Users\donal\data\st_packages にあります。

目的

この監査は、sublime-mcp自体の弱点を見つけるためのものです。その過程で見つかったパッケージのバグは副次的な結果です。MCPのギャップを隠すものは、監査の目的を損ないます。

厳格なルール

  1. いかなる種類のスクリプトも禁止(Python、PowerShell、シェル、スクリプトとして機能するワンライナー)。
  2. いかなる目的でもeval_pythonの使用禁止。
  3. MCPブリッジポート(9510、9520、9532...)へのHTTP呼び出し禁止。ポータブルのMCPサーバーがダウンしたりハングしたりした場合は停止して報告し、回避しないでください。
  4. ユーザーと同じ方法でインストールすることが目標であり、常に実現可能であるとは限りません。Package Controlリリースの場合は、コマンドパレットを使用して「Package Control: Install Package」を選択し、名前を入力してEnterキーを押します。リポジトリマスター(最新コード)はピッカーから取得できないため、コピーして配置します(下記の「許可される操作」を参照)。両方をテストし、各結果がどちらによるものかを明記してください。
  5. sublime-mcpがユーザーが実行できるステップを実行できない場合、回避策を取ってはいけません。それをsublime-mcpの弱みとして記録し、Donaldに伝えてください。
  6. インストール(彼の順序、2026-10-24。古い「無料の前提条件をインストールしてテスト」というメモを置き換えます): 大規模なものやアンインストールが不可能なものはインストールしないでください(彼の言葉、2026-10-31。古い「ピッカーのみ、winget、pip、npm -g、gem、go、cargo、apt、インストーラー、管理者権限が必要なものは一切禁止」というリストは無効であり、一度も守られていませんでした)。小さな削除可能なインストールは問題ありません。(古い「管理者権限が必要なものは禁止」という条項は、2026-10-31にDonaldによって削除されました。無効であり、一度も守られていませんでした)。前提条件が欠落しているパッケージは、finish.ps1に「前提条件がインストールされていません」と記録され、スキップされます。彼が1ターンで1つのインストールを許可した場合は、まずその行をdata\installs_ledger.mdに書き込んでください。各テスト後、インストールしたものを削除し、パッケージを記録する前にそれが削除されたことを確認してください(Test-Path、コンソールの「パッケージを削除しました」、レジストリ)。詳細: notes\feedback_install_policy_2026_10_24.md。

許可される操作(Donald確認済み): パッケージのコピー(例:リポジトリマスター)をPackagesフォルダにコピーしてテストすること。sublime-mcpのrun_commandツールは、ユーザーのメニュークリックを模倣するため使用可能。eval_python内部からコマンドを実行することは許可されていません。

メインSublimeのみ、彼は同じキーボードを使用(Donald、2026-10-20。以下のすべてのポータブル手順を置き換えます)

ポータブルインスタンスは廃止されました。監査は彼のメインSublime、1つのウィンドウで実行され、彼がタイピングし、タブをクリックし、ダイアログを閉じている間、私が作業します。MCPコードはそのままです。これらのルールが修正策です(彼の判断: 修正はスキルに属します)。

  1. 00およびフォーク/PR禁止を置き換えます(Donald、2026-10-21。私が修正を書き留めて停止した後: 「誰かの役に立つと思うなら、実行してください。オンオフを繰り返すのはやめて、これ以上時間を無駄にしないでください」): 実際に再現可能な欠陥に対しては、最後までやり遂げてください: 修正を書き、彼のSublimeでテストし、証拠とテスト済みの修正をパッケージのIssueへのコメント(または新しい短いIssue)として「Claude reports:」で始まる形で投稿し、それを記録してください。毎回の許可は不要です。アーカイブされたリポジトリはスキップします(同日の彼のルール: GitHubはそこへのコメントを拒否します)。findings\を記録として保持し(そのステータス行をPOSTEDに設定し、リンクを追加)、コメントに修正を記載できない場合にのみプルリクエストを使用します。PRとフォークの禁止(2026-10-14の一時停止とフォーク禁止ルール)は彼自身が解除するまで有効なので、一度尋ねることなくPRやフォークを開かないでください。
  2. (古い、000により置き換え)彼の承認なしに外部に何も投稿しないでください(彼の懸念、2026-10-20: 間違った公開レポートはソフトウェアエンジニアの前で彼を恥かかせることになります。その日、3つの間違ったレポートが出てしまいました)。 GitHubのIssue、コメント、PR、Eメールは一切禁止。各脆弱性は、完全なIssue(タイトル、本文、証拠、ドキュメントの記載内容)として、リポジトリルートのfindings\内の独自ファイル(<package>-<short-topic>.md、最初の行は Status: not filed)に、実際に提出するのとまったく同じ形式で記述してください。彼の言葉: 「そこに完全なIssueを置いてください、提出はしないでください」。リポジトリは公開されているため、作成者は自分のパッケージをそこで探すことができ、追跡およびバックアップされます(notes\はgitによる無視対象)。ローカルパスと名前は消去してください。RESULTS.tsvに「findings\に作成(未提出)」として記録してください。彼が後で特定のものについて投稿するように指示した場合のみ投稿し、その前にテキストを読み返してください。これは、このスキルとメモ内の古い「提出せよ」という指示をすべて、彼が解除するまで置き換えます。
  3. 最初の使用前に読む(彼のルール、2026-10-20: そのようなエラーはドキュメントが読まれていないことを意味します)。 セッションで何かを閉じる、削除する、タイプする、送信する、または変更するツールを最初に使用する前に、discover_tools(クエリ = ツール名)を使用してそのツール自体の説明を読み、重要と思われる一文を述べてください(「close_fileを名前なしで使用するとアクティブなタブが閉じられます」)。外部への送信(Eメール、GitHub投稿)の前に、彼のメモ内の該当するルールを読み直し、それが参照している原文を表示または確認してください。原文が見つからない場合は、何も送信しないでください。
  4. すべてのタブに名前を付けてください。 close_fileは常にnameを指定してください(無題のタブの名前はその最初のテキスト行です。間違った名前はopen_viewsを返します)。nameなしでclose_fileを使用しないでください。アクティブなタブが閉じられますが、どのタブがアクティブであるかは私ではなく彼が決定します(2026-10-20、彼が/rcとタイプしている間に、私自身のClaudeタブが閉じてしまいました)。 1b. 破壊的な呼び出しは最初にDonaldに確認してください(2026-10-27、sublime-mcp コミット 1a71fa6)。 close_file(discard付き)、delete_file、delete_folder、revert_file、revert、close_window、close_workspace、remove_folder、exit、eval_python、およびこれらのコマンドのrun_command(バッチ内も含む)は、彼のClaude Codeターミナルに承認/拒否のプロンプトを表示します。そのような呼び出しの前に一文を述べてください(「テストタブ 'x' を破棄して閉じます。プロンプトが表示されます」)、正確なタブ名を指定し、彼が拒否した呼び出しを繰り返さないでください(「拒否されました。何も変更されていません」は最終回答です。他のツールで回避しないでください)。ポータブルインスタンス(C:\Users\donal\tools\st_portable)は、同じプラグインをUser\MCP Commander.sublime-settingsで`

関連スキル