security-review
セキュリティ脆弱性を自動検出する。認証情報のハードコード、コマンドインジェクション、危険なシェル構文などをチェック。
$ Installieren
git clone https://github.com/shiiman/dotfiles /tmp/dotfiles && cp -r /tmp/dotfiles/.claude/skills/security-review ~/.claude/skills/dotfiles// tip: Run this command in your terminal to install the skill
SKILL.md
name: security-review description: セキュリティ脆弱性を自動検出する。認証情報のハードコード、コマンドインジェクション、危険なシェル構文などをチェック。
Security Review Skill
Claude がコード変更時に自動的に適用する、セキュリティ観点のチェックと警告能力。
自動適用条件
- すべてのシェルスクリプト変更時(
.sh,.bash,.zsh) - 設定ファイル変更時(
.bashrc,.zshrc,.gitconfig等) - 特に以下のパターンで重点チェック:
- 環境変数の設定
- 外部コマンドの実行
- ファイル操作
検出パターン
1. ハードコードされた認証情報
# ❌ 危険: ハードコード
export API_KEY="sk-xxxxxxxxxxxx"
PASSWORD="secret123"
TOKEN="Bearer eyJhbGci..."
# ✅ 安全: 環境変数から取得(別ファイルで管理)
export API_KEY="${API_KEY:-}"
# または .env ファイルから読み込み(.envはgitignore)
2. コマンドインジェクション
# ❌ 危険: 変数未クォート
rm $filename
cat $user_input
# ❌ 危険: eval使用
eval "$user_command"
# ✅ 安全: 変数クォート
rm "$filename"
cat "$user_input"
# ✅ 安全: evalを避ける
"$user_command" # 直接実行(信頼できる場合のみ)
3. 危険なシェル構文
# ❌ 危険: バッククォート(ネスト問題)
result=`command`
# ❌ 危険: 変数展開のクォート忘れ
if [ $var = "value" ]; then
# ✅ 安全: $() を使用
result=$(command)
# ✅ 安全: 変数をクォート
if [ "$var" = "value" ]; then
4. ファイル権限の問題
# ❌ 危険: 過度な権限
chmod 777 script.sh
chmod a+w config.sh
# ✅ 安全: 最小限の権限
chmod 755 script.sh # 実行可能スクリプト
chmod 644 config # 設定ファイル(読み取りのみ)
5. パス・ファイル名のインジェクション
# ❌ 危険: ユーザー入力をパスに使用
cat "/tmp/$user_input"
# ✅ 安全: バリデーション付き
if [[ "$user_input" =~ ^[a-zA-Z0-9_-]+$ ]]; then
cat "/tmp/$user_input"
fi
重大度レベル
| レベル | 説明 | 対応 |
|---|---|---|
| Critical | 認証情報露出、コマンドインジェクション | 即時修正必須 |
| High | 変数クォート漏れ、eval使用 | コミット前に修正 |
| Medium | ファイル権限問題、バッククォート使用 | 計画的に修正 |
| Low | ベストプラクティス違反 | 改善推奨 |
自動アクション
- Critical/High を検出したら、コミット前に警告を表示
- 修正案を具体的に提示
- セキュリティ関連の変更は
/review --securityを推奨
チェックリスト
- ハードコードされた認証情報がない
- すべての変数が適切にクォートされている
-
evalを使用していない - ファイル権限が最小限に設定されている
- ユーザー入力がサニタイズされている
Repository

shiiman
Author
shiiman/dotfiles/.claude/skills/security-review
2
Stars
0
Forks
Updated4d ago
Added1w ago