vulnerability-scanner
高度な脆弱性分析の原則に基づき、OWASP 2025基準・サプライチェーンセキュリティ・攻撃対象領域のマッピング・リスク優先順位付けを実施します。セキュリティ診断やコードレビュー時に自動的にトリガーされ、潜在的な脆弱性を体系的に洗い出して対策の優先度を明確化します。
description の原文を見る
Advanced vulnerability analysis principles. OWASP 2025, Supply Chain Security, attack surface mapping, risk prioritization.
SKILL.md 本文
脆弱性スキャナー
攻撃者のように考え、専門家のように守る。2025年の脅威ランドスケープに対する認識。
🔧 ランタイムスクリプト
自動検証を実行:
| スクリプト | 目的 | 使用方法 |
|---|---|---|
scripts/security_scan.py | セキュリティ原則の適用を検証 | python scripts/security_scan.py <project_path> |
📋 参考ファイル
| ファイル | 目的 |
|---|---|
checklists.md | OWASP Top 10、認証、API、データ保護チェックリスト |
1. セキュリティ専門家のマインドセット
コア原則
| 原則 | 応用 |
|---|---|
| 侵害を想定 | 攻撃者がすでに内部にいるとして設計 |
| ゼロトラスト | 信頼するな、常に検証せよ |
| 多層防御 | 複数層、単一障害点なし |
| 最小権限 | 必要最小限のアクセスのみ |
| 失敗は安全に | エラーの場合、アクセスを拒否 |
脅威モデリングの質問
スキャン前に確認すること:
- 何を保護しているか?(資産)
- 誰が攻撃するか?(脅威行為者)
- どのように攻撃するか?(攻撃ベクトル)
- 影響は何か?(ビジネスリスク)
2. OWASP Top 10:2025
リスク分類
| ランク | カテゴリ | 検討事項 |
|---|---|---|
| A01 | 壊れたアクセス制御 | 誰が何にアクセスできるか?IDOR、SSRF |
| A02 | セキュリティ設定ミス | デフォルト、ヘッダ、公開されたサービス |
| A03 | ソフトウェアサプライチェーン 🆕 | 依存関係、CI/CD、ビルド整合性 |
| A04 | 暗号化の失敗 | 弱い暗号化、露出したシークレット |
| A05 | インジェクション | ユーザー入力→システムコマンド |
| A06 | 不安全な設計 | 欠陥のあるアーキテクチャ |
| A07 | 認証の失敗 | セッション、認証情報管理 |
| A08 | 整合性の失敗 | 署名なしアップデート、改ざんされたデータ |
| A09 | ロギングとアラート | ブラインドスポット、監視なし |
| A10 | 例外的条件 🆕 | エラーハンドリング、オープンに失敗する状態 |
2025年の主な変更
2021 → 2025 の変化:
├── SSRF が A01 (アクセス制御) に統合
├── A02 昇格 (クラウド/コンテナ設定)
├── A03 新規: サプライチェーン (主要フォーカス)
├── A10 新規: 例外的条件
└── フォーカスの変化: 根本原因 > 症状
3. サプライチェーンセキュリティ (A03)
攻撃面
| ベクトル | リスク | 確認すべき質問 |
|---|---|---|
| 依存関係 | 悪意のあるパッケージ | 新しい依存関係を監査しているか? |
| ロックファイル | 整合性攻撃 | コミットされているか? |
| ビルドパイプライン | CI/CD 侵害 | 誰が変更できるか? |
| レジストリ | タイポスクワッティング | 検証済みソースか? |
防御原則
- パッケージ整合性を検証 (チェックサム)
- バージョンを固定し、アップデートを監査
- 重要な依存関係にはプライベートレジストリを使用
- アーティファクトに署名し検証
4. 攻撃面マッピング
マッピング対象
| カテゴリ | 要素 |
|---|---|
| エントリーポイント | API、フォーム、ファイルアップロード |
| データフロー | 入力→処理→出力 |
| 信頼境界 | 認証/認可がチェックされる場所 |
| 資産 | シークレット、PII、ビジネスデータ |
優先順位付けマトリックス
リスク = 尤度 × 影響
高影響 + 高尤度 → 緊急
高影響 + 低尤度 → 高
低影響 + 高尤度 → 中
低影響 + 低尤度 → 低
5. リスク優先順位付け
CVSS + コンテキスト
| 要因 | 重み | 質問 |
|---|---|---|
| CVSS スコア | ベース深刻度 | 脆弱性の深刻度はどの程度か? |
| EPSS スコア | 悪用の可能性 | 悪用されているか? |
| 資産価値 | ビジネスコンテキスト | リスクにはどのような影響があるか? |
| 露出度 | 攻撃面 | インターネット公開か? |
優先順位付けの決定ツリー
現在、積極的に悪用されているか?(EPSS >0.5)
├── YES → 緊急: 直ちに対応
└── NO → CVSS を確認
├── CVSS ≥9.0 → 高
├── CVSS 7.0-8.9 → 資産価値を検討
└── CVSS <7.0 → 後で予定
6. 例外的条件 (A10 - 新規)
オープンに失敗 vs 安全に失敗
| シナリオ | オープンに失敗 (悪い) | 安全に失敗 (良い) |
|---|---|---|
| 認証エラー | アクセス許可 | アクセス拒否 |
| 解析失敗 | 入力を受け入れ | 入力を拒否 |
| タイムアウト | 永遠に再試行 | 制限して中止 |
チェック対象
- すべてをキャッチして無視する例外ハンドラ
- セキュリティ操作でのエラーハンドリング欠落
- 認証/認可でのレースコンディション
- リソース枯渇シナリオ
7. スキャンの方法論
フェーズベースのアプローチ
1. 偵察
└── ターゲットを理解
├── テクノロジースタック
├── エントリーポイント
└── データフロー
2. 検出
└── 潜在的な問題を特定
├── 設定レビュー
├── 依存関係分析
└── コードパターン検索
3. 分析
└── 検証と優先順位付け
├── 誤検知の排除
├── リスク採点
└── 攻撃チェーンマッピング
4. レポート
└── 実行可能な知見
├── 明確な再現手順
├── ビジネスインパクト
└── 修復ガイダンス
8. コードパターン分析
高リスクパターン
| パターン | リスク | 探すべき箇所 |
|---|---|---|
| クエリでの文字列連結 | インジェクション | "SELECT * FROM " + user_input |
| 動的コード実行 | RCE | eval()、exec()、Function() |
| 安全でないデシリアライゼーション | RCE | pickle.loads()、unserialize() |
| パス操作 | トラバーサル | ファイルパスのユーザー入力 |
| セキュリティ無効化 | 各種 | verify=False、--insecure |
シークレットパターン
| タイプ | インジケータ |
|---|---|
| API キー | api_key、apikey、高エントロピー |
| トークン | token、bearer、jwt |
| 認証情報 | password、secret、key |
| クラウド | AWS_、AZURE_、GCP_ プレフィックス |
9. クラウドセキュリティに関する考慮事項
共有責任モデル
| レイヤ | あなたの責任 | プロバイダの責任 |
|---|---|---|
| データ | ✅ | ❌ |
| アプリケーション | ✅ | ❌ |
| OS/ランタイム | 場合による | 場合による |
| インフラストラクチャ | ❌ | ✅ |
クラウド固有のチェック
- IAM: 最小権限が適用されているか?
- ストレージ: パブリックバケットはないか?
- ネットワーク: セキュリティグループは厳しくされているか?
- シークレット: シークレット管理を使用しているか?
10. アンチパターン
| ❌ しない | ✅ する |
|---|---|
| 理解なしでスキャン | 最初に攻撃面をマッピング |
| すべての CVE にアラート | 悪用可能性 + 資産で優先順位付け |
| 誤検知を無視 | 検証済みベースラインを維持 |
| 症状のみを修正 | 根本原因に対処 |
| デプロイ前に一度スキャン | 継続的なスキャン |
| 第三者の依存関係を盲目的に信頼 | 整合性を検証し、コードを監査 |
11. レポート原則
知見の構造
各知見は以下に答えるべき:
- 何か? - 脆弱性の明確な説明
- どこか? - 正確な位置 (ファイル、行、エンドポイント)
- なぜか? - 根本原因の説明
- 影響は? - ビジネスの結果
- どのように修正するか? - 具体的な修復方法
深刻度分類
| 深刻度 | 基準 |
|---|---|
| 緊急 | RCE、認証バイパス、大規模データ露出 |
| 高 | データ露出、権限昇格 |
| 中 | 限定的なスコープ、条件が必要 |
| 低 | 情報提供、ベストプラクティス |
覚えておく: 脆弱性スキャンは問題を見つけます。専門家の思考が重要なものを優先順位付けします。常に問いかけてください: 「攻撃者はこれを使って何をするか?」
使用時期
このスキルは、上記の概要で説明されたワークフローまたはアクションを実行するために適用できます。
制限事項
- このスキルは、上記で説明されたスコープに明確に合致するタスクの場合にのみ使用してください。
- 環境固有の検証、テスト、または専門家による見直しの代替として出力を扱わないでください。
- 必要な入力、権限、安全性の境界、または成功基準が不足している場合は、停止して明確化を求めてください。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- sickn33
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/sickn33/antigravity-awesome-skills / ライセンス: MIT
関連スキル
agent-browser
AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。
anyskill
AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。
engram
AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。
skyvern
AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。
pinchbench
PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。
openui
OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。