🤖

ClaudeのSkillsの安全性を確認するSkillを作った話

に公開

Claude Skillsの衝撃

はいどーも、はおりんです!

YoutuberやVtuberを日常的に見ていたり、自身でもtuber活動をしていると初手のあいさつがテンション高くなりがちだと思いません?

さて、弊社GMOメディアでは、エンジニアのAIツールとしては主に「ClaudeのPro/Maxプラン」を利用してもらっています。Claudeといえば先日[いつ?]、Skillsという機能が発表され、すでに利用可能となっています

いままでも、ClaudeがPythonコードを生成してサンドボックスの中で実行することはあったのですが、このSkillsというやつは、より専門的な指示内容と、専門的な知識と、確実に機能を提供するPythonコードをセットにして配布し、インストールされたClaudeが自由に使えるようにするものです

特にPythonコードの部分については、「LLMが都度Pythonコードを書いて実行する」のが「事前に作り込まれたPythonコードを実行する」に変化しており、専門家が、専門的なSkillを開発し、非専門家でも使えるようにする、ということができる点で画期的です

Skillsに潜むかもしれない闇

さて、Skillsについて衝撃を受けていただいたところで、Skillsで何ができるのかを予想してみましょうか

まず、Skillsには、SKILL.mdという、AI(この場合はClaude)への詳細な指示を含める必要があります。このSKILL.mdには、どういう手順で作業するのか、どういうタイミングでPythonを実行するのかなどを、なるべく詳細に記述します。そうすることで、AIがその指示に従って行動するようになります

SKILL.mdには、自分以外の誰かが書いた、AIへの詳細な指示が書かれています。それが悪意ある指示である可能性もありますね!

次に、Pythonコードですが、ClaudeにおけるPythonの実行はSandbox環境で行われます。Sandbox環境はnpmなどのパッケージのダウンロードなど、特定のURLへのアクセスのみ許可されているようですが、それでも、どこか悪意のあるサイトにアクセスできないとは限りません

そう、Skillsは危険なのです!いや「他人の書いたプロンプト」は危険なのです!

危険なのでみなさんSkillsを使うのはやめましょう!!

ーーー 完 ーーー

茶番やってないでSkillを作る

失礼しました、茶番でした

茶番ではありますが、「Skillは危険」という認識は、ネットで配布されているSkillを使う以上、持っておいて損はない意識です。しかしながら、Skillを見つけるたびに、SKILL.mdを詳細に読み、同梱されているPythonコードの中をチェックするのは、なかなか骨が折れる行為です

そこでわたしは、「SkillをチェックするSkill」を作ることにしました

Skillを作る方法は、Claudeの公式がSkillとして提供してくれています。そう、「「SkillをチェックするSkill」を、Skillを作成するSkillを使って作る」んです。

ClaudeのSkillsは、公式がいくつかSkillを提供してくれています。その中の1つに「skill-creator」があります。リポジトリはこちら https://github.com/anthropics/skills/tree/main/skill-creator

このスキルを使うにはClaudeでプロンプトに「skill-creatorを使用して」とひとこと混ぜるだけです!

ClaudeのSkillsは、Markdown形式のファイルなので配布できます。しかし、配布されているスキルのすべてが安全とは限りません。
skill-creatorを使用してユーザーがアップロードしたスキルが安全かどうか確認するスキルを設計してください。

「安全」を脅かすリスクの定義

  • 情報漏洩
  • PCの権限奪取
  • ロガーのインストール
  • 外部へのファイル送信

(実際に使っているプロンプトからは一部省略しています。プロンプトも知財なので・・・)

おおよそこのような指示をチャットで入力するとSKILL.mdを読んだり、Pythonコードを実行してスケルトンを作ったり、出来たスケルトンを書き換えていったりして、

image.png

Zipファイルが生成されます。そうです、Zipファイルなんです!ダウンロードして配布してそのまんまClaude Desktopにインストールできます!

作ったスキルを使ってみる

このスキルをClaudeにインストールして、新規チャットで

アップロードしたスキルの安全性を、チェッカーを使って確認して

と、別のスキルのZipファイルを添付してお願いすると、レポートが出力されます

今回はこんなディレクトリ構造をしたスキルをzipで固めて投入してみました

image.png

結果のスクリーンショットの一部がこちらです

image.png

image.png

スキルを使ってライフをハックしよう

というわけで、Claudeに新しく追加された、Skills機能の紹介でした

めちゃめちゃ長いプロンプトを、SKILL.mdにまとめただけのシンプルなスキルから、Pythonコードをいっぱい同梱した複雑なスキルまで、今年も残すところ3ヶ月弱となりましたが年内だけでも山のようにスキルが開発・配布されるでしょう

skill-creatorを使えば、誰でもスキルが作れますので、みなさんもぜひチャレンジしてみてください!

以上、開発の現場からはおりんがお伝えしましたー

GMOメディアテックブログ

Discussion