| name | repo-security-auditor |
| description | GitHubリポジトリやパッケージ導入前の総合セキュリティ評価ガイド。多層防御フレームワークに基づき、開発者の信頼性、コードの悪意あるパターン(Semgrepロジック)、インフラ権限、サプライチェーン成熟度を定量的・定性的に監査します。 |
Repository Security Auditor (repo-security-auditor)
GitHubリポジトリやnpm/PyPIパッケージ、Agent Skillをプロジェクトに導入する前に、その安全性と信頼性を包括的に監査し、「攻撃者の意図」を見抜くための専門スキルです。
本チェックリストは、単純な脆弱性スキャンを超え、多層防御(Defense in Depth)の観点から厳格なリスク評価を行います。
監査チェックリスト
以下のカテゴリ(A〜E)について検証を行い、レポートを作成してください。
カテゴリA:信頼性(Reputation & Metadata)
開発者とプロジェクトの社会的信頼性を評価し、偽装や即席のアカウントを排除します。
カテゴリB:コードの健全性・静的振る舞い分析(Static Behavioral Analysis)
ソースコード解析を行い、悪意ある「意図」と「挙動」を特定します。Semgrep等のSASTツールのロジックを応用してチェックします。
カテゴリC:Action & インフラ(CI/CD & Permissions)
CI/CD環境(GitHub Actions)の堅牢性を評価し、パイプライン攻撃を防ぎます。
カテゴリD:サプライチェーンの完全性(Supply Chain Integrity)
プロジェクトの構成管理とガバナンス体制を評価します。
カテゴリE:ランタイム隔離(Runtime Isolation)
CRITICAL または HIGH リスクの可能性があるコード、あるいは信頼性が完全に確立されていないコードを実行/テストする必要がある場合、以下の環境での実行を強く推奨します。
- gVisor / Firecracker: コンテナをカーネルレベルで隔離する技術を使用する。
- Ephemeral Environments: 実行ごとに破棄される使い捨てのサンドボックス環境を使用する。
判定ロジック(重み付けアルゴリズム)
-
CRITICAL (即時遮断 - 導入禁止)
- 難読化コード + 外部への不正通信の痕跡がある。
- 環境変数を外部送信(Exfiltration)するコードが含まれている。
- ライフサイクルスクリプトで不審なOSコマンド(
/etc/shadowへのアクセス等)が実行されている。
-
HIGH (詳細レビュー必須 / 原則禁止)
- アカウント作成から48時間未満。
pull_request_target の不適切な使用によるインジェクションリスク。
- MFA無効化や特権昇格を試みる挙動の痕跡。
- 対処: セキュリティ専門家によるコード全行レビュー合格まで導入保留。
-
MEDIUM (要注意 - 条件付き導入)
- OSSF Scorecard < 7.0。
- ロックファイルが存在しない。
- ActionがSHAピン留めされていない。
- 対処: リスクを受容した上で、フォークして修正版を使用するか、隔離環境(gVisor等)でのみ実行する。
-
LOW (導入可)
- 上記の重大なリスクがなく、開発プロセスが透明で健全。
出力フォーマット
# セキュリティ監査レポート: [リポジトリ名/パッケージ名]
## 判定: [CRITICAL / HIGH / MEDIUM / LOW]
## サマリー
(判定理由の要約)
## 多層防御チェック結果
### A. 信頼性 (Reputation)
- [ ] アカウント成熟度 (>48h): ...
- [ ] Commits/Stars整合性: ...
### B. コード健全性 (behavioral Analysis)
- [ ] Dynamic Execution (eval/exec): ...
- [ ] Obfuscation (atob/hex): ...
- [ ] Install Scripts: ...
### C. インフラ (CI/CD)
- [ ] Action Injection (pr_target): ...
- [ ] SHA Pinning: ...
### D. サプライチェーン (Integrity)
- [ ] Lockfiles: ...
- [ ] OSSF Scorecard (Target: 7.0+): ...
## 推奨アクション & ポリシー適用
(導入可否、--ignore-scriptsの使用推奨、隔離環境の利用など)