env-secrets-manager – skill Lập trình cho agent AI
Quản lý vệ sinh biến môi trường và an toàn secrets trên môi trường phát triển cục bộ và production. Kiểm toán thực tế, nhận diện drift, sẵn sàng xoay vòng credential. Dùng khi kiểm toán file .env để tìm secret bị commit, lên kế hoạch xoay vòng credential, gỡ lỗi sự cố thiếu biến môi trường trên production, hoặc tăng cường bảo mật cho dự án mới chống
Cài skill env-secrets-manager bằng một lệnh
Chọn công cụ bạn đang dùng, copy lệnh và dán vào terminal. Skill sẽ nằm trong thư mục skills của công cụ đó và sẵn sàng dùng ở phiên làm việc tiếp theo.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/env-secrets-manager-558fc.tgz | tar xz -C ~/.claude/skills
Gọi trong Claude Code: /env-secrets-manager – rồi mô tả công việc bạn muốn làm.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/env-secrets-manager-558fc.tgz | tar xz -C ~/.codex/skills
Gọi trong Codex: $env-secrets-manager – rồi mô tả công việc bạn muốn làm.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/env-secrets-manager-558fc.tgz | tar xz -C ~/.hermes/skills
Gọi trong Hermes Agent: /env-secrets-manager – rồi mô tả công việc bạn muốn làm.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/env-secrets-manager-558fc.tgz | tar xz -C ~/.deepcode/skills
Gọi trong DeepSeek: /env-secrets-manager – rồi mô tả công việc bạn muốn làm.
Nội dung SKILL.md
Nội dung SKILL.md gốc bằng tiếng Anh.
Env & Secrets Manager
Tier: POWERFUL
Category: Engineering
Domain: Security / DevOps / Configuration Management
---
Overview
Manage environment-variable hygiene and secrets safety across local development and production workflows. This skill focuses on practical auditing, drift awareness, and rotation readiness.
Core Capabilities
.envand.env.examplelifecycle guidance- Secret leak detection for repository working trees
- Severity-based findings for likely credentials
- Operational pointers for rotation and containment
- Integration-ready outputs for CI checks
---
When to Use
- Before pushing commits that touched env/config files
- During security audits and incident triage
- When onboarding contributors who need safe env conventions
- When validating that no obvious secrets are hardcoded
---
Quick Start
# Scan a repository for likely secret leaks
python3 scripts/env_auditor.py /path/to/repo
# JSON output for CI pipelines
python3 scripts/env_auditor.py /path/to/repo --json---
Recommended Workflow
1. Run scripts/env_auditor.py on the repository root.
2. Prioritize critical and high findings first.
3. Rotate real credentials and remove exposed values.
4. Update .env.example and .gitignore as needed.
5. Add or tighten pre-commit/CI secret scanning gates.
---
Reference Docs
references/validation-detection-rotation.mdreferences/secret-patterns.md
---
Common Pitfalls
- Committing real values in
.env.example - Rotating one system but missing downstream consumers
- Logging secrets during debugging or incident response
- Treating suspected leaks as low urgency without validation
Best Practices
1. Use a secret manager as the production source of truth.
2. Keep dev env files local and gitignored.
3. Enforce detection in CI before merge.
4. Re-test application paths immediately after credential rotation.
---
Cloud Secret Store Integration
Production applications should never read secrets from .env files or environment variables baked into container images. Use a dedicated secret store instead.
Provider Comparison
| Provider | Best For | Key Feature |
|----------|----------|-------------|
| HashiCorp Vault | Multi-cloud / hybrid | Dynamic secrets, policy engine, pluggable backends |
| AWS Secrets Manager | AWS-native workloads | Native Lambda/ECS/EKS integration, automatic RDS rotation |
| Azure Key Vault | Azure-native workloads | Managed HSM, Azure AD RBAC, certificate management |
| GCP Secret Manager | GCP-native workloads | IAM-based access, automatic replication, versioning |
Selection Guidance
- Single cloud provider — use the cloud-native secret manager. It integrates tightly with IAM, reduces operational overhead, and costs less than self-hosting.
- Multi-cloud or hybrid — use HashiCorp Vault. It provides a uniform API across environments and supports dynamic secret generation (database credentials, cloud IAM keys) that expire automatically.
- Kubernetes-heavy — combine External Secrets Operator with any backend above to sync secrets into K8s
Secretobjects without hardcoding.
Application Access Patterns
1. SDK/API pull — application fetches secret at startup or on-demand via provider SDK.
2. Sidecar injection — a sidecar container (e.g., Vault Agent) writes secrets to a shared volume or injects them as environment variables.
3. Init container — a Kubernetes init container fetches secrets before the main container starts.
4. CSI driver — secrets mount as a filesystem volume via the Secrets Store CSI Driver.
> Cross-reference: See engineering/secrets-vault-manager for production vault infrastructure patterns, HA deployment, and disaster recovery procedures.
---
Secret Rotation Workflow
Stale secrets are a liability. Rotation ensures that even if a credential leaks, its useful lifetime is bounded.
Phase 1: Detection
- Track secret creation and expiry dates in your secret store metadata.
- Set alerts at 30, 14, and 7 days before expiry.
- Use
scripts/env_auditor.pyto flag secrets with no recorded rotation date.
Phase 2: Rotation
1. Generate a new credential (API key, database password, certificate).
2. Deploy the new credential to all consumers (apps, services, pipelines) in parallel.
3. Verify each consumer can authenticate using the new credential.
4. Revoke the old credential only after all consumers are confirmed healthy.
5. Update metadata with the new rotation timestamp and next rotation date.
Phase 3: Automation
- AWS Secrets Manager — use built-in Lambda-based rotation for RDS, Redshift, and DocumentDB.
- HashiCorp Vault — configure dynamic secrets with TTLs; credentials are generated on-demand and auto-expire.
- Azure Key Vault — use Event Grid notifications to trigger rotation functions.
- GCP Secret Manager — use Pub/Sub notifications tied to Cloud Functions for rotation logic.
Emergency Rotation Checklist
When a secret is confirmed leaked:
1. Immediately revoke the compromised credential at the provider level.
2. Generate and deploy a replacement credential to all consumers.
3. Audit access logs for unauthorized usage during the exposure window.
4. Scan git history, CI logs, and artifact registries for the leaked value.
5. File an incident report documenting scope, timeline, and remediation steps.
6. Review and tighten detection controls to prevent recurrence.
---
CI/CD Secret Injection
Secrets in CI/CD pipelines require careful handling to avoid exposure in logs, artifacts, or pull request contexts.
GitHub Actions
- Use repository secrets or environment secrets via
${{ secrets.SECRET_NAME }}. - Prefer OIDC federation (
aws-actions/configure-aws-credentialswithrole-to-assume) over long-lived access keys. - Environment secrets with required reviewers add approval gates for production deployments.
- GitHub automatically masks secrets in logs, but avoid
echoortoJSON()on secret values.
GitLab CI
- Store secrets as CI/CD variables with the
maskedandprotectedflags enabled. - Use HashiCorp Vault integration (
secrets:vault) for dynamic secret injection without storing values in GitLab. - Scope variables to specific environments (
production,staging) to enforce least privilege.
Universal Patterns
- Never echo or print secret values in pipeline output, even for debugging.
- Use short-lived tokens (OIDC, STS AssumeRole) instead of static credentials wherever possible.
- Restrict PR access — do not expose secrets to pipelines triggered by forks or untrusted branches.
- Rotate CI secrets on the same schedule as application secrets; pipeline credentials are attack vectors too.
- Audit pipeline logs periodically for accidental secret exposure that masking may have missed.
---
Pre-Commit Secret Detection
Catching secrets before they reach version control is the most cost-effective defense. Two leading tools cover this space.
gitleaks
# .gitleaks.toml — minimal configuration
[extend]
useDefault = true
[[rules]]
id = "custom-internal-token"
description = "Internal service token pattern"
regex = '''INTERNAL_TOKEN_[A-Za-z0-9]{32}'''
secretGroup = 0- Install:
brew install gitleaksor download from GitHub releases. - Pre-commit hook:
gitleaks git --pre-commit --staged - Baseline scanning:
gitleaks detect --source . --report-path gitleaks-report.json - Manage false positives in
.gitleaksignore(one fingerprint per line).
detect-secrets
# Generate baseline
detect-secrets scan --all-files > .secrets.baseline
# Pre-commit hook (via pre-commit framework)
# .pre-commit-config.yaml
repos:
- repo: https://github.com/Yelp/detect-secrets
rev: v1.5.0
hooks:
- id: detect-secrets
args: ['--baseline', '.secrets.baseline']- Supports custom plugins for organization-specific patterns.
- Audit workflow:
detect-secrets audit .secrets.baselineinteractively marks true/false positives.
False Positive Management
- Maintain
.gitleaksignoreor.secrets.baselinein version control so the whole team shares exclusions. - Review false positive lists during security audits — patterns may mask real leaks over time.
- Prefer tightening regex patterns over broadly ignoring files.
---
Audit Logging
Knowing who accessed which secret and when is critical for incident investigation and compliance.
Cloud-Native Audit Trails
| Provider | Service | What It Captures |
|----------|---------|-----------------|
| AWS | CloudTrail | Every GetSecretValue, DescribeSecret, RotateSecret API call |
| Azure | Activity Log + Diagnostic Logs | Key Vault access events, including caller identity and IP |
| GCP | Cloud Audit Logs | Data access logs for Secret Manager with principal and timestamp |
| Vault | Audit Backend | Full re
… (nội dung đầy đủ có trong gói tải về)
Skill liên quan
- bash – Hướng dẫn viết code chuẩn theo ngôn ngữ cho bash.
- bats-testing-patterns – Thành thạo Bats (Bash Automated Testing System) để kiểm thử toàn diện shell script. Dùng…
- hunt-ssti – Săn lỗ hổng server-side template injection (SSTI) trên Jinja2 (Flask/Django), Twig…
- bdistill-behavioral-xray – X-ray hành vi của mọi mô hình AI — ranh giới từ chối, xu hướng ảo giác, phong cách suy…
- bdistill-knowledge-extraction – Trích xuất tri thức miền có cấu trúc từ mô hình AI ngay trong phiên, hoặc từ mô hình mã…
- before-you-build – Đánh giá rủi ro sản phẩm trước khi code bằng cách kiểm tra nhu cầu, phương án thay thế…
- behavioral-modes – Các chế độ vận hành của AI (brainstorm, implement, debug, review, teach, ship…
- experiment-designer – Dùng khi lên kế hoạch thử nghiệm sản phẩm, viết giả thuyết kiểm chứng được, ước lượng cỡ…