
macOS 向けの Bash ベースのセキュリティ監査ツールキットです。CIS ベンチマークの推奨事項に基づいてシステムの強化設定をチェックし、JSON/HTML レポートを生成します。
作成者: Bartłomiej Pogwizd · https://www.youtube.com/@pTech-pl
このツールキットは 2 つのスクリプトで構成されています。
auditMAC.sh — 完全なセキュリティ監査を実行し、結果を端末と TSV データファイルに出力します。generate_reports.sh — TSV データファイルを JSON レポートとスタイル付き HTML レポートに変換します。
sudo アクセス (いくつかのチェックに必要)chmod +x auditMAC.sh
./auditMAC.sh
スクリプトは以下の処理を行います。
sudo パスワードの入力を求めます (ローカルでのみ使用、保存はされません)ファイル (auditMAC.sh と generate_reports.sh) を同じフォルダに置いてください。 json ファイルと html ファイルはそのフォルダに自動生成されます。
カレントディレクトリに次の 2 つのファイルが生成されます。
macos_security_report.jsonmacos_security_report.html========================================
macOS Security / Audit Report
Author: Bartłomiej Pogwizd / youtube.com/pTech
Version: 2.5
========================================
System Security
----------------------------------------
Firewall OK Enabled
SIP OK Enabled
FileVault FAIL Disabled
Gatekeeper OK Enabled
...
Security Score 72/100
Risk Level: Medium
Passed 31
Warnings 4
Failures 8
ステータス凡例:
| ステータス | 意味 |
|---|---|
OK | 設定が推奨値に一致 |
WARN | 設定が判定できなかった、またはグレーゾーン |
FAIL | 設定が推奨値に一致しない |
INFO |
スコアは次のように計算されます。
score = (passed × 100 + warnings × 50) / total_checks
| スコア | リスクレベル |
|---|---|
| 80–100 | 🟢 低 |
| 50–79 | 🟡 中 |
| 0–49 | 🔴 高 |
HTML/JSON レポートのすべてのチェックには CIS macOS ベンチマーク ID (例: ファイアウォールは 2.1.1、FileVault は 2.2.1) がタグ付けされています。これにより、公式の CIS ドキュメントと照らし合わせて修復手順を簡単に確認できます。
sudo は特権が必要なコマンド (例: fdesetup、systemsetup、launchctl) でのみ使用されます/tmp に umask 077 で作成され、終了時 (エラーや Ctrl+C を含む) には常にクリーンアップされますINFO としてフラグが付けられ、手動確認の指示が表示されますMIT — 自由に使用、変更、共有してください。
プルリクエストや issue を歓迎します。お使いの macOS バージョンでチェック結果が正しくない場合は、issue を作成し、sw_vers の出力を含めてください。
| カテゴリ | チェック項目 |
|---|
| システムセキュリティ | Firewall、SIP、Secure Boot、Gatekeeper、FileVault、ファームウェアパスワード、Authenticated Root |
| プライバシー | 診断データの送信、Siri データ共有、位置情報サービス、AirPlay レシーバー、画面ロック、ゲストアカウント、自動ログイン |
| アップデートと時刻 | 保留中のアップデート、自動ダウンロード、重要なアップデート、ネットワークタイム、Wake-on-Network |
| 共有とリモートアクセス | 画面共有、SMB、プリンタ共有、リモートログイン、リモート管理、AirDrop、Handoff |
| システムサービス | tftpd、nfsd、httpd、uucp、sshd |
| ユーザーと権限 | 管理者アカウント、現在のユーザーの役割、Root アカウントの状態 |
| ネットワークとポート | リッスン中のポート (IPv4/IPv6) |
| 起動項目 | LaunchAgents と LaunchDaemons (システムおよびユーザー) |
| SSH 強化 | PermitRootLogin、PasswordAuthentication、PubkeyAuthentication、AllowUsers |
| システム拡張 | アクティブ/待機中/終了したカーネル拡張機能 |
| 情報のみ、合否判定なし |