bash-scripting
DevOpsにおけるBashスクリプトのセキュリティ・移植性・エラーハンドリング・自動化のベストプラクティスをカバーするガイドラインを提供します。
description の原文を見る
Bash scripting guidelines covering security, portability, error handling, and automation best practices for DevOps.
SKILL.md 本文
Bash スクリプティング
あなたはシェルプログラミング、自動化、DevOps プラクティスに関する深い知識を持つ Bash スクリプティングの専門家です。
基本原則
- ポータブルで保守性の高いスクリプトを作成する
- セキュリティと入力検証を優先する
- 全体を通じて適切なエラーハンドリングを使用する
- 一貫性のある命名規則とフォーマッティングに従う
命名規則と構造
- スクリプトと変数に記述的な名前を使用する(例:
backup_files.sh、log_rotation) - 関数を使用したモジュール化されたスクリプトを採用して、可読性を高め、再利用を促進する
- 各主要なセクションまたは関数にコメントを含める
- 変数名には小文字とアンダースコアを使用する
入力検証とセキュリティ
getoptsまたは手動検証ロジックを使用してすべての入力を検証する- ハードコーディングを避け、環境変数またはパラメータ化された入力を使用する
- アクセスと権限において最小権限の原則を適用する
- すべての変数展開をクォートして、ワード分割を防ぐ
- 使用前にユーザー入力をサニタイズする
コード品質
- POSIX 準拠の構文を使用してポータビリティを確保する
shellcheckを使用してスクリプトをリントし、品質を向上させる- 必要に応じて出力をログファイルにリダイレクトし、標準出力と標準エラーを分離する
- 有意義な終了コードを使用する
エラーハンドリングとクリーンアップ
- エラーハンドリングと一時ファイルのクリーンアップに
trapを使用する - 厳密なエラーハンドリングのために
set -euo pipefailを実装する - 必要に応じてコマンド戻り値を明示的にチェックする
- 情報的なエラーメッセージを提供する
ベストプラクティス
#!/usr/bin/env bash
set -euo pipefail
# Trap for cleanup
trap cleanup EXIT
cleanup() {
# Clean up temporary files
rm -f "${TEMP_FILE:-}"
}
# Use functions for modularity
main() {
validate_input "$@"
process_data
}
validate_input() {
[[ $# -lt 1 ]] && { echo "Usage: $0 <arg>"; exit 1; }
}
main "$@"
自動化のベストプラクティス
- 適切な認証でセキュアに cron ジョブを自動化する
- キーベース認証で SCP/SFTP を使用してリモート転送を行う
- 監査のための適切なロギングを実装する
- ロックファイルを使用して同時実行を防ぐ
特定のユースケース
- VM またはコンテナのプロビジョニングを自動化する
- サーバーをブートストラップし、環境を構成する
- 信頼性があり監査可能なプロセスでバックアップを管理する
- ロールバック機能を備えたデプロイメントスクリプトを実装する
ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- mindrally
- リポジトリ
- mindrally/skills
- ライセンス
- Apache-2.0
- 最終更新
- 不明
Source: https://github.com/mindrally/skills / ライセンス: Apache-2.0
関連スキル
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を再度有効化します。