원클릭으로
security-audit
Pre-build and pre-deploy security audit — secret scans, IAM least-privilege, IRSA/WI verification, image signing, SBOM
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Pre-build and pre-deploy security audit — secret scans, IAM least-privilege, IRSA/WI verification, image signing, SBOM
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Scaffold and run batch scoring jobs (CronJob + Parquet output) that reuse the service's model + feature-engineering code without opening the live API
Root-cause a performance alert using sliced metrics + ground-truth
Review cloud costs against budget and identify optimization opportunities
Debug ML inference issues — latency spikes, wrong predictions, event loop blocking
Deploy ML service to EKS with Kustomize overlays and IRSA
Deploy ML service to GKE with Kustomize overlays and Workload Identity
| name | security-audit |
| description | Pre-build and pre-deploy security audit — secret scans, IAM least-privilege, IRSA/WI verification, image signing, SBOM |
| allowed-tools | ["Read","Grep","Glob","Bash(gitleaks:*)","Bash(trivy:*)","Bash(cosign:*)","Bash(syft:*)","Bash(kubectl:*)","Bash(aws:*)","Bash(gcloud:*)"] |
| when_to_use | Use BEFORE every build or deploy. Triggered automatically by Agent-DockerBuilder (pre-build) and Agent-K8sBuilder (pre-deploy). Also on demand: 'audit security of fraud-detector', 'check for secrets', 'verify image signatures'. |
| argument-hint | <service-path> [environment] |
| arguments | ["service-path","environment"] |
| authorization_mode | {"scan":"AUTO","block_build":"AUTO","rotate_secret":"STOP"} |
Agent-SecurityAuditor runs this skill before every build and deploy. Blocks the pipeline if any critical finding is detected.
gitleaks detect --no-git --source=<service-path> --redact --config=.gitleaks.tomlgitleaks detect --source=<repo> --log-opts="-50".env, .env.local, .envrc — must not be committedterraform.tfstate must NOT exist in repo (D-10)Block pipeline if any finding. Chain to /secret-breach for rotation.
trivy fs --severity HIGH,CRITICAL <service-path>requirements.txt for known CVEstrivy image --severity HIGH,CRITICAL <image-tag>grep -rE "AWS_ACCESS_KEY_ID|AWS_SECRET_ACCESS_KEY" --include="*.py" --include="*.yaml" <service-path>
must return zero hardcoded valuesannotations.iam.gke.io/gcp-service-account (GCP) or
annotations.eks.amazonaws.com/role-arn (AWS)Resource specified (not "*") and Condition where applicablecosign verify <image-ref> \
--certificate-identity-regexp 'https://github.com/ORG/REPO/.github/workflows/ci.yml@.*' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com
templates/k8s/policies/kyverno-image-verification.yaml).sign_image step.cosign verify --key <pub-key> — that pattern requires
long-lived key material (D-17/D-18 violation) and is not what the
Kyverno ClusterPolicy in this template expects.syft <image-tag> -o cyclonedx-json > sbom.jsoncosign attest --predicate sbom.json --type cyclonedx <image-tag>grep -rE "print\(.*(password|token|secret|key)" <service-path> must return zero/predict endpoint must NOT log request bodies in productionlogger.exception with care)| Caller | When | Mode |
|---|---|---|
| Agent-DockerBuilder | Pre-build (before docker build) | AUTO — block if findings |
| Agent-K8sBuilder | Pre-deploy (before kubectl apply) | AUTO — block if findings |
| Agent-CICDBuilder | On every PR via CI workflow | AUTO — comment on PR |
| CI scheduled (weekly) | Full audit across all services | AUTO — open issue if new findings |
| Human-triggered | audit security of <service> | AUTO — report to console |
Every run produces:
eda/artifacts/security_audit_<timestamp>.json — structured findings0 = clean, 1 = findings, 2 = tool errorIf findings are detected:
Output the AGENT MODE signal (per AGENTS.md):
[AGENT MODE: STOP — BLOCKED BY SECURITY AUDIT]
Operation: {build|deploy} of {service}
Findings: <count> critical, <count> high
Details: <path to audit report>
Waiting for: Engineer resolution
Do NOT propose a workaround. Skipping security findings requires:
--skip-security-audit=<finding-id> (engineer must review)Chain to /secret-breach if findings include any secret leak.
.windsurf/rules/12-security-secrets.md (always_on)secret-breach-response (activated on secret findings)/secret-breachADR-005 (agent behavior & security)