FRL 自由研究ラボ

自作アプリ紹介 — APP 05

許可チェッカー

— AI に与えた許可と動作環境を、危険度の高い順に見える化する —

AI に Mac の中を任せるほど、許可は静かに増えていきます。一度出した許可は、使わなくなっても残り続けます。 許可チェッカーは、AI に与えた許可と、Mac の動作環境を一覧にして、危険度の高い順に見せる、自分専用の点検画面です。 この記事では、何を見える化し、どう判断を助け、そして公開する画面をどう用意したかを紹介します。

この記事を読むとできること

  • AI に任せるほど、許可が「見えなくなる」理由が分かります
  • 許可を、危険度と「消したらどうなるか」で判断する考え方が分かります
  • 点検の画面を、安全に作り、安全に見せるための工夫が分かります

想定している使い方

家の Mac の中で許可チェッカーを動かしておき、ブラウザ(Safari や Brave など、Web ページを見るためのアプリ)で開いて、いまの許可の一覧を見ます。 説明は Mac を前提にしていて、コードは載せていません。記事の画面は、本物の許可ではなく、サンプルのデータで用意したものです。

  1. なぜ作ったのか
  2. 何を見える化しているのか
  3. 「消したらどうなるか」で判断する
  4. 外すと決めたら ―― 外し方を示し、失敗しても戻せるようにする
  5. 点検の画面を、危なくしないための工夫
  6. 使ってみて変わったこと
  7. 関連する項目

読む目安:約8分 ・ 自作アプリ紹介 APP 05 ・ 図1枚 ・ 実際の画面4枚

なぜ作ったのか ―― AI に与えた許可は、見えなくなる

許可チェッカーは、AI に与えた許可や、Mac の動作環境を見える化するための、自分専用の点検画面です。見るのが中心で、危険度の高いものから順に並べます。

AI に作業を任せるには、許可が要ります。画面を録画してよい、ほかのアプリを操作してよい、ある種類のコマンド(文字で出す命令)は確認なしで実行してよい、といった許可です。ところが許可には、一度出すと、使わなくなっても残り続けるという性質があります。しかも、あちこちの設定に散らばっていて、いま全部でいくつあるのかを、1か所で見る方法がありません。

許可は、増えるほど、悪用されたときの被害が広がります。それなのに、数えられず、見えないまま増えていく。そこで、いま残っている許可を、すべて集めて、危険度の高い順に並べる画面を作りました。AI に任せる範囲を広げる前に、いまどこまで任せているかを、自分の目で確かめられるようにするためです。

✕ 許可が見えないままだと AI に任せて 許可が増える あちこちに 散らばって残る 気づかないうちに 被害の余地が広がる ○ 一覧で見える化すると 許可を集めて 危険度順に並べる 外すものに 自分で気づける 安心して 任せられる 許可の数は同じです。違いは、いま何を許しているかを、自分の目で確かめられるかどうかだけです。

図の見方:上の段は、許可を見える化しない場合です。許可があちこちに散らばって残り、気づかないうちに被害の余地が広がります。下の段は、許可を集めて危険度の高い順に並べた場合です。外すべきものに自分で気づけるので、安心して任せられます。

許可チェッカーの画面。どの Mac を見ているかの帯、危険度ごとの件数、危険度の内訳の帯、種類ごとの棒グラフが並んでいる
実際の画面(サンプルのデータで用意したものです。スマホでは横にスクロールできます):上の帯は、どの Mac の許可を見ているかを示します。その下に、危険度ごとの件数と、種類ごとの内訳が並びます。

何を見える化しているのか

見るものは、大きく6つの種類に分けています。どれも「あとから気づきにくいのに、被害が大きい」ものです。

あわせて、消したはずのアプリや拡張機能の「残骸」も探します。アプリを消しても、与えた許可の記録だけが残ることがあるからです。

調べるのは、この Mac の中だけで、結果を外へは送りません。接続の設定に秘密の値が含まれていても、画面には値を伏せて出します。点検の画面が、秘密を見せてしまっては本末転倒だからです。

「消したらどうなるか」で判断する

危険度が高いからといって、すぐ消してよいとは限りません。外すと、自分の作ったアプリが黙って動かなくなることがあるからです。そこで一覧の各項目に、消すとできなくなることと消すと防げることを並べて出します。

さらに、その許可を自分のコードが使っているかを調べて、4つの判定を付けます。

判定には、理由を一言添えます。「なぜそう判定したのか」が分からないと、画面の判断をそのまま信じることになるからです。最終的に外すかどうかは、必ず人が決めます。

許可チェッカーの危険度が高い一覧。1件を開いて、できること、リスク、判定、消すとできなくなること、消すと防げること、取り消しの手順が出ている
実際の画面(サンプルのデータ):危険度が「高」の項目を1つ開いたところです。できることとリスク、判定と理由、消した場合の損得、取り消しの手順が、1か所にまとまります。

外すと決めたら ―― 外し方を示し、失敗しても戻せるようにする

「外してよい」と判断したあとの操作も、画面が手伝います。外し方を調べ直す手間と、外しすぎて困るリスクの、両方を減らすためです。

外し方を、項目ごとに示す

許可の種類によって、外す場所は違います。システム設定の画面で切り替えるもの、設定ファイルの1行を消すものなど、さまざまです。 そこで、項目を開くと、どこを、どう操作すればよいかが順番に書いてあります。画面から外せるものは、ボタンを押すだけです。ただし、押したあとにもう一度確認の表示が出て、外す内容を読んでから実行できます。

外す前に、元の状態を「控え」として残す

設定ファイルを書き換えて外すときは、書き換える前に、元のファイルのコピー(控え)を自動で残します。外してから困ったことに気づいても、控えから戻せます。 また、書き換えの途中で、ほかの処理が同じファイルを書き換えていたら、何も書かずに中止します。ほかの人や処理の変更を、うっかり消さないためです。

「このまま残す」と決めたものも、記録する

点検した結果、外さずに残すと決めた許可には、確認済みの記録を付けます。次に画面を開いたとき、同じ項目で毎回迷わずに済みます。

点検の画面を、危なくしないための工夫

許可を点検する画面は、それ自体が、許可を変えられる強い画面です。だから、点検の画面を危なくしないことを、いちばん大事にしました。

どの Mac の画面かを、必ず見せる

画面の上に、どの Mac の許可を見ているかの帯を、常に出します。Mac を複数使っていると、手元を守ったつもりで、別の Mac の許可を外してしまう事故が起きるからです。

許可チェッカーの画面の上部。どの Mac を見ているかの帯と、この画面は見るだけであることを知らせる帯が並んでいる
実際の画面(サンプルのデータ):上の帯が、どの Mac の許可を見ているかです。その下の黄色い帯は、見るだけの画面で開いたときに出る注意で、外す操作は、その Mac 自身の画面で行うよう案内します(番号などは伏せてあります)。

見るだけと、変えるのを分ける

見るだけの操作と、外す・止めるといった変える操作を、はっきり分けています。変える操作は、その Mac 自身の画面からだけ効くようにしてあります。

同じ項目の「取り消しの手順」の欄を、上下に並べた画面。上はボタンがあり、下は見るだけの画面でボタンが無い
実際の画面(サンプルのデータ):同じ項目の「取り消しの手順」の欄です。上は、その Mac 自身で開いた画面で、「確認済みにする」などのボタンがあります。下は、見るだけの画面で、ボタンが描かれません。

本物の画面は、載せない

この記事の画面は、サンプルのデータだけで動かして撮ったものです。本物の許可の一覧は、自分の Mac の構成を、そのまま地図にしたものです。公開する記事には、その一部も載せません。あわせて、記事には、守りの具体的な設定の中身や、置き場所も書いていません。

点検の画面を紹介するときも、見せ方に気をつけます。「どこまで許しているか」の一覧は、攻撃する側にとっては、入り口の一覧と同じ価値があるからです。

使ってみて変わったこと

いちばんの変化は、「いまどれだけ許しているのか」に、答えられるようになったことです。以前は、許可を出した記憶はあっても、いまいくつ残っているのかは、誰にも分かりませんでした。

また、危険度の高い順に並ぶので、まず見るものが決まります。件数が多いときも、「高」だけ開いて見れば、最初の確認は終わります。「消したらどうなるか」が並ぶことで、外すのが怖い許可と、外してよい許可を分けて考えられるようにもなりました。

まねをするときは、いきなり外さず、まず一覧を見て、「なぜこの許可があるのか」を思い出せるかを試してください。思い出せないものが、最初の点検の対象です。