AgentSecOps / AgentSecOps/SecOpsAgentKit

skill request: secrets management — HashiCorp Vault integration

Ouverte
#18 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
devsecops enhancement new-skill secrets-management
Langage dominant
Python
Étoiles
209
Forks
39
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

## Summary

The repository can **detect** hardcoded secrets (`secrets-gitleaks`) but has no skill for **managing** secrets correctly. HashiCorp Vault is the most widely adopted open-source secrets management platform and is the natural complement to Gitleaks: once secrets are found and rotated, they need a home. This skill would close that loop.

## Requested Skill: `devsecops/secrets-vault`

### What to Cover

**Core workflows**:

1. **Secrets injection into CI/CD** — pull secrets from Vault into GitHub Actions / GitLab CI at runtime instead of storing them as repo secrets
2. **Dynamic secrets** — generate short-lived database credentials, AWS IAM credentials, and PKI certificates on demand
3. **Secret rotation** — rotate static credentials (DB passwords, API keys) with audit trail
4. **Audit logging** — query Vault audit log for secret access patterns (compliance evidence for SOC2 CC6)

**Key Vault paths and engines**:
```bash
# KV secrets engine (static secrets)
vault kv put secret/myapp/prod db_password="..." api_key="..."
vault kv get -format=json secret/myapp/prod

# Dynamic AWS credentials (expire after TTL)
vault read aws/creds/my-role

# PKI — issue short-lived TLS cert
vault write pki/issue/my-role common_name="app.example.com" ttl="24h"
```

**CI/CD integration pattern**:
```yaml
# GitHub Actions — vault-action
- uses: hashicorp/vault-action@v3
with:
url: ${{ secrets.VAULT_ADDR }}
method: jwt
role: github-actions
secrets: |
secret/data/myapp/prod db_password | DB_PASSWORD;
secret/data/myapp/prod api_key | API_KEY
```

### Security Considerations

- Never store Vault tokens in environment variables long-term — use AppRole or JWT auth
- Enable audit logging before any production use (SOC2, PCI-DSS requirement)
- Use namespaces for multi-team isolation
- Set `max_lease_ttl` on dynamic secret roles to enforce expiration

### Frameworks to Map

- SOC2 CC6.1 (Logical and Physical Access Controls)
- PCI-DSS Req 3.4 (render PANs unreadable), Req 8.3 (MFA for credentials)
- NIST SP 800-57 (key management)
- CWE-522 (Insufficiently Protected Credentials)
- OWASP Top 10 A02:2021 (Cryptographic Failures)

### Relationship to Existing Skills

- **Upstream**: `secrets-gitleaks` detects leaked secrets → remediation is to move them to Vault
- **Downstream**: `compliance/policy-opa` can enforce OPA policies that require Vault-sourced secrets in K8s manifests

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.