signing-entitlements について
macOS アプリの署名や Entitlements の問題を調査するスキルです。アプリバンドルと署名情報を確認し、起動拒否やサンドボックスの不一致などを分類して、必要最小限の検証・修正手順を示します。
主な機能
- 01アプリバンドルとメインバイナリの確認
- 02署名情報と Entitlements の確認
- 03Gatekeeper の判定確認
- 04署名・権限問題の分類
- 05ローカル開発と配布の切り分け
活用シーン
- 01署名による起動拒否の調査
- 02Entitlements やサンドボックス不一致の特定
- 03Gatekeeper の信頼ポリシー問題の確認
- 04配布時の公証要件の確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ openai/ plugins --skill signing-entitlementsインストール後、Claude Code で/signing-entitlementsを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
署名とエンタイトルメント
クイックスタート
問題がコンパイルではなくコード署名にありそうな場合は、このスキルを使います。 起動拒否、エンタイトルメントの不足、無効な署名、サンドボックスの不一致、 Hardened Runtime に関する混乱、または信頼ポリシーによる拒否などが該当します。
ワークフロー
-
バンドルまたはバイナリを調べます。
.appまたは実行ファイルの場所を特定します。Contents/MacOS/内のメインバイナリを確認します。
-
署名の詳細を確認します。
codesign -dvvv --entitlements :- <path>を使います。- Gatekeeper の動作が関係する場合は、
spctl -a -vv <path>を使います。 - エンタイトルメントまたは Info.plist の確認には
plutil -pを使います。
-
問題を分類します。
- 未署名またはアドホック署名
- 署名 ID の誤り
- エンタイトルメントの不一致
- Hardened Runtime の問題
- App Sandbox の問題
- ネストされたコードの署名の問題
- 配布/公証の前提条件に関する問題
-
最小限の修正手順を説明します。
- 何が問題なのかを正確に伝えます。
- 検証または修復に必要な、最短のコマンド一式を示します。
- ローカル開発の問題と配布上の問題を区別します。
便利なコマンド
codesign -dvvv --entitlements :- <app-or-binary>spctl -a -vv <app-or-binary>security find-identity -p codesigning -vplutil -p <path-to-entitlements-or-plist>
注意事項
- 不足しているエンタイトルメントを決してでっち上げないでください。
- 公証とローカルのデバッグ署名を混同しないでください。
- 実際の問題がビルド設定またはプロビジョニングプロファイルにある場合は、その旨を明確に伝えてください。
出力要件
以下を提示します。
- 調査した成果物
- その署名状態
- 問題の正確な分類
- 最小限の修正または検証手順
コメント
Markdown 対応