senior-secops について
senior-secopsは、コードベース、依存関係、コンプライアンス管理策を監査するセキュリティ運用チーム向けのスキルです。スキャナーやチェッカーに加え、セキュリティ監査、CI/CDゲート、CVEトリアージ、インシデント対応の手順を備えています。
主な機能
- 01ソースコードの脆弱性スキャン
- 02依存関係のCVE評価
- 03SOC 2、PCI-DSS、HIPAA、GDPRのチェック
- 04JSONレポートと深刻度の絞り込み
- 05セキュリティ監査とCI/CDゲートの手順
活用シーン
- 01コードベースのセキュリティ問題を監査
- 02依存関係の既知CVEを確認
- 03コンプライアンス管理策を検証
- 04デプロイパイプラインにセキュリティチェックを追加
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ alirezarezvani/ claude-skills --skill senior-secopsインストール後、Claude Code で/senior-secopsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/compliance_requirements.mdsecurity_standards.mdvulnerability_management_guide.mdscripts/compliance_checker.pysecurity_scanner.pyvulnerability_assessor.py詳細
シニア SecOps エンジニア
脆弱性管理、コンプライアンス検証、安全なコーディング手法、セキュリティ自動化を網羅したセキュリティ運用向けツールキットです。
目次
コア機能
1. セキュリティスキャナー
ソースコードをスキャンし、ハードコードされたシークレット、SQL インジェクション、XSS、コマンドインジェクション、パストラバーサルなどのセキュリティ脆弱性を検出します。
# Scan project for security issues
python scripts/security_scanner.py /path/to/project
# Filter by severity
python scripts/security_scanner.py /path/to/project --severity high
# JSON output for CI/CD
python scripts/security_scanner.py /path/to/project --json --output report.json
検出対象:
- ハードコードされたシークレット(API キー、パスワード、AWS 認証情報、GitHub トークン、秘密鍵)
- SQL インジェクションのパターン(文字列連結、f 文字列、テンプレートリテラル)
- XSS の脆弱性(innerHTML への代入、安全でない DOM 操作、React の安全でないパターン)
- コマンドインジェクション(ユーザー入力を伴う shell=True、exec、eval)
- パストラバーサル(ユーザー入力を伴うファイル操作)
2. 脆弱性アセッサー
npm、Python、Go のエコシステムを対象に、既知の CVE がないか依存関係をスキャンします。
# Assess project dependencies
python scripts/vulnerability_assessor.py /path/to/project
# Critical/high only
python scripts/vulnerability_assessor.py /path/to/project --severity high
# Export vulnerability report
python scripts/vulnerability_assessor.py /path/to/project --json --output vulns.json
スキャン対象:
package.jsonおよびpackage-lock.json(npm)requirements.txtおよびpyproject.toml(Python)go.mod(Go)
出力:
- CVE ID と CVSS スコア
- 影響を受けるパッケージのバージョン
- 修正用の修正版バージョン
- 全体的なリスクスコア(0~100)
3. コンプライアンスチェッカー
SOC 2、PCI-DSS、HIPAA、GDPR のフレームワークに照らして、セキュリティコンプライアンスを検証します。
# Check all frameworks
python scripts/compliance_checker.py /path/to/project
# Specific framework
python scripts/compliance_checker.py /path/to/project --framework soc2
python scripts/compliance_checker.py /path/to/project --framework pci-dss
python scripts/compliance_checker.py /path/to/project --framework hipaa
python scripts/compliance_checker.py /path/to/project --framework gdpr
# Export compliance report
python scripts/compliance_checker.py /path/to/project --json --output compliance.json
検証項目:
- アクセス制御の実装
- 保存時および転送時の暗号化
- 監査ログ
- 認証の強度(MFA、パスワードハッシュ化)
- セキュリティドキュメント
- CI/CD セキュリティ制御
ワークフロー
ワークフロー 1:セキュリティ監査
コードベース全体のセキュリティ評価を実施します。
# Step 1: Scan for code vulnerabilities
python scripts/security_scanner.py . --severity medium
# STOP if exit code 2 — resolve critical findings before continuing
# Step 2: Check dependency vulnerabilities
python scripts/vulnerability_assessor.py . --severity high
# STOP if exit code 2 — patch critical CVEs before continuing
# Step 3: Verify compliance controls
python scripts/compliance_checker.py . --framework all
# STOP if exit code 2 — address critical gaps before proceeding
# Step 4: Generate combined reports
python scripts/security_scanner.py . --json --output security.json
python scripts/vulnerability_assessor.py . --json --output vulns.json
python scripts/compliance_checker.py . --json --output compliance.json
ワークフロー 2:CI/CD セキュリティゲート
デプロイパイプラインにセキュリティチェックを統合します。
# .github/workflows/security.yml
name: "security-scan"
on:
pull_request:
branches: [main, develop]
jobs:
security-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: "set-up-python"
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: "security-scanner"
run: python scripts/security_scanner.py . --severity high
- name: "vulnerability-assessment"
run: python scripts/vulnerability_assessor.py . --severity critical
- name: "compliance-check"
run: python scripts/compliance_checker.py . --framework soc2
各ステップは対応する終了コードに応じてパイプラインを失敗させます。重大な問題が見つかった場合、デプロイは先へ進みません。
ワークフロー 3:CVE のトリアージ
アプリケーションに影響する新しい CVE に対応します。
1. ASSESS (0-2 hours)
- Identify affected systems using vulnerability_assessor.py
- Check if CVE is being actively exploited
- Determine CVSS environmental score for your context
- STOP if CVSS 9.0+ on internet-facing system — escalate immediately
2. PRIORITIZE
- Critical (CVSS 9.0+, internet-facing): 24 hours
- High (CVSS 7.0-8.9): 7 days
- Medium (CVSS 4.0-6.9): 30 days
- Low (CVSS < 4.0): 90 days
3. REMEDIATE
- Update affected dependency to fixed version
- Run security_scanner.py to verify fix (must return exit code 0)
- STOP if scanner still flags the CVE — do not deploy
- Test for regressions
- Deploy with enhanced monitoring
4. VERIFY
- Re-run vulnerability_assessor.py
- Confirm CVE no longer reported
- Document remediation actions
ワークフロー 4:インシデント対応
セキュリティインシデントへの対応手順です。
PHASE 1: DETECT & IDENTIFY (0-15 min)
- Alert received and acknowledged
- Initial severity assessment (SEV-1 to SEV-4)
- Incident commander assigned
- Communication channel established
PHASE 2: CONTAIN (15-60 min)
- Affected systems identified
- Network isolation if needed
- Credentials rotated if compromised
- Preserve evidence (logs, memory dumps)
PHASE 3: ERADICATE (1-4 hours)
- Root cause identified
- Malware/backdoors removed
- Vulnerabilities patched (run security_scanner.py; must return exit code 0)
- Systems hardened
PHASE 4: RECOVER (4-24 hours)
- Systems restored from clean backup
- Services brought back online
- Enhanced monitoring enabled
- User access restored
PHASE 5: POST-INCIDENT (24-72 hours)
- Incident timeline documented
- Root cause analysis complete
- Lessons learned documented
- Preventive measures implemented
- Stakeholder report delivered
ツールリファレンス
security_scanner.py
| オプション | 説明 |
|---|---|
target | スキャンするディレクトリまたはファイル |
--severity, -s | 最小重大度:critical、high、medium、low |
--verbose, -v | スキャン中のファイルを表示 |
--json | 結果を JSON 形式で出力 |
--output, -o | 結果をファイルに書き込む |
終了コード: 0 = critical/high の検出なし · 1 = 重大度 high の検出あり · 2 = 重大度 critical の検出あり
vulnerability_assessor.py
| オプション | 説明 |
|---|---|
target | 依存関係ファイルを含むディレクトリ |
--severity, -s | 最小重大度:critical、high、medium、low |
--verbose, -v | スキャン中のファイルを表示 |
--json | 結果を JSON 形式で出力 |
--output, -o | 結果をファイルに書き込む |
終了コード: 0 = critical/high の脆弱性なし · 1 = 重大度 high の脆弱性あり · 2 = 重大度 critical の脆弱性あり
compliance_checker.py
| オプション | 説明 |
|---|---|
target | チェックするディレクトリ |
--framework, -f | フレームワーク:soc2、pci-dss、hipaa、gdpr、all |
--verbose, -v | 実行中のチェックを表示 |
--json | 結果を JSON 形式で出力 |
--output, -o | 結果をファイルに書き込む |
終了コード: 0 = 準拠(スコア 90% 以上) · 1 = 非準拠(スコア 50~69%) · 2 = 重大な不足(スコア 50% 未満)
セキュリティ標準
OWASP Top 10 の詳細なガイダンス、安全なコーディング標準、認証要件、API セキュリティ制御については、references/security_standards.md を参照してください。
セキュアコーディングチェックリスト
## Input Validation
- [ ] Validate all input on server side
- [ ] Use allowlists over denylists
- [ ] Sanitize for specific context (HTML, SQL, shell)
## Output Encoding
- [ ] HTML encode for browser output
- [ ] URL encode for URLs
- [ ] JavaScript encode for script contexts
## Authentication
- [ ] Use bcrypt/argon2 for passwords
- [ ] Implement MFA for sensitive operations
- [ ] Enforce strong password policy
## Session Management
- [ ] Generate secure random session IDs
- [ ] Set HttpOnly, Secure, SameSite flags
- [ ] Implement session timeout (15 min idle)
## Error Handling
- [ ] Log errors with context (no secrets)
- [ ] Return generic messages to users
- [ ] Never expose stack traces in production
## Secrets Management
- [ ] Use environment variables or secrets manager
- [ ] Never commit secrets to version control
- [ ] Rotate credentials regularly
コンプライアンスフレームワーク
管理策のマッピング全体については、references/compliance_requirements.md を参照してください。以下の管理策を検証するには、compliance_checker.py を実行してください。
SOC 2 Type II
- CC6 論理アクセス:認証、認可、MFA
- CC7 システム運用:監視、ログ記録、インシデント対応
- CC8 変更管理:CI/CD、コードレビュー、デプロイ制御
PCI-DSS v4.0
- Req 3/4:保存時および転送中の暗号化(TLS 1.2+)
- Req 6:セキュアな開発(入力検証、セキュアコーディング)
- Req 8:強力な認証(MFA、パスワードポリシー)
- Req 10/11:監査ログ、SAST/DAST/侵入テスト
HIPAA Security Rule
- PHI アクセスに対する一意のユーザー ID と監査証跡(164.312(a)(1)、164.312(b))
- 個人/エンティティ認証のための MFA(164.312(d))
- TLS による転送時の暗号化(164.312(e)(1))
GDPR
- Art 25/32:プライバシー・バイ・デザイン、暗号化、仮名化
- Art 33:72 時間以内のデータ侵害通知
- Art 17/20:消去権とデータポータビリティ
ベストプラクティス
シークレット管理
# BAD: Hardcoded secret
API_KEY = "sk-1234567890abcdef"
# GOOD: Environment variable
import os
API_KEY = os.environ.get("API_KEY")
# BETTER: Secrets manager
from your_vault_client import get_secret
API_KEY = get_secret("api/key")
SQL インジェクション対策
# BAD: String concatenation
query = f"SELECT * FROM users WHERE id = {user_id}"
# GOOD: Parameterized query
cursor.execute("SELECT * FROM users WHERE id = %s", (user_id,))
XSS 対策
// BAD: Direct innerHTML assignment is vulnerable
// GOOD: Use textContent (auto-escaped)
element.textContent = userInput;
// GOOD: Use sanitization library for HTML
import DOMPurify from 'dompurify';
const safeHTML = DOMPurify.sanitize(userInput);
認証
// Password hashing
const bcrypt = require('bcrypt');
const SALT_ROUNDS = 12;
// Hash password
const hash = await bcrypt.hash(password, SALT_ROUNDS);
// Verify password
const match = await bcrypt.compare(password, hash);
セキュリティヘッダー
// Express.js security headers
const helmet = require('helmet');
app.use(helmet());
// Or manually set headers:
app.use((req, res, next) => {
res.setHeader('X-Content-Type-Options', 'nosniff');
res.setHeader('X-Frame-Options', 'DENY');
res.setHeader('X-XSS-Protection', '1; mode=block');
res.setHeader('Strict-Transport-Security', 'max-age=31536000; includeSubDomains');
res.setHeader('Content-Security-Policy', "default-src 'self'");
next();
});
OWASP Top 10 クイックチェック
15 分で行う迅速な評価です。各カテゴリを確認し、合格/不合格を記録します。詳細なテストについては、security-pen-testing スキルに引き継いでください。
| # | カテゴリ | 1 行で確認 |
|---|---|---|
| A01 | アクセス制御の不備 | すべてのエンドポイントでロールチェックを確認し、水平方向の権限昇格をテストします |
| A02 | 暗号化の失敗 | すべての箇所で TLS 1.2+ が使われていることを確認し、ログやソースにシークレットがないことを確認します |
| A03 | インジェクション | パラメーター化クエリを監査し、ORM の生クエリの使用状況を確認します |
| A04 | 安全でない設計 | 重要なフローに対する脅威モデルが存在することを確認します |
| A05 | セキュリティ設定のミス | デフォルトの認証情報が削除されていること、エラーページが一般的な内容であることを確認します |
| A06 | 脆弱なコンポーネント | vulnerability_assessor.py を実行し、重大/高 CVE がゼロであることを確認します |
| A07 | 認証の失敗 | 管理者に MFA が適用されていること、ブルートフォース対策が有効であることを確認します |
| A08 | ソフトウェアとデータの完全性 | CI/CD パイプラインがアーティファクトに署名していること、署名されていない依存関係がないことを確認します |
| A09 | ログ記録と監視 | 監査ログに認証イベントが記録されること、アラートが設定されていることを確認します |
| A10 | SSRF | 内部 URL フィルターをテストし、メタデータエンドポイント(169.254.169.254)をブロックします |
詳細な確認が必要ですか? OWASP Testing Guide を網羅したテストを行うには、
security-pen-testingに引き継いでください。
シークレットスキャンツール
ワークフローの各段階に適したスキャナーを選択してください。
| ツール | 最適な用途 | 言語 | コミット前 | CI/CD | カスタムルール |
|---|---|---|---|---|---|
| gitleaks | CI パイプライン、リポジトリ全体のスキャン | Go | はい | はい | TOML 正規表現 |
| detect-secrets | コミット前フック、増分スキャン | Python | はい | 一部 | プラグインベース |
| truffleHog | 履歴の詳細スキャン、エントロピー | Go | いいえ | はい | 正規表現 + エントロピー |
推奨設定: detect-secrets をコミット前フックとして使用し(履歴に入る前にシークレットを検出)、CI で gitleaks を使用します(すり抜けたものを検出します)。
# detect-secrets pre-commit hook (.pre-commit-config.yaml)
- repo: https://github.com/Yelp/detect-secrets
rev: v1.4.0
hooks:
- id: detect-secrets
args: ['--baseline', '.secrets.baseline']
# gitleaks in GitHub Actions
- name: gitleaks
uses: gitleaks/gitleaks-action@v2
env:
GITLEAKS_LICENSE: ${{ secrets.GITLEAKS_LICENSE }}
サプライチェーンセキュリティ
SBOM の生成、アーティファクト署名、SLSA 準拠により、依存関係やアーティファクトの改ざんから保護します。
SBOM の生成:
- syft — コンテナーイメージまたはソースディレクトリから SBOM を生成します(SPDX、CycloneDX 形式)
- cyclonedx-cli — CycloneDX ネイティブのツール。モノレポ用に複数の SBOM を統合します
# Generate SBOM from container image
syft packages ghcr.io/org/app:latest -o cyclonedx-json > sbom.json
アーティファクト署名(Sigstore/cosign):
# Sign a container image (keyless via OIDC)
cosign sign ghcr.io/org/app:latest
# Verify signature
cosign verify ghcr.io/org/app:latest [email protected] --certificate-oidc-issuer=https://token.actions.githubusercontent.com
SLSA レベルの概要:
| レベル | 要件 | 証明できること |
|---|---|---|
| 1 | ビルドプロセスが文書化されている | プロベナンスが存在する |
| 2 | ホスト型ビルドサービス、署名済みプロベナンス | 改ざん耐性のあるプロベナンス |
| 3 | 強化されたビルドプラットフォーム、偽造不可能なプロベナンス | 改ざん不可能なビルド |
| 4 | 2 者によるレビュー、ハーメチックビルド | サプライチェーンに対する最大限の保証 |
相互参照:
security-pen-testing(脆弱性の悪用テスト)、dependency-auditor(依存関係のライセンスおよび CVE 監査)。
リファレンスドキュメント
| ドキュメント | 説明 |
|---|---|
references/security_standards.md | OWASP Top 10、セキュアコーディング、認証、API セキュリティ |
references/vulnerability_management_guide.md | CVE のトリアージ、CVSS スコアリング、修正ワークフロー |
references/compliance_requirements.md | SOC 2、PCI-DSS、HIPAA、GDPR の全管理策マッピング |