macos-security について
macos-securityは、macOSのセキュリティ確認とシステム強化を行うAIエージェント向けスキルです。macOSコマンドを使い、マルウェアスキャン、権限管理、署名検証、隔離属性の処理、ログ監査を扱います。
主な機能
- 01XProtectによるマルウェアスキャン
- 02MRTによる脅威の除去
- 03TCC権限の管理
- 04隔離属性の処理
- 05コード署名の検証
- 06セキュリティログの監査
活用シーン
- 01デプロイ前のアプリ確認
- 02カメラや連絡先へのアプリ権限の確認
- 03不審なファイルのスキャンとログ確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ alphaonedev/ openclaw-graph --skill macos-securityインストール後、Claude Code で/macos-securityを入力して読み込まれたか確認します。
詳細
macos-security
目的
このスキルを使用すると、AI エージェントがマルウェア検出用の XProtect、削除用の MRT、プライバシー権限用の TCC、隔離属性、コード署名の検証、セキュリティ監査など、macOS のセキュリティ機能を管理できます。macOS システムを脅威から保護し、コンプライアンスを確保するために使用します。
使用するタイミング
システムの強化、アプリのデプロイ前のチェック、プライバシー監査、マルウェアスキャンの際にこのスキルを適用します。新しい macOS のセットアップやソフトウェアのインストール時、またはアプリへの不正アクセスや未署名バイナリなどのセキュリティ問題のトラブルシューティングに使用します。
主な機能
- 最新の定義を照会してファイルをスキャンし、XProtect でマルウェアを検出します。
- MRT を実行して、既知の脅威をシステムから削除します。
- TCC 権限を管理し、カメラや連絡先などの機密データへのアプリのアクセスを制御します。
- ダウンロードしたファイルの隔離フラグを確認して削除し、実行を許可します。
- アプリのコード署名を検証して、信頼できる開発元によるものか確認します。
- システムログを使用してセキュリティ監査を実施し、潜在的な侵害を特定します。
使用パターン
macOS アプリの VM プロビジョニングや CI/CD パイプラインなど、自動化されたシステム強化のスクリプトでこのスキルを呼び出します。インシデント対応で事後的に使用したり、スケジュールされたタスクで予防的に使用したりできます。AI エージェントからは、macOS 固有のコマンドを処理する関数ラッパーを介して呼び出し、必要に応じて sudo で昇格した権限を確保します。基本パターンは、まずセキュリティ状態を確認してから修正を適用することです。
一般的なコマンド/API
セキュリティタスクには、以下の macOS CLI コマンドを使用します。すべて管理者権限が必要です。終了コードでエラーを確認してください。
- XProtect スキャン:
softwareupdate --listでアップデートを確認してから、xprotect scan /path/to/fileを実行します(内部ツール経由)。 使用例:system("softwareupdate --list"); if (exit_code != 0) { handle_error("Update check failed"); } - MRT による削除:
/usr/libexec/MRTConfigData removeを実行して、マルウェアの削除を開始します。 使用例:system("/usr/libexec/MRTConfigData remove"); print("MRT executed; check logs for results."); - TCC 権限:
tccutil reset <service> <app>でリセットするか、tccutil set <service> <app> allowで許可します。 使用例:カメラへのアクセスにはtccutil set Camera com.example.app allowを使用します。 - 隔離の処理:
xattr -l /path/to/fileで確認し、xattr -d com.apple.quarantine /path/to/fileで削除します。 使用例:xattr -l /path/to/file; if (grep("com.apple.quarantine")) { system("xattr -d com.apple.quarantine /path/to/file"); } - コード署名の検証:
codesign -vvv --verify --strict /path/to/appを実行して署名を確認します。 使用例:詳細を確認するにはcodesign -dvvv /Applications/MyApp.appを使用します。 - セキュリティ監査:
log show --predicate 'subsystem == "com.apple.securityd"' --last 1hでログを照会します。 設定形式:logコマンドで述語を使用して絞り込みます。たとえば、--style jsonで JSON 形式の出力を指定します。
API キーが必要な場合(サードパーティ製セキュリティツールなど)は、スクリプト内で $SECURITY_API_KEY のような環境変数を使用します。例:curl -H "Authorization: Bearer $SECURITY_API_KEY" https://api.example.com/scan
統合に関する注意事項
コマンドを AI エージェントの関数でラップして統合します。たとえば、Python の subprocess を使用して tccutil を呼び出します。自動化には、Jamf や MDM API などのツールを組み合わせます。エージェントが十分な権限で実行されるようにしてください。必要に応じて、ユーザーへの確認に osascript を使用します。/etc/authorization などの設定ファイルを編集して TCC ポリシーを設定できますが、事前にバックアップしてください。中断を避けるため、統合はサンドボックス化された macOS 環境でテストします。
エラー処理
常にコマンドの終了コードを確認してください。たとえば、codesign がゼロ以外を返した場合は、エラーを記録し、再署名を提案します。特定の文字列が出力に含まれているか解析します。たとえば、tccutil が "Access denied" で失敗した場合は、管理者権限への昇格を求めます。スクリプトでは try-catch を使用します。
try {
system("tccutil set Camera com.example.app allow");
} catch (e) {
if (e.includes("permission")) { system("sudo -u root tccutil set Camera com.example.app allow"); }
}
よくあるエラーには、権限の問題(sudo を使用)、ファイルが見つからない問題(パスを確認)、XProtect が古い問題(先にアップデートを実行)があります。監査のため、すべてのエラーを /var/log/securityd.log に記録します。
具体的な使用例
-
マルウェアのスキャンと削除:不審なファイルをスキャンして脅威を削除するには:
- まず、XProtect を更新します:
softwareupdate --install --all。 - 次に、MRT を実行します:
system("/usr/libexec/MRTConfigData remove")。 - 確認します:
log show --predicate 'eventMessage contains "MRT"'。 これにより、システムがクリーンな状態になります。エラーが発生した場合は、MRT が利用可能か確認してください。
- まず、XProtect を更新します:
-
アプリの TCC 権限管理:新しいアプリにカメラへのアクセスを許可するには:
- 現在の状態を確認します:
tccutil reset Camera com.example.app。 - 権限を付与します:
tccutil set Camera com.example.app allow。 - テストします:アプリを実行し、アクセスできることを確認します。
エラーが発生した場合は、
sudoを使用し、監査用に操作を記録してください。
- 現在の状態を確認します:
グラフの関係
- 関連:macos-filesystem(隔離されたファイルの処理用)
- 依存:macos-networking(ネットワークログを含むセキュリティ監査用)
- 競合:なし
- 使用元:general-security(macOS 固有の強化を行うサブシステムとして)