T-CREATOR

<div />

Claude Code と Codex のスキルを入れる前に中身を確かめる手順: security-audit で見る5か所

Claude Code と Codex のスキルを入れる前に中身を確かめる手順: security-audit で見る5か所

Claude Code や Codex にスキルを入れる前は、公開元から外への通信までの5か所を読みます。2026年11月6日に Cloudflare の security-audit スキルで確かめると、実行するのは通信しない2本のスクリプトだけでした。

経緯

スキルは、入れたエージェントと同じ権限で動きます。Skills CLI も、入れ終わったときに「Review skills before use; they run with full agent permissions.(使う前に中身を確かめてください。エージェントと同じ権限で動きます)」と表示します。security-audit スキルを入れる前に、どこを見ればよいかを順に確かめました。

環境

  • macOS 26.6.2、Node.js 24.19.0
  • Claude Code 2.1.309、Codex CLI 0.166.0
  • Skills CLI 1.7.6(npx skills)
  • security-audit スキル(2026年9月14日の版)

手順

公開元のリポジトリを確かめる

スキルの紹介ページや一覧のサイトには、同じような名前の写しが並ぶことがあります。security-audit スキルの公開元は、GitHub の cloudflare​/​security-audit-skill です。入れるときは、公開元の URL をそのまま渡します。

terminal$ npx skills add https://github.com/cloudflare/security-audit-skill --skill security-audit

Skills CLI に出る点検の結果を読む

npx skills add は、入れる前に3つの点検の結果を表示します。security-audit スキルでは、次のように出ました。

点検結果
GenSafe
Socket0 alerts
SnykMed Risk

詳しい説明は、表示の下の Details: にある skills.sh のページで読めます。

skills.sh の security-audit のページ。右側の SECURITY AUDITS に、Gen Agent Trust Hub と Socket が PASS、Snyk が WARN と出ているskills.sh の security-audit のページの点検の結果

Snyk の WARN を開くと、理由は「W011: Third-party content exposure detected (indirect prompt injection risk).」の1件でした。点検するコードや Issue の本文のような外の文章を読み込むので、そこに書かれた指示にエージェントが従ってしまう恐れがある、という意味です。知らない人のリポジトリを点検させるときは、この点を頭に置きます。

SKILL.md の先頭で、いつ何をするかを読む

skills​/​security-audit​/​SKILL.md の先頭には、スキルの名前と、いつ使われるかの説明があります。security-audit スキルの本文には、2つの動き方が書かれていました。

動き方書かれていること
Guidance modeセキュリティーの質問や一部の点検では、必要なところだけを使う。6つの段階を全部は動かさず、報告のファイルも作らない
Full audit mode「コードを監査して」「ペネトレーションテストをして」と頼まれたときや、報告のファイルを求められたときだけ、6つの段階を全部動かしてファイルを書く

どちらとも取れる頼み方のときは、ファイルを作る前に1つだけ質問するように書かれています。頼み方によって、作るファイルと時間が大きく変わります。

実行するスクリプトを読む

スキルの中で実行するように書かれているのは、点検の結果の形を確かめる2本です。

ファイル読み込んでいるもの
validate-findings.cjsfs、path、util
validate-coverage-ledger.cjsnode:fs、node:path、node:util

どちらも Node.js に元からある部品だけで、通信の部品(http、net、fetch など)や、別のコマンドを動かす部品(child_process)は読み込んでいませんでした。読み込みは、ファイルの先頭の require( の行で分かります。

外への通信と、許可を飛ばす指示を探す

説明の .md のファイルの中から、通信と許可に関わる言葉を探しました。

terminal$ grep -n -iE 'curl |wget |network' skills/security-audit/SKILL.md
$ grep -rn -iE 'dangerously|skip.*permission|bypass' skills/security-audit/

通信については、「外のネットワークを使わない」「コードを動かすときは、外の通信を切った隔離の環境で動かす」という指示だけが見つかりました。許可については、HACK: skip permission check が1か所ありました。これは「コードの中に残るこのようなコメントを探せ」という例で、エージェントに許可を飛ばさせる指示ではありませんでした。bypass は多く見つかりますが、どれも「認証をすり抜けられないか」のように、探す弱いところの説明でした。

入った場所を確かめる

入れたあとは、どこに置かれたかを確かめます。プロジェクトに入れた場合、security-audit スキルは次のように置かれました。

場所中身
.agents​/​skills​/​security-audit​/​スキルの本体。Codex はここを読む
.claude​/​skills​/​security-audit本体へのリンク。Claude Code はここを読む
skills-lock.json入れたスキルの公開元と、中身のハッシュ

外すときは npx skills remove security-audit を使います。置き場所と読み込まれ方は、Claude Code と Codex のスキルの置き場所の動きに書きました。

注意点

点検の結果が PASS でも、中身を読む

skills.sh の点検の結果は、その日の版に対するものです。スキルは更新されるので、npx skills update で新しくしたあとも、変わったファイルを読みます。

知らないリポジトリを点検させるときは、隔離した場所で動かす

Snyk の注意のとおり、点検するコードに書かれた文章をエージェントが読みます。他人のコードを点検させるときは、大事なファイルや認証情報のない場所で動かします。

参考文献

著書

とあるクリエイター

フロントエンドエンジニア Next.js / React / TypeScript / Node.js / Docker / AI Coding