production-ready について
production-readyは、リリースやデプロイ、レビューに備えるためのプロジェクト準備・セキュリティ監査スキルです。技術スタックに応じたスキャンを案内し、ツールの導入前に承認を求め、3段階の監査とレポート作成を行います。
主な機能
- 01クイック・セキュリティ・フル監査
- 02プロジェクトファイルから技術スタックを検出
- 03技術スタック別のスキャナーを推奨
- 04ツール導入前に承認を確認
- 05docs/reports/ に日付入りレポートを作成
活用シーン
- 01初回の本番デプロイ前にプロジェクトを確認
- 02大規模な変更後にセキュリティを監査
- 03オープンソース公開やコンプライアンス審査に備える
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ adamos486/ skills --skill production-readyインストール後、Claude Code で/production-readyを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/research.mdsources.mdscripts/audit-dependencies.shcheck-config.shgenerate-sbom.shproduction-audit.shREADME.mdscan-secrets.sh詳細
本番環境対応
あらゆるプロジェクトの本番環境への包括的な対応、セキュリティ強化、専門的なリリース準備を行います。
使用するタイミング
- 初めて本番環境にデプロイする前
- 大幅な変更後、リリースする前
- セキュリティ監査を実施するとき
- プロジェクトをオープンソース化するとき
- コンプライアンスレビューの実施中
- 新しいコードベースの利用を開始するとき
クイックスタート
まず、どのモードにするかユーザーに尋ねます。
Which level of audit do you need?
1. **Quick** - Fast CI-suitable checks (~2 min)
- Secret scanning
- Critical vulnerabilities only
2. **Security** - Deep security audit (~10 min)
- All vulnerability severities
- SBOM generation
- Configuration hardening
3. **Full** - Comprehensive audit (~15 min)
- All security checks
- Documentation review
- CI/CD validation
- Monitoring setup check
ステップ 1:技術スタックの検出
スキャンの前に、プロジェクトの技術スタックと依存関係を特定します。
# Detect project files to determine stack
ls -la | grep -E "package.json|requirements.txt|Cargo.toml|go.mod|Gemfile|pom.xml|build.gradle|composer.json|pubspec.yaml|*.csproj"
| 検出されたファイル | スタック | 主なセキュリティツール |
|---|---|---|
package.json | Node.js/JavaScript | npm audit、snyk、retire.js |
requirements.txt / pyproject.toml | Python | pip-audit、safety、bandit |
Cargo.toml | Rust | cargo-audit、cargo-deny |
go.mod | Go | govulncheck、gosec |
Gemfile | Ruby | bundle-audit、brakeman |
pom.xml / build.gradle | Java | OWASP Dependency-Check、SpotBugs |
composer.json | PHP | composer audit、phpstan |
*.csproj | .NET | dotnet list package --vulnerable |
pubspec.yaml | Dart/Flutter | dart pub outdated |
ステップ 2:セキュリティツールの推奨
検出されたスタックに基づいて、適切なツールを推奨します。ツールをインストールする前に、必ずユーザーに確認してください。
汎用ツール(すべてのプロジェクト向け)
無料/オープンソース(業界標準):
| ツール | 用途 | インストールコマンド |
|---|---|---|
| gitleaks | git 履歴内のシークレット検出 | brew install gitleaks または curl -sSfL https://raw.githubusercontent.com/gitleaks/gitleaks/main/scripts/install.sh | sh |
| trufflehog | 検証機能を備えた詳細なシークレットスキャン | brew install trufflehog または curl -sSfL https://raw.githubusercontent.com/trufflesecurity/trufflehog/main/scripts/install.sh | sh |
| syft | SBOM の生成 | brew install syft または curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh |
| grype | 脆弱性スキャナー(複数言語対応) | brew install grype または curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sh |
| trivy | 包括的なセキュリティスキャナー | brew install trivy または trivy のドキュメントを参照 |
| semgrep | 静的解析(SAST) | brew install semgrep または pip install semgrep |
有料/エンタープライズ(最先端):
| ツール | 用途 | 備考 |
|---|---|---|
| Snyk | 総合的なセキュリティ(SCA、SAST、コンテナ) | 無料プランあり。エンタープライズ機能は有料 |
| Sonatype Nexus Lifecycle | エンタープライズ向け依存関係管理 | SCA 分野の業界リーダー |
| Checkmarx | エンタープライズ向け SAST/DAST | 包括的なエンタープライズソリューション |
| Veracode | アプリケーションセキュリティプラットフォーム | エンタープライズグレードのスキャン |
| GitHub Advanced Security | 統合セキュリティ(CodeQL、Dependabot) | GitHub ネイティブの統合 |
言語別ツール
JavaScript/Node.js:
- 無料:
npm audit、yarn audit、retire.js、eslint-plugin-security - 有料:Snyk(無料プラン)、Socket.dev
Python:
Go:
- 無料:govulncheck、gosec
- 有料:Snyk
Rust:
Ruby:
- 無料:bundle-audit、brakeman
- 有料:Snyk
Java:
- 無料:OWASP Dependency-Check、SpotBugs
- 有料:Sonatype、Snyk
ステップ 3:ツールのインストールをユーザーに確認する
重要:ツールをインストールする前に、必ずユーザーに確認してください。
検出されたスタックに基づいて、推奨ツールを提示します。
I've detected your project uses [STACK]. Here are the recommended security scanning tools:
**Required (Universal):**
- gitleaks - Secret detection
- grype - Vulnerability scanning
- syft - SBOM generation
**Stack-Specific ([STACK]):**
- [tool1] - [purpose]
- [tool2] - [purpose]
**Optional (Enhanced Coverage):**
- trivy - Comprehensive scanner
- semgrep - Static analysis
Would you like me to install these tools?
1. Yes, install all recommended tools
2. Yes, but only the required universal tools
3. Let me select which ones to install
4. No, I'll install them manually
ユーザーがオプション 1、2、または 3 を選択した場合: 適切なパッケージマネージャーを使ってインストールし、ステップ 4 に進みます。
ユーザーがオプション 4 を選択した場合: インストールコマンドを提示し、ツールがインストールされたことをユーザーが確認したら、ステップ 4 に進みます。
ステップ 4:セキュリティスキャンを実行する
インストール済みのツールと監査モードに基づいてスキャンを実行します。
クイックモード
# Secret scanning
gitleaks detect --source=. --no-banner
# Critical vulnerabilities only
grype dir:. --fail-on=critical --only-fixed
セキュリティモード(クイックモードを含む)
# Deep secret scan with verification
trufflehog filesystem . --only-verified
# All high+ vulnerabilities
grype dir:. --fail-on=high --only-fixed
# Generate SBOM
syft dir:. -o cyclonedx-json=sbom.json
# Static analysis (if semgrep installed)
semgrep --config auto --error
フルモード(セキュリティモードを含む)
すべてのセキュリティチェックに加え、ドキュメント、CI/CD、オブザーバビリティの検証を行います。
ステップ 5:レポートを生成する
レポートは必ず docs/reports/ ディレクトリに書き込んでください。
存在しない場合はディレクトリを作成します。
mkdir -p docs/reports
本日の日付を使って Markdown レポートを生成します。
# Report filename format
REPORT_FILE="docs/reports/security-audit-$(date +%Y-%m-%d).md"
レポートテンプレート
生成するレポートは、次の構成に従ってください。
# Security Audit Report
**Project:** [project-name]
**Date:** [YYYY-MM-DD]
**Audit Mode:** [Quick|Security|Full]
**Auditor:** Claude Code (production-ready skill)
## Executive Summary
- **Total Checks:** X
- **Passed:** X
- **Failed:** X
- **Warnings:** X
## Tech Stack Detected
- Primary Language: [language]
- Package Manager: [manager]
- Frameworks: [frameworks]
## Tools Used
| Tool | Version | Purpose |
|------|---------|---------|
| gitleaks | X.X.X | Secret detection |
| grype | X.X.X | Vulnerability scanning |
| ... | ... | ... |
## Findings
### Critical Issues (Must Fix)
1. **[Issue Title]**
- Severity: Critical
- Location: [file:line]
- Description: [description]
- Remediation: [steps to fix]
### High Severity Issues
...
### Medium/Low Severity Issues
...
## Dependency Vulnerabilities
| Package | Current | Fixed In | Severity | CVE |
|---------|---------|----------|----------|-----|
| ... | ... | ... | ... | ... |
## SBOM Summary
- Total Packages: X
- Direct Dependencies: X
- Transitive Dependencies: X
- SBOM Location: `docs/reports/sbom-[date].json`
## Recommendations
1. [Prioritized recommendation]
2. [Prioritized recommendation]
...
## Next Steps
- [ ] Fix critical vulnerabilities
- [ ] Review and remediate high-severity issues
- [ ] Update dependencies with known fixes
- [ ] Re-run audit after fixes
---
*Generated by production-ready skill v2.0.0*
監査モードのチェックリスト
クイックモードのチェックリスト
- シークレット:
gitleaks detect --source=.を実行する - 重大な脆弱性:
grype dir:. --fail-on=criticalを実行する - 基本設定:.gitignore に
.env、*.key、*.pemが含まれていることを確認する - レポートを生成:検出結果を
docs/reports/security-audit-[date].mdに書き込む
セキュリティモードのチェックリスト(クイックモードを含む)
- すべての脆弱性:
grype dir:. --fail-on=high - SBOM を生成:
syft dir:. -o cyclonedx-json=docs/reports/sbom-[date].json - シークレットの詳細スキャン:
trufflehog filesystem . --only-verified - 静的解析:
semgrep --config auto(インストール済みの場合) - 依存関係のレビュー:古いパッケージやメンテナンスされていないパッケージがないか確認する
- 設定の強化:
- 設定ファイルに localhost/ポートをハードコードしない
- すべてのシークレットに環境変数を使用する
- .env.example にプレースホルダー値が設定されている
- Docker のセキュリティ(該当する場合):
- 非 root ユーザーが指定されている
- ベースイメージのバージョンが固定されている
- .dockerignore が存在する
- レポートを生成:包括的な検出結果を
docs/reports/security-audit-[date].mdに書き込む
フルモードのチェックリスト(セキュリティを含む)
ドキュメント:
- README.md にセットアップ手順が記載されている
- LICENSE ファイルが存在する
- CHANGELOG.md がメンテナンスされている
- 脆弱性の報告手順を記載した SECURITY.md がある
- CONTRIBUTING.md がある(オープンソースの場合)
CI/CD:
- CI パイプラインが設定されている(GitHub Actions、GitLab CI など)
- PR/プッシュ時に自動テストが実行される
- パイプラインでセキュリティスキャンが実施される
- ビルド成果物が検証される
オブザーバビリティ:
- ヘルスチェックのエンドポイント(
/healthまたは/healthz) - 構造化ログが設定されている
- エラー追跡が設定されている(Sentry など)
- メトリクスが収集される(該当する場合)
運用:
- 環境ごとの設定が分離されている
- バックアップ/復元の手順が文書化されている
- ロールバック計画が文書化されている
- オンコール用ランブックがある(重要なサービスの場合)
レポートの生成:調査結果を docs/reports/security-audit-[date].md に詳細に記載します。
最新ツールのウェブ検索
検出された技術スタックで、上記に記載されていない専用ツールが必要な場合は、その技術に対応する業界標準の最新(2025 年以降)のセキュリティスキャナーをインターネットで検索してください。以下を優先します。
- 言語/フレームワークの公式ドキュメントで推奨されているツール
- OWASP が推奨するツール
- メンテナンスが継続されているツール(過去 6 か月以内にコミットがあるもの)
- GitHub のスター数が多く(1000 以上)、コミュニティで広く採用されているツール
セキュリティ標準の参照
OWASP Top 10 2025 に基づきます。
| リスク | 主な緩和策 |
|---|---|
| A01: アクセス制御の不備 | デフォルトで拒否し、サーバー側で権限を検証する |
| A02: セキュリティの設定ミス | ハードニングを自動化し、デフォルト設定を削除し、セキュリティヘッダーを設定する |
| A03: サプライチェーン | SBOM、依存関係のスキャン、署名付きビルド |
| A04: インジェクション | パラメーター化クエリ、入力検証 |
| A05: 暗号化の失敗 | すべての通信で TLS を使用し、強力なアルゴリズムを採用し、キーをハードコードしない |
よくある問題と修正方法
シークレットが見つかった場合
# Rotate the compromised credential immediately
# Then remove from git history:
git filter-branch --force --index-filter \
"git rm --cached --ignore-unmatch PATH/TO/FILE" \
--prune-empty --tag-name-filter cat -- --all
# Or use BFG Repo-Cleaner (faster):
bfg --delete-files "*.env"
脆弱な依存関係
# Update to patched version
npm update PACKAGE # or
pip install PACKAGE --upgrade # or
cargo update PACKAGE
# If no patch available, evaluate alternatives
完了基準
以下を満たすと、プロジェクトは本番環境に対応できる状態です。
- 修正プログラムが提供されている高/重大な脆弱性がゼロ
- ハードコードされたシークレットが検出されない
- 必要なドキュメントがすべてそろっている
- CI/CD パイプラインですべてのセキュリティチェックに合格する
- SBOM が生成され、
docs/reports/に保存されている - ヘルスチェックが稼働している
docs/reports/security-audit-[date].mdにセキュリティ監査レポートが生成されている
参考資料
references/ ディレクトリに以下があります。
research.md- 詳細な調査結果sources.md- 信頼できる情報源とリンク