skill-security-audit について
インストール済みの Claude と OpenClaw のスキルを対象とするセキュリティ監査スキルです。悪意あるパターンをスキャンし、重要度別に結果を整理して、確認と対処の手順を示します。
主な機能
- 01スキルディレクトリの自動検出とスキャン
- 0213種類のリスクパターンの検出
- 03重要度と確信度による結果表示
- 04指定パスのスキャンと JSON 出力
- 05手動確認とインシデント対応の手順
活用シーン
- 01インストール済みスキルの悪意あるパターン確認
- 02個別スキルディレクトリの詳細監査
- 03JSON 形式でのスキャン結果処理
- 04重大な検出結果に応じた隔離と認証情報の更新
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ smartchainark/ skill-security-audit --skill skill-security-auditインストール後、Claude Code で/skill-security-auditを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdLICENSE.gitignoreblog-post.mdreferences/remediation-guide.mdioc-database.mdthreat-patterns.mdscripts/ioc_database.jsonskill_audit.py詳細
スキルのセキュリティ監査
インストール済みの Claude および OpenClaw スキルに含まれる悪意のあるパターンを検出します。ClawHub プラットフォーム上の 472 件以上の悪意のあるスキルに関する SlowMist の分析に基づいています。
トリガー
ユーザーが次のいずれかに言及した場合に、このスキルを使用します:安全性監査、セキュリティ監査、スキルのチェック、スキルの安全性、スキルのスキャン、サプライチェーンセキュリティ、スキルのスキャン、悪意のあるものの検出、悪意のあるスキル、スキルのセキュリティスキャン
クイック監査ワークフロー
ユーザーからセキュリティ監査を依頼された場合は、次の 5 つの手順に従います。
Step 1: スキャナーを実行する
python3 ~/.claude/skills/skill-security-audit/scripts/skill_audit.py
次の場所にあるすべてのスキルを自動検出してスキャンします:
~/.claude/skills/~/.openclaw/workspace/skills/~/.openclaw/openclaw.json→skills.load.extraDirsにある追加ディレクトリ
Step 2: 結果を分析する
スキャナーの出力を確認します。検出結果はスキルごとにまとめられ、深刻度順に並んでいます:
| 深刻度 | 意味 | 必要な対応 |
|---|---|---|
| CRITICAL | 既知の悪意ある IOC との一致、認証情報の窃取、またはダウンロードして実行する動作 | 直ちに削除し、認証情報をローテーションする |
| HIGH | 難読化、永続化メカニズム、権限昇格 | 手動での確認が必要で、悪意がある可能性が高い |
| MEDIUM | 不審なパターン(Base64、ネットワーク呼び出し、高エントロピー) | コンテキストを確認する。正当な場合もあります |
| LOW | ソーシャルエンジニアリング的な命名、情報提供のみ | 注意喚起として記録する |
Step 3: ユーザーに報告する
次の形式で検出結果を提示します:
## Audit Summary
- Skills scanned: N
- Files scanned: N
- CRITICAL: N | HIGH: N | MEDIUM: N | LOW: N
## Critical/High Findings (if any)
For each finding:
- Skill name and file path
- What was detected and why it's dangerous
- Recommended action
## Medium/Low Findings (if any)
Brief summary, noting which are likely false positives
Step 4: 対応を推奨する
CRITICAL の検出結果の場合:
- インシデント対応手順については
references/remediation-guide.mdを確認する - 認証情報の窃取が検出された場合、ユーザーの認証情報のローテーションを支援する
- 悪意のあるスキルの隔離を支援する
HIGH の検出結果の場合:
- フラグが立てられたコードをユーザーが手動で確認できるよう支援する
- そのパターンがコンテキスト上で正当なものか、悪意のあるものかを判断する
Step 5: フォローアップする
- 特定のスキルを詳しくスキャンすることを提案する:
python3 skill_audit.py --path /path/to/skill references/threat-patterns.mdを使って、検出結果を詳しく説明することを提案する
スキャナーコマンドのリファレンス
# Scan all discovered skills
python3 ~/.claude/skills/skill-security-audit/scripts/skill_audit.py
# Scan a single skill directory
python3 ~/.claude/skills/skill-security-audit/scripts/skill_audit.py --path /path/to/skill
# JSON output (for programmatic use)
python3 ~/.claude/skills/skill-security-audit/scripts/skill_audit.py --json
# Filter by minimum severity
python3 ~/.claude/skills/skill-security-audit/scripts/skill_audit.py --severity high
# Disable colored output
python3 ~/.claude/skills/skill-security-audit/scripts/skill_audit.py --no-color
# Use custom IOC database
python3 ~/.claude/skills/skill-security-audit/scripts/skill_audit.py --ioc-db /path/to/ioc.json
終了コード: 0 = 問題なし、1 = 低/中リスク、2 = 高リスク、3 = 重大、4 = スキャナーエラー
13 の検出カテゴリ
| 検出器 | 検出内容 | 深刻度 |
|---|---|---|
| Base64Detector | 50 文字を超えるエンコード文字列(data:image を除く) | MEDIUM→HIGH |
| DownloadExecDetector | curl|bash、wget|sh、fetch+eval のパターン | CRITICAL |
| IOCMatchDetector | 既知の悪意ある IP、ドメイン、URL、ファイルハッシュ | CRITICAL |
| ObfuscationDetector | リテラル以外の引数を使う eval/exec、16 進数エンコード、chr() の連鎖 | HIGH |
| ExfiltrationDetector | ZIP とアップロードの組み合わせ、機密ディレクトリの列挙 | HIGH |
| CredentialTheftDetector | osascript のパスワードダイアログ、キーチェーンへのアクセス、SSH キーの読み取り | CRITICAL |
| PersistenceDetector | crontab、launchd、systemd、シェルプロファイルの変更 | HIGH |
| PostInstallHookDetector | npm postinstall、pip setup.py cmdclass | HIGH→CRITICAL |
| HiddenCharDetector | ゼロ幅文字、Unicode の双方向オーバーライド | MEDIUM |
| EntropyDetector | 長い行における Shannon エントロピーが 5.5 を超えるもの | MEDIUM |
| SocialEngineeringDetector | crypto/wallet/airdrop/security-update に関連する命名 | LOW→MEDIUM |
| NetworkCallDetector | socket、http、urllib、requests、fetch、curl、wget | MEDIUM |
| PrivilegeEscalationDetector | sudo、chmod 777、setuid、admin グループの変更 | HIGH |
信頼度スコアについて
各検出結果には信頼度スコア(0~100)が含まれます:
- 80-100:本物の脅威である可能性が非常に高い
- 50-79:不審なため、手動での確認を推奨
- 30-49:誤検出の可能性があります。コンテキストを確認してください
- <30:情報提供のみ。信頼度は低い
手動レビューのチェックリスト
スキャナーが何かを検出した場合は、以下も確認してください。
- ソースの確認 — スキルの提供元は公式または検証済みですか? 作成者の評判を確認してください。
- 権限の範囲 — スキルが、記載された機能に必要な範囲を超える権限を要求していませんか?
- スクリプトの監査 — すべての
.sh、.py、.jsファイルを読み、難読化や予期しないネットワーク呼び出しがないか確認してください。 - 依存関係の確認 — スキルにパッケージの依存関係がある場合は、
npm auditまたはpip-auditを実行してください。 - 変更履歴のレビュー — 最近のアップデートで、不審な変更が加えられていませんか?
IOC データベースの更新
IOC データベースは scripts/ioc_database.json にあります。新しいインジケーターを追加するには、次の手順を実行してください。
- 既存のスキーマに従って JSON ファイルを編集します
- スキャナーを実行し、新しい IOC が検出されることを確認します
- 人が読みやすいバージョンとの整合性を保つため、
references/ioc-database.mdを更新します
参考ドキュメント
詳細については、必要に応じて以下のファイルを参照してください。
references/ioc-database.md— コンテキストと出典を含む IOC の全リストreferences/threat-patterns.md— 9 種類の攻撃パターンの詳細(二段階ペイロード、Base64 バックドア、パスワードフィッシングなど)references/remediation-guide.md— インシデント対応の手順(隔離、認証情報のローテーション、永続化のクリーンアップ、報告)