security-patterns
OWASP Top 10やプログラミング言語固有の脆弱性を含む、セキュリティ脆弱性検出パターンを提供します。修復ガイダンスも含まれており、コードのセキュリティ問題をレビューする際、セキュリティ監査を実施する際、または認証・認可機能を実装する際に活用できます。
description の原文を見る
Security vulnerability detection patterns including OWASP Top 10, language-specific vulnerabilities, and remediation guidance. Load when reviewing code for security issues, conducting audits, or implementing authentication/authorization.
SKILL.md 本文
セキュリティパターン
セキュリティ脆弱性を体系的に特定し、修復するためのアプローチです。以下の場合にこのスキルを使用してください:
- コードのセキュリティ脆弱性をレビューする
- セキュリティ監査を実施する
- 認証、認可、またはデータ処理を実装する
- サードパーティ依存関係を評価する
OWASP Top 10 (2021) クイック検出
A01: 不適切なアクセス制御
検出パターン:
- エンドポイント上の認可チェックの欠落
- 所有権検証なしの直接オブジェクト参照
- パストラバーサル: ファイルパス内の
../ Access-Control-Allow-Origin: *を含む CORS- 署名検証なしの JWT
修復方法:
- コントローラ/サービスレイヤーに RBAC/ABAC を実装する
- リソースアクセスのたびに所有権を検証する
- ファイルパスにはアローリストを使用する
- CORS を特定のオリジンで設定する
A02: 暗号化の失敗
検出パターン:
- パスワードに MD5/SHA1 を使用
- 暗号化キーのハードコード
- 機密データに HTTP を使用
- 脆弱な乱数生成:
Math.random(),rand() - 保存時の暗号化の欠落
修復方法:
- パスワードには bcrypt/argon2 を使用 (コスト ≥12)
- 外部キー管理 (KMS, Vault) を使用する
- すべてに TLS 1.2 以上を使用する
- 暗号化 RNG のみを使用する
A03: インジェクション
検出パターン:
- SQL/NoSQL クエリの文字列連結
- エスケープなしの HTML テンプレートリテラル
- ユーザー入力を含む
eval(),exec(),Function() - 文字列補間を含むシェルコマンド
- ユーザー入力を含む LDAP/XPath クエリ
修復方法:
- 常にパラメータ化クエリを使用する
- コンテキストに応じた出力エンコーディング
- 信頼できない入力を eval しない
- ORM/クエリビルダーを使用する
A04: 不安全な設計
検出パターン:
- レート制限なしのビジネスロジック
- アカウントロックアウトの欠落
- 認証に CAPTCHA がない
- 制限なしのリソース割り当て
- 脅威モデルドキュメントの欠落
修復方法:
- すべての機密操作でレート制限を実装する
- 段階的な遅延を実装する
- すべての割り当てに制限を設ける
- 信頼境界をドキュメント化する
A05: セキュリティ設定の誤り
検出パターン:
- 設定内のデフォルト認証情報
- ユーザーへの詳細エラーメッセージ
- 本番環境でのデバッグモード
- 不要なサービスの有効化
- セキュリティヘッダーの欠落
修復方法:
- 自動化されたハードニングスクリプト
- 外部への汎用エラーメッセージ
- 本番環境でデバッグを無効化する
- 攻撃面を最小化する
A06: 脆弱なコンポーネント
検出パターン:
- 既知の CVE を持つ依存関係
- 古いフレームワークバージョン
- 放棄されたパッケージ (2年以上更新がない)
- シングルメンテナーの重要な依存関係
修復方法:
- 自動化された依存関係スキャン
- 定期的な更新スケジュール
- 採用前にパッケージヘルスを評価する
- ロックファイルで特定バージョンをピン留めする
A07: 認証の失敗
検出パターン:
- 弱いパスワード要件
- ブルートフォース保護の欠落
- URL 内のセッショントークン
- セッションタイムアウトなし
- ログ内の平文パスワード
修復方法:
- 強力なパスワードポリシー
- アカウントロックアウト/遅延
- セキュアなクッキーフラグ
- セッションタイムアウト <30分のアイドル時間
- 認証情報は決してログしない
A08: データ整合性の失敗
検出パターン:
- 信頼できないデータのデシリアライゼーション
- ダウンロード時の整合性チェック欠落
- 署名されていないソフトウェア更新
- 検証なしの CI/CD
修復方法:
- ネイティブデシリアライゼーションを避ける
- チェックサム/署名を検証する
- すべてのリリースに署名する
- セキュアな CI/CD パイプライン
A09: ロギングの失敗
検出パターン:
- 認証イベントのログがない
- ログ内の機密データ
- タイムスタンプなしのログ
- 集約ロギングなし
- アラート機能の欠落
修復方法:
- すべてのセキュリティイベントをログする
- ログデータをサニタイズする
- タイムスタンプ付きの構造化ログ
- 保持ポリシー付きで集約化する
A10: SSRF
検出パターン:
- サーバーリクエスト内のユーザー制御 URL
- 検証なしの内部サービスアクセス
- アクセス可能なクラウドメタデータエンドポイント
- URL パース不一致
修復方法:
- URL/ドメインのアローリスト
- 内部 IP 範囲をブロック
- クラウドメタデータエンドポイントを無効化
- URL パーサーを一貫して使用する
言語別パターン
詳細な参照は以下を参照してください:
references/javascript-vulnerabilities.mdreferences/python-vulnerabilities.mdreferences/java-vulnerabilities.mdreferences/go-vulnerabilities.md
セキュリティヘッダーチェックリスト
| ヘッダー | 値 | 目的 |
|---|---|---|
Content-Security-Policy | default-src 'self' | XSS を防止 |
X-Content-Type-Options | nosniff | MIME スニッフィングを防止 |
X-Frame-Options | DENY | クリックジャッキングを防止 |
Strict-Transport-Security | max-age=31536000; includeSubDomains | HTTPS を強制 |
Referrer-Policy | strict-origin-when-cross-origin | リファラ漏洩を制限 |
Permissions-Policy | geolocation=(), camera=() | 未使用の API を無効化 |
STRIDE 脅威モデリング
| 脅威 | 質問 | 制御 |
|---|---|---|
| なりすまし | 攻撃者がなりすまし可能か? | 認証、MFA、証明書 |
| 改ざん | データが改ざん可能か? | 整合性チェック、MAC |
| 否認 | アクションを否認可能か? | 監査ログ、署名 |
| 情報漏洩 | データが漏洩する可能性があるか? | 暗号化、アクセス制御 |
| サービス拒否 | サービスが中断される可能性があるか? | レート制限、冗長性 |
| 権限昇格 | ユーザーがアクセスを取得可能か? | RBAC、入力検証 |
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- ujo78
- ライセンス
- MIT
- 最終更新
- 2026/3/19
Source: https://github.com/ujo78/Minecraft-server-hosting-panel / ライセンス: MIT
関連スキル
secure-code-guardian
認証・認可の実装、ユーザー入力の保護、OWASP Top 10の脆弱性対策が必要な場合に使用します。bcrypt/argon2によるパスワードハッシング、パラメータ化ステートメントによるSQLインジェクション対策、CORS/CSPヘッダーの設定、Zodによる入力検証、JWTトークンの構築などのカスタムセキュリティ実装に対応します。認証、認可、入力検証、暗号化、OWASP Top 10対策、セッション管理、セキュリティ強化全般で活用できます。ただし、構築済みのOAuth/SSO統合や単独のセキュリティ監査が必要な場合は、より特化したスキルの検討をお勧めします。
claude-authenticity
APIエンドポイントが本物のClaudeによって支えられているか(ラッパーやプロキシ、偽装ではないか)を、claude-verifyプロジェクトを模した9つの重み付きルールベースチェックで検証できます。また、Claudeの正体を上書きしているプロバイダーから注入されたシステムプロンプトも抽出します。完全に自己完結しており、httpx以外の追加パッケージは不要です。Claude APIキーまたはエンドポイントを検証したい場合、サードパーティのClaudeサービスが本物か確認したい場合、APIプロバイダーのClaude正当性を監査したい場合、複数モデルを並行してテストしたい場合、またはプロバイダーが注入したシステムプロンプトを特定したい場合に使用できます。
anth-security-basics
Anthropic Claude APIのセキュリティベストプラクティスを適用し、キー管理、入力値の検証、プロンプトインジェクション対策を実施します。APIキーの保護、Claudeに送信する前のユーザー入力検証、コンテンツセーフティガードレールの実装が必要な場合に活用できます。「anthropic security」「claude api key security」「secure anthropic」「prompt injection defense」といったフレーズでトリガーされます。
x-ray
x-ray.mdプレ監査レポートを生成します。概要、強化された脅威モデル(プロトコルタイプのプロファイリング、Gitの重み付け攻撃面分析、時間軸リスク分析、コンポーザビリティ依存関係マッピング)、不変条件、統合、ドキュメント品質、テスト分析、開発者・Gitの履歴をカバーしています。「x-ray」「audit readiness」「readiness report」「pre-audit report」「prep this protocol」「protocol prep」「summarize this protocol」のキーワードで実行されます。
semgrep
Semgrepスタティック分析スキャンを実行し、カスタム検出ルールを作成します。Semgrepでのコードスキャン、セキュリティ脆弱性の検出、カスタムYAMLルールの作成、または特定のバグパターンの検出が必要な場合に使用します。重要:ユーザーが「バグをスキャンしたい」「コード品質を確認したい」「脆弱性を見つけたい」「スタティック分析」「セキュリティlint」「コード監査」または「コーディング標準を適用したい」と尋ねた場合も、Semgrepという名称を明記していなくても、このスキルを使用してください。Semgrepは30以上の言語に対応したパターンベースのコードスキャンに最適なツールです。
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を再度有効化します。