チャット経由の裏口はつくらない:AI のツール呼び出しにもアプリの利用権限を適用する
KwaFlux が AI のツール呼び出しにもクリックと同じログイン確認を適用し、ワーカーが Ed25519 署名のリースを検証し、再試行のたびに確認し直すしくみを解説します。
要点
- 有料のデスクトップアプリに MCP サーバーを加えると、入り口がもう 1 つ増えます。プランの確認がアプリの画面にしかなければ、AI からの経路はそれを素通りします。
- KwaFlux では、AI のツール呼び出しも、クリックと同じログインとプランの確認を同じ場所で通ります。その場所は MCP スクリプトではなく、アプリのコントロールプレーンです。
- ジョブを実行するワーカーも、有料の処理を始める前に Ed25519 で署名されたリースを検証して、もう一度確認します。
- タスクの再開や再試行では、その時点であらためて確認を通るので、期限切れのプランやオフにした設定を、再試行によって生かし続けることはできません。
KwaFlux に MCP サーバーを加えるとき、最初に決めたルールがあります。AI アシスタントにできるのは、あなたがアプリでできることと同じことで、それより多くも少なくもない、というものです。そのため、機能を守るアカウントの確認は、クリックにもツールの呼び出しにも同じように適用されます。
この確認は、あなたのプランや設定が変わっているかもしれない後になって、アシスタントがタスクを再試行するときにも有効でなければなりません。
この記事では、有料機能への 2 本目の経路がたいていどこに生まれるか、KwaFlux が 2 つの経路に 1 つの確認を保つ方法、ワーカーの署名付きリースが何を加えるか、そして再試行のたびに確認し直す理由を解説します。
目次
- 利用権限の確認とは?
- 裏口がたいてい生まれる場所
- 確認は 1 つ、アプリの中に
- ワーカーでの 2 回目の確認
- 再開と再試行も確認を通り直す
- MCP 経由で無料で使えるもの
- この設計が担うこと、担わないこと
- よくある質問
利用権限の確認とは?
利用権限の確認とは、機能を動かす前に、ログインしているアカウントがその機能に必要なプランやライセンスを持っているかどうかをソフトウェアが確かめるステップです。
KwaFlux では、ファイルを書き出す機能、つまり書き出し(AI 高画質化を含む)、変換、ファイル修復、リンクからのダウンロードに、ログインとプランが必要です。閲覧、読み込み、プレビュー、ファイルの診断など、それ以外はすべてアカウントなしで使えます。
裏口がたいてい生まれる場所
デスクトップアプリは、ユーザーインターフェースでプランを確認することがよくあります。ボタンが無効になっていたり、クリックするとアップグレードの画面が表示されたりするしくみです。これは、2 つ目の呼び出し元が現れるまではうまく機能します。
MCP サーバーは 2 つ目の呼び出し元です。ジョブを直接エンジンに送ったり、それまでボタンが守っていた内部の関数を呼び出したりすると、UI での確認は実行されません。MCP の仕様がアクセス制御をサーバー側に置いているのはこのためで、サーバーはすべてのツール入力を検証し、「適切なアクセス制御を実装」しなければならない("MUST")としています。ボタンにある確認は、確認のうちに入りません。
確認は 1 つ、アプリの中に
KwaFlux は、すべてのリクエストが通らなければならない場所、つまり起動中のアプリの中にあるコントロールプレーンに確認を置いています。MCP スクリプトはプランについて何も判断しません。型付きのリクエストを転送し、アプリが答えます。
| ステップ | アプリでクリックした場合 | AI アシスタントが依頼した場合 |
|---|---|---|
| リクエストの入り口 | アプリ自身の画面 | ローカルのチャネルを通じてコントロールプレーンへ |
| ログインとプランの確認 | あり | あり(同じ確認) |
| ジョブの組み立て | アプリのジョブビルダー | 同じジョブビルダー(ワーカーが実行) |
| ワーカーによるリースの検証 | あり | あり |
| 結果 | 元のファイルの隣、または選んだフォルダーにファイルを保存 | 元のファイルの隣にファイルを保存 |
ログインしていない場合や、プランがその機能に対応していない場合、アシスタントにはその旨を伝える構造化されたエラーが返り、アシスタントはあなたにログインを促せます。ほかに呼び出せるものがないので、回避することはできません。各レイヤーの組み合わせ方は、AI エージェントに画面をクリックさせるべきではない理由をご覧ください。
ワーカーでの 2 回目の確認
アプリでの確認は、ジョブをキューに入れてよいかどうかを決めます。実際にエンジンを動かす別プロセスであるワーカーは、有料の処理を始める前に独自の確認を行います。そのタスク用の、Ed25519 で署名されたリースを検証するのです。
署名の確認を別のプロセスで行うので、判断が 1 か所だけに頼ることはありません。ほかの経路でワーカーに届いたジョブは、有効な署名付きリースがなければ、有料の機能を実行しません。
Ed25519 は、RFC 8032 で規定されたエドワーズ曲線の署名方式です。鍵も署名も小さく(Ed25519 では公開鍵が 32 バイト、署名が 64 バイト)、検証も速いので、タスクごとに行う確認に向いています。
補足: リースの中身や有効期間は、あえて説明していません。この設計の要点は、ジョブを渡した相手を信頼しなくても、ワーカーがリースを検証できることにあります。
再開と再試行も確認を通り直す
再試行は見落としやすいところです。キューに入れた時点では許可されていたタスクも、1 時間後に再開するときには許可されないかもしれません。KwaFlux は、再開と再試行を新しい判断として扱います。
- プランをもう一度確認します。 タスクをキューに入れたあとでプランが終了していれば、有料のタスクの再開や再試行は、新しいリクエストと同じように確認で止まります。
- ダウンロードの設定をもう一度確認します。 アシスタントがダウンロードをキューに入れたあとで、エージェントによるダウンロードをオフにしていれば、その再試行は拒否されます。AI がダウンロードを代わりに承認できない理由をご覧ください。
- 所有者をもう一度確認します。 アシスタントが再開や再試行をできるのは、自分が送ったタスクだけです。
そうしなければ、一度承認されたタスクを、もう成り立っていない判断を根拠に、いつまでも再試行できてしまいます。操作のその時点で確認すれば、この穴をふさげます。
MCP 経由で無料で使えるもの
KwaFlux の無料の部分は、MCP 経由でも無料のままです。ログインしなくても、アシスタントは次のことができます。
- KwaFlux が起動しているか、ログインしているかを確認する
- タスクを一覧表示し、ステータスを読む
- 破損したファイルを診断し、修復できるかどうかを確かめる
- 自分のタスクを一時停止またはキャンセルする
無料の 1・3・5 秒のプレビューはアプリの中にとどまり、アシスタントがレンダリングすることはありません。
この設計が担うこと、担わないこと
この設計は、2 つの経路のルールを同じに保ちます。AI アシスタントによって何かが解放されることはなく、あなたが使えるはずのものが失われることもありません。すべてのリクエストが同じ確認を通り、アシスタントが始めたタスクはどれも、送ったアシスタントの名前を付けて、アプリのタスクリストに表示されます。
ただし、チャネルそのものの守りの代わりにはなりません。ほかのアカウントやほかのコンピューターが KwaFlux とやり取りすること自体を防ぐのは、そちらの役割です。詳しくはローカルのチャネルを守るをご覧ください。
まとめ
有料アプリに AI のインターフェースを加えることは、確認が実際にどこにあるのかを見直すきっかけになります。KwaFlux は、クリックにもツールの呼び出しにも、アプリのコントロールプレーンにある 1 つの確認を使い、有料の処理の前にはワーカーが署名付きリースを検証し、タスクを再開や再試行するたびに確認し直します。アシスタントが使うのは、あなたが使うのと同じ KwaFlux です。
アプリからでもアシスタントからでも、同じ KwaFlux
KwaFlux のローカル MCP サーバーを使うと、Codex、Claude、Cursor などの MCP アプリから、アプリで始められるのと同じジョブを、同じルールのもとで始められます。AI 処理はご自身の GPU 上で実行され、メディアファイルが処理のためにアップロードされることはありません。Windows 10(64 ビット、バージョン 1809 以降)、Windows 11、Apple Silicon 搭載の macOS 12 以降で動きます。ファイルの読み込みやアプリの操作にアカウントは不要です。ログインと有料プランが必要なのは、書き出し、変換、ファイル修復、リンクからのファイルダウンロードだけです。
お手元の素材で効果を試す
KwaFlux を入手し、支払う前にお手元の素材で効果を無料プレビュー。アカウント不要で、処理はお使いの GPU で行い、処理のためにメディアをアップロードすることはありません。 動画のプレビューは 1、3、または5 秒、手ぶれ補正のプレビューは 5、15、または30 秒から選べます。
よくある質問
MCP サーバーでアプリの課金を回避できてしまう?
アプリがユーザーインターフェースでしかプランを確認していなければ、回避できてしまいます。エンジンや内部の関数を直接呼び出すサーバーは、その確認を素通りします。すべてのリクエストが通るコンポーネントに確認を置き、処理を実行する場所でもう一度確認すれば、その経路はふさがります。
署名付きリースとは?
特定のタスクのために発行され、秘密鍵で署名された小さなトークンです。タスクを実行するプロセスが、開始前に対応する公開鍵で検証します。これにより、そのプロセスは、タスクを渡してきた相手を信頼しなくても、タスクが許可されたものであることを確かめられます。
署名に Ed25519 を使うのはなぜ?
Ed25519 は鍵と署名が小さく、検証が速く、RFC 8032 で仕様が公開されています。こうした性質は、デスクトップアプリの中でタスクごとに 1 回実行する確認に向いています。
再試行のときに権限を確認し直すべき?
はい。再試行は元のリクエストより後に行われるので、その間にユーザーのプランや設定が変わっているかもしれません。再試行を新しいリクエストとして扱えば、前提の条件が成り立たなくなったあとまで、古い承認でタスクを動かし続けることはできなくなります。
AI アシスタントで使える機能はアプリと違う?
たいていはアプリの機能の一部です。画面上で誰かが描いたりクリックしたりする必要のある機能は、アプリの中にとどまることが多くなります。一例として、動画アプリで AI アシスタントにできることをご覧ください。


