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

semgrep

並列サブエージェントを使用してコードベースに対してSemgrep静的解析スキャンを実行します。「全ルール実行」(完全なルールセット適用)と「重要項目のみ」(高精度なセキュリティ脆弱性検出)の2つのスキャンモードに対応しており、利用可能な場合はSemgrep Proによるファイル横断的な汚染分析を自動検出して使用します。脆弱性の検出、Semgrepによるセキュリティ監査、バグ発見、静的解析の実施を求められた際に使用してください。複数言語のコードベースに対しては並列ワーカーを起動して処理します。

description の原文を見る

>- Run Semgrep static analysis scan on a codebase using parallel subagents. Supports two scan modes — "run all" (full ruleset coverage) and "important only" (high-confidence security vulnerabilities). Automatically detects and uses Semgrep Pro for cross-file taint analysis when available. Use when asked to scan code for vulnerabilities, run a security audit with Semgrep, find bugs, or perform static analysis. Spawns parallel workers for multi-language codebases.

SKILL.md 本文

Semgrep セキュリティスキャン

自動言語検出、Task サブエージェントによる並列実行、およびマージされた SARIF 出力を備えた Semgrep スキャンを実行します。

必須原則

  1. 常に --metrics=off を使用する — Semgrep はデフォルトでテレメトリを送信します。--config auto もホームに通信します。セキュリティ監査中のデータ漏洩を防ぐため、すべての semgrep コマンドに --metrics=off を含める必要があります。
  2. ユーザーはスキャン計画を承認する必要があります(ステップ3は硬いゲートです) — 元の「このコードベースをスキャンして」というリクエストは承認ではありません。正確なルールセット、ターゲット、エンジン、およびモードを提示し、スキャナーを生成する前に明示的な「yes」/「proceed」を待ってください。
  3. サードパーティ製ルールセットは必須、オプションではありません — Trail of Bits、0xdea、および Decurity ルールは、公式レジストリにない脆弱性を検出します。検出された言語が一致する場合は、常にこれらを含めてください。
  4. すべてのスキャンタスクを1つのメッセージで生成する — 並列実行はコアなパフォーマンス上の利点です。タスクを順次生成しないでください。常に1つのレスポンスで すべてのタスク ツール呼び出しを発行してください。
  5. スキャン前に必ず Semgrep Pro を確認する — Pro はファイル間タイント追跡を有効にし、約250% 多くの真の陽性を検出します。確認をスキップすると、重大なファイル間の脆弱性を静かに見逃すことになります。

使用場面

  • コードベースのセキュリティ監査
  • コードレビュー前の脆弱性検出
  • 既知のバグパターンのスキャン
  • 初回の静的解析

使用しない場面

  • バイナリ解析 → バイナリ解析ツールを使用
  • 既に Semgrep CI を構成している → 既存パイプラインを使用
  • ファイル間解析が必要だが Pro ライセンスがない → CodeQL を代わりに検討
  • カスタム Semgrep ルールを作成 → semgrep-rule-creator スキルを使用
  • 既存ルールを他の言語に移植 → semgrep-rule-variant-creator スキルを使用

出力ディレクトリ

すべてのスキャン結果、SARIF ファイル、および一時データは、単一の出力ディレクトリに保存されます。

  • ユーザーがプロンプトで出力ディレクトリを指定した場合、それを OUTPUT_DIR として使用します。
  • 指定しない場合、デフォルトは ./static_analysis_semgrep_1 です。既に存在する場合は、_2_3 などにインクリメントします。

どちらの場合も、常にディレクトリを作成して mkdir -p でファイルを書き込む前に作成してください。

# 出力ディレクトリを解決
if [ -n "$USER_SPECIFIED_DIR" ]; then
  OUTPUT_DIR="$USER_SPECIFIED_DIR"
else
  BASE="static_analysis_semgrep"
  N=1
  while [ -e "${BASE}_${N}" ]; do
    N=$((N + 1))
  done
  OUTPUT_DIR="${BASE}_${N}"
fi
mkdir -p "$OUTPUT_DIR/raw" "$OUTPUT_DIR/results"

出力ディレクトリはステップ1の開始時に 一度だけ 解決され、その後のすべてのステップ全体で使用されます。

$OUTPUT_DIR/
├── rulesets.txt                 # 承認されたルールセット(ステップ3後にログされる)
├── raw/                         # スキャンごとの生出力(未フィルタリング)
│   ├── python-python.json
│   ├── python-python.sarif
│   ├── python-django.json
│   ├── python-django.sarif
│   └── ...
└── results/                     # 最終的なマージ出力
    └── results.sarif

前提条件

必須: Semgrep CLI(semgrep --version)。インストールされていない場合は、Semgrep インストールドキュメントを参照してください。

オプション: Semgrep Pro — ファイル間タイント追跡、手続き間分析、および追加言語(Apex、C#、Elixir)を有効にします。確認方法:

semgrep --pro --validate --config p/default 2>/dev/null && echo "Pro available" || echo "OSS only"

制限事項: OSS モードはファイル間のデータフロー追跡ができません。Pro モードはファイル間解析のために -j 1 を使用します(ルールセットごとには遅いですが、並列ルールセットが補います)。

スキャンモード

ワークフローのステップ2でモードを選択します。モードはスキャナーフラグと後処理の両方に影響します。

モードカバレッジ報告される検出結果
Run allすべてのルールセット、すべての重大度レベルすべて
Important onlyすべてのルールセット、事前および事後フィルタリングセキュリティ脆弱性のみ、中~高信頼度/影響

Important only は2つのフィルタレイヤーを適用します:

  1. 事前フィルタ: --severity MEDIUM --severity HIGH --severity CRITICAL(CLI フラグ)
  2. 事後フィルタ: JSON メタデータ — category=securityconfidence∈{MEDIUM,HIGH}impact∈{MEDIUM,HIGH} のみを保持

scan-modes.md でメタデータ基準と jq フィルタコマンドを参照してください。

オーケストレーションアーキテクチャ

┌──────────────────────────────────────────────────────────────────┐
│ メインエージェント(このスキル)                                │
│ ステップ1:言語検出 + Pro 可用性確認                            │
│ ステップ2:スキャンモード + ルールセット選択(参照:rulesets.md)│
│ ステップ3:計画 + ルールセット提示、承認取得 [⛔ 硬いゲート]     │
│ ステップ4:並列スキャンタスク生成(承認ルールセット + モード)   │
│ ステップ5:結果をマージして報告                                 │
└──────────────────────────────────────────────────────────────────┘
         │ ステップ4
         ▼
┌─────────────────┐
│ スキャンタスク  │
│ (並列)        │
├─────────────────┤
│ Python スキャナ │
│ JS/TS スキャナ  │
│ Go スキャナ     │
│ Docker スキャナ │
└─────────────────┘

ワークフロー

scan-workflow.md の詳細ワークフローに従ってください。 概要:

ステップアクションゲート主要参照
1出力ディレクトリ解決、言語検出 + Pro 可用性確認Glob を使用、Bash ではなく
2スキャンモード + ルールセット選択rulesets.md
3計画提示、明示的な承認取得⛔ 硬いAskUserQuestion
4並列スキャンタスク生成scanner-task-prompt.md
5結果をマージして報告マージスクリプト(下記)

タスク実行: 呼び出し時、5つのタスクを blockedBy 依存関係で作成します(各ステップが前のものをブロック)。ステップ3は硬いゲートです — ユーザーが明示的に承認した後にのみ完了にマークしてください。

マージコマンド(ステップ5):

uv run {baseDir}/scripts/merge_sarif.py $OUTPUT_DIR/raw $OUTPUT_DIR/results/results.sarif

エージェント

エージェントツール目的
static-analysis:semgrep-scannerBash言語カテゴリの並列 semgrep スキャンを実行

ステップ4で Task サブエージェントを生成するときに、subagent_type: static-analysis:semgrep-scanner を使用します。

却下する正当化

ショートカットなぜ間違いか
「ユーザーがスキャンを求めた、それは承認」元々のリクエスト ≠ 計画承認。計画を提示し、AskUserQuestion を使用して、明示的な「yes」を待つ
「ステップ3タスクはブロッキングなので、ただ完了にマーク」タスク状態について嘘をつくと実行を無効にします。実際の承認後にのみ完了にマークしてください
「既に彼らが何を望んでいるか知っている」仮定により間違ったディレクトリ/ルールセットをスキャンします。確認のため計画を提示してください
「デフォルトルールセットを使用するだけ」ユーザーはスキャン前に正確なルールセットを確認して承認する必要があります
「承認なしに追加ルールセットを追加」同意なしに承認されたリストを変更すると信頼が損なわれます
「サードパーティ製ルールセットはオプション」Trail of Bits、0xdea、Decurity は公式レジストリにない脆弱性を検出します — 必須です
--config auto を使用」メトリクスを送信します。ルールセットの制御が少ないです
「1回に1つのタスク」並列処理を無効にします。常にすべてのタスクを一緒に生成してください
「Pro は遅い、--pro をスキップ」ファイル間解析は真の陽性を250% 多く検出します。時間に見合う価値があります
「Semgrep は GitHub URL をネイティブに処理」非標準YAML を持つリポジトリで URL 処理が失敗します。常に最初にクローンしてください
「クリーンアップはオプション」クローンされたリポジトリはユーザーのワークスペースを汚し、実行全体に蓄積します
. または相対パスをターゲットとして使用」サブエージェントは曖昧性を避けるため絶対パスが必要です
「後からユーザーに出力ディレクトリを選ばせる」出力ディレクトリはステップ1で解決される必要があります。ファイルが作成される前に

リファレンスインデックス

ファイルコンテンツ
rulesets.md完全なルールセットカタログと選択アルゴリズム
scan-modes.md事前/事後フィルタ基準と jq コマンド
scanner-task-prompt.mdスキャナーサブエージェント生成のテンプレート
ワークフロー目的
scan-workflow.md完全な5ステップスキャン実行プロセス

成功基準

  • 出力ディレクトリが解決されている(ユーザー指定またはオート増分デフォルト)
  • すべての生成ファイルが $OUTPUT_DIR 内に保存されている
  • 言語がファイル数とともに検出され、Pro ステータスが確認されている
  • スキャンモードがユーザーによって選択されている(run all / important only)
  • ルールセットに検出されたすべての言語のサードパーティ製ルールが含まれている
  • ユーザーがスキャン計画を明示的に承認している(ステップ3ゲート合格)
  • すべてのスキャンタスクが1つのメッセージで生成され完了している
  • すべての semgrep コマンドが --metrics=off を使用している
  • 承認されたルールセットが $OUTPUT_DIR/rulesets.txt にログされている
  • スキャンごとの生出力が $OUTPUT_DIR/raw/ に保存されている
  • results.sarif$OUTPUT_DIR/results/ に存在し、有効な JSON である
  • Important only モード:マージ前に事後フィルタを適用。未フィルタリング結果は raw/ に保存
  • 重大度とカテゴリ分類による結果サマリーが報告されている
  • クローンされたリポジトリ(存在する場合)が $OUTPUT_DIR/repos/ からクリーンアップされている

ライセンス: 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