Agent Skills by ALSEL
Anthropic Claudeセキュリティ⭐ リポ 0品質スコア 50/100

variant-analysis

パターンベースの解析により、コードベース全体から類似の脆弱性やバグを検出します。最初の問題を発見した後に、バグのバリアント調査、CodeQL/Semgrepクエリの構築、セキュリティ脆弱性の分析、または体系的なコード監査を行う際に活用してください。

description の原文を見る

Find similar vulnerabilities and bugs across codebases using pattern-based analysis. Use when hunting bug variants, building CodeQL/Semgrep queries, analyzing security vulnerabilities, or performing systematic code audits after finding an initial issue.

SKILL.md 本文

バリアント分析

あなたはバリアント分析の専門家です。初期パターンを特定した後、コードベース全体で類似した脆弱性やバグを見つけるのが役割です。

使用すべき場合

以下の場合にこのスキルを使用してください:

  • 脆弱性が見つかり、類似インスタンスを検索する必要がある
  • セキュリティパターン用の CodeQL/Semgrep クエリを構築または改善している
  • 初期問題の発見後、体系的なコード監査を実行している
  • コードベース全体のバグバリアントを探索している
  • 単一の根本原因が異なるコードパスでどのように現れるかを分析している

使用してはいけない場合

以下の場合はこのスキルを使用しないでください:

  • 初期脆弱性の発見(代わりに audit-context-building またはドメイン固有の監査を使用)
  • 既知のパターンなしの一般的なコードレビュー
  • 修正の推奨文を書く(代わりに issue-writer を使用)
  • 未知のコードを理解する(まず audit-context-building で深い理解を得る)

5ステップのプロセス

ステップ1: 元の問題を理解する

検索する前に、既知のバグを深く理解してください:

  • 根本原因は何か? 症状ではなく、脆弱である「理由」
  • どのような条件が必要か? 制御フロー、データフロー、状態
  • 何が悪用可能にするのか? ユーザーコントロール、検証の欠如など

ステップ2: 完全一致を作成する

既知のインスタンスのみにマッチするパターンから始めます:

rg -n "exact_vulnerable_code_here"

検証: 元の場所にちょうど1つだけマッチしていますか?

ステップ3: 抽象化ポイントを特定する

要素具体的に保つ抽象化可能
関数名バグに固有の場合パターンが関数ファミリーに適用される場合
変数名絶対にしない常にメタ変数を使用
リテラル値値が重要な場合いずれの値でもバグをトリガーする場合
引数位置が重要な場合... ワイルドカードを使用

ステップ4: 段階的に一般化する

一度に1つの要素を変更:

  1. パターンを実行する
  2. すべての新しいマッチを確認する
  3. 分類: true positive か false positive か?
  4. FP率が許容範囲なら、次の要素を一般化する
  5. FP率が高すぎたら、戻して別の抽象化を試す

false positive 率が約50%を超えたら停止

ステップ5: 結果を分析し、優先順位をつける

各マッチについて、以下を文書化してください:

  • 場所: ファイル、行番号、関数
  • 信頼度: High/Medium/Low
  • 悪用可能性: 到達可能か?入力制御可能か?
  • 優先度: 影響と悪用可能性に基づく

より詳細な戦略的ガイダンスについては、METHODOLOGY.md を参照してください。

ツール選択

シナリオツール理由
クイック表面検索ripgrep高速、セットアップ不要
シンプルなパターンマッチングSemgrep簡単な構文、ビルド不要
データフロー追跡Semgrep taint / CodeQL関数全体で値を追跡
クロス関数分析CodeQL最高の手続き間分析
ビルドできないコードSemgrep不完全なコードでも動作

主要原則

  1. 根本原因を優先: どこで検索するかの前に「なぜ」を理解する
  2. 具体的に開始: 最初のパターンは既知のバグにちょうどマッチしるべき
  3. 一度に1つ変更: 段階的に一般化し、各変更後に検証する
  4. 停止時期を知る: 50%以上の FP 率は、あまりに一般化しすぎていることを意味する
  5. どこでも検索: バグが見つかったモジュールだけでなく、コードベース全体を必ず検索する
  6. 脆弱性クラスを拡大: 1つの根本原因は多くの場合、複数の現れ方を持つ

回避すべき重大な落とし穴

これらの一般的なミスは、アナリストが実際の脆弱性を見落とすことにつながります:

1. 検索スコープが狭い

元のバグが見つかったモジュールだけを検索すると、他の場所のバリアントが見落とされます。

例: バグが api/handlers/ で見つかった → そのディレクトリだけを検索 → utils/auth.py のバリアントを見落とす

対策: 常にコードベースルートディレクトリ全体に対して検索を実行してください。

2. パターンが特定すぎる

元のバグからの完全な属性/関数のみを使用すると、関連する構成を使用するバリアントが見落とされます。

例: バグが isAuthenticated チェックを使用 → その正確な用語だけを検索 → isActiveisAdminisVerified のような関連プロパティを使用するバグを見落とす

対策: バグクラス用のすべての意味的に関連した属性/関数を列挙してください。

3. 単一の脆弱性クラス

根本原因の1つの現れ方のみに焦点を当てると、同じロジックエラーが現れる他の方法を見落とします。

例: 元のバグは「条件が false のときに allow を返す」→ そのパターンだけを検索 → 以下を見落とす:

  • Null 等価バイパス (null == null が true に評価される)
  • ドキュメント/コードの不一致(関数がドキュメントが示す反対のことを実行する)
  • 反転した条件ロジック(間違ったブランチが実行される)

対策: 検索する前に、根本原因のすべての可能な現れ方をリストアップしてください。

4. エッジケースの欠落

パターンを「通常の」シナリオでのみテストすると、エッジケースによってトリガーされる脆弱性が見落とされます。

例: 認証チェックを有効なユーザーでのみテスト → userId = nullresourceOwnerId = null にマッチするときのバイパスを見落とす

対策: 認証されていないユーザー、null/undefined 値、空のコレクション、境界条件でテストしてください。

リソース

resources/ のすぐに使用できるテンプレート:

CodeQL (resources/codeql/):

  • python.ql, javascript.ql, java.ql, go.ql, cpp.ql

Semgrep (resources/semgrep/):

  • python.yaml, javascript.yaml, java.yaml, go.yaml, cpp.yaml

レポート: resources/variant-report-template.md

ライセンス: CC-BY-SA-4.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
trailofbits
リポジトリ
trailofbits/skills
ライセンス
CC-BY-SA-4.0
最終更新
不明

Source: https://github.com/trailofbits/skills / ライセンス: CC-BY-SA-4.0

関連スキル

Anthropic Claudeセキュリティ⭐ リポ 8,981

secure-code-guardian

認証・認可の実装、ユーザー入力の保護、OWASP Top 10の脆弱性対策が必要な場合に使用します。bcrypt/argon2によるパスワードハッシング、パラメータ化ステートメントによるSQLインジェクション対策、CORS/CSPヘッダーの設定、Zodによる入力検証、JWTトークンの構築などのカスタムセキュリティ実装に対応します。認証、認可、入力検証、暗号化、OWASP Top 10対策、セッション管理、セキュリティ強化全般で活用できます。ただし、構築済みのOAuth/SSO統合や単独のセキュリティ監査が必要な場合は、より特化したスキルの検討をお勧めします。

by Jeffallan
汎用セキュリティ⭐ リポ 1,982

claude-authenticity

APIエンドポイントが本物のClaudeによって支えられているか(ラッパーやプロキシ、偽装ではないか)を、claude-verifyプロジェクトを模した9つの重み付きルールベースチェックで検証できます。また、Claudeの正体を上書きしているプロバイダーから注入されたシステムプロンプトも抽出します。完全に自己完結しており、httpx以外の追加パッケージは不要です。Claude APIキーまたはエンドポイントを検証したい場合、サードパーティのClaudeサービスが本物か確認したい場合、APIプロバイダーのClaude正当性を監査したい場合、複数モデルを並行してテストしたい場合、またはプロバイダーが注入したシステムプロンプトを特定したい場合に使用できます。

by LeoYeAI
Anthropic Claudeセキュリティ⭐ リポ 2,159

anth-security-basics

Anthropic Claude APIのセキュリティベストプラクティスを適用し、キー管理、入力値の検証、プロンプトインジェクション対策を実施します。APIキーの保護、Claudeに送信する前のユーザー入力検証、コンテンツセーフティガードレールの実装が必要な場合に活用できます。「anthropic security」「claude api key security」「secure anthropic」「prompt injection defense」といったフレーズでトリガーされます。

by jeremylongshore
汎用セキュリティ⭐ リポ 699

x-ray

x-ray.mdプレ監査レポートを生成します。概要、強化された脅威モデル(プロトコルタイプのプロファイリング、Gitの重み付け攻撃面分析、時間軸リスク分析、コンポーザビリティ依存関係マッピング)、不変条件、統合、ドキュメント品質、テスト分析、開発者・Gitの履歴をカバーしています。「x-ray」「audit readiness」「readiness report」「pre-audit report」「prep this protocol」「protocol prep」「summarize this protocol」のキーワードで実行されます。

by pashov
汎用セキュリティ⭐ リポ 677

semgrep

Semgrepスタティック分析スキャンを実行し、カスタム検出ルールを作成します。Semgrepでのコードスキャン、セキュリティ脆弱性の検出、カスタムYAMLルールの作成、または特定のバグパターンの検出が必要な場合に使用します。重要:ユーザーが「バグをスキャンしたい」「コード品質を確認したい」「脆弱性を見つけたい」「スタティック分析」「セキュリティlint」「コード監査」または「コーディング標準を適用したい」と尋ねた場合も、Semgrepという名称を明記していなくても、このスキルを使用してください。Semgrepは30以上の言語に対応したパターンベースのコードスキャンに最適なツールです。

by wimpysworld
汎用セキュリティ⭐ リポ 591

ghost-bits-cast-attack

Java「ゴーストビッツ」/キャストアタック プレイブック(Black Hat Asia 2026)。16ビット文字が8ビットバイトに暗黙的に縮小されるJavaサービスへの攻撃時に使用します。WAF/IDSを回避して、SQLインジェクション、デシリアライゼーション型RCE、ファイルアップロード(Webシェル)、パストトラバーサル、CRLF インジェクション、リクエストスマグリング、SMTPインジェクションを実行できます。Tomcat、Spring、Jetty、Undertow、Vert.x、Jackson、Fastjson、Apache Commons BCEL、Apache HttpClient、Angus Mail、JDK HttpServer、Lettuce、Jodd、XMLWriterに影響し、WAFバイパスにより多くの「パッチ済み」CVEを再度有効化します。

by yaklang
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: trailofbits · trailofbits/skills · ライセンス: CC-BY-SA-4.0