security について
コードやアーキテクチャの確認、安全なアプリケーション実装を支援するセキュリティレビュー用スキルです。OWASP Top 10 に沿った確認項目と監査レポート形式を備えています。
主な機能
- 01OWASP Top 10 の確認リスト
- 02セキュリティヘッダーの推奨事項
- 03認証実装の例
- 04重大度別の監査レポート形式
活用シーン
- 01認証・認可コードのレビュー
- 02本番公開前のアプリケーション確認
- 03機密データの取り扱い評価
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ htlin222/ dotfiles --skill securityインストール後、Claude Code で/securityを入力して読み込まれたか確認します。
詳細
セキュリティ監査
脆弱性を特定し、安全なコーディング手法を実装します。
使用する場面
- コードやアーキテクチャのセキュリティレビュー
- 認証・認可の実装
- 本番環境へのデプロイ前
- ユーザーからセキュリティのベストプラクティスについて質問された場合
- 機密データを扱う場合
OWASP Top 10 チェックリスト
- インジェクション - パラメーター化クエリ、入力のサニタイズ
- 認証の不備 - 強固なセッション、MFA、安全なパスワード保存
- 機密データ - 保存時および転送時の暗号化、露出の最小化
- XXE - 外部エンティティを無効化し、XML より JSON を使用
- アクセス制御の不備 - RBAC、デフォルトで拒否
- セキュリティ設定のミス - 安全なデフォルト設定、デバッグ情報の削除
- XSS - 出力のエンコード、CSP ヘッダー
- 安全でないデシリアライゼーション - 入力の検証、ネイティブのシリアライゼーションを避ける
- 脆弱なコンポーネント - 依存関係のスキャン、更新
- ロギング - 監査ログ、ログに機密データを含めない
セキュリティヘッダー
Content-Security-Policy: default-src 'self'
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
Strict-Transport-Security: max-age=31536000; includeSubDomains
認証の実装
// Password hashing
const hash = await bcrypt.hash(password, 12);
// JWT with short expiry
const token = jwt.sign({ userId }, secret, { expiresIn: "15m" });
// Refresh token rotation
const refreshToken = crypto.randomBytes(32).toString("hex");
監査出力形式
## Security Audit Report
**Severity Levels:** Critical | High | Medium | Low
### Critical
- [Issue]: [Description] → [Fix]
### High
- [Issue]: [Description] → [Fix]
### Recommendations
- [Improvement suggestion]
例
入力:「認証の実装をレビューして」 **アクション:**パスワードの保存、セッション管理、トークンの処理を確認し、調査結果を報告する
入力:「この API を安全にして」 **アクション:**入力検証、認証チェック、レート制限、セキュリティヘッダーを追加する
コメント
Markdown 対応