@raishin/vanguard-frontier-agentic 1.2.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +250 -110
- package/agents/AGENTS.md +263 -21
- package/agents/argocd/README.md +46 -0
- package/agents/argocd/argo-rollouts-progressive-delivery-review-agent/AGENT.md +55 -0
- package/agents/argocd/argo-rollouts-progressive-delivery-review-agent/harnesses/claude-code.agent.md +35 -0
- package/agents/argocd/argo-rollouts-progressive-delivery-review-agent/harnesses/codex.toml +29 -0
- package/agents/argocd/argo-rollouts-progressive-delivery-review-agent/harnesses/copilot.agent.md +35 -0
- package/agents/argocd/argo-rollouts-progressive-delivery-review-agent/harnesses/cursor.agent.md +35 -0
- package/agents/argocd/argo-rollouts-progressive-delivery-review-agent/harnesses/gemini.agent.md +35 -0
- package/agents/argocd/argo-rollouts-progressive-delivery-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/argocd/argo-rollouts-progressive-delivery-review-agent/harnesses/kiro-ide.agent.md +35 -0
- package/agents/argocd/argo-rollouts-progressive-delivery-review-agent/metadata.json +31 -0
- package/agents/argocd/argocd-gitops-review-agent/AGENT.md +55 -0
- package/agents/argocd/argocd-gitops-review-agent/harnesses/claude-code.agent.md +38 -0
- package/agents/argocd/argocd-gitops-review-agent/harnesses/codex.toml +32 -0
- package/agents/argocd/argocd-gitops-review-agent/harnesses/copilot.agent.md +38 -0
- package/agents/argocd/argocd-gitops-review-agent/harnesses/cursor.agent.md +38 -0
- package/agents/argocd/argocd-gitops-review-agent/harnesses/gemini.agent.md +38 -0
- package/agents/argocd/argocd-gitops-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/argocd/argocd-gitops-review-agent/harnesses/kiro-ide.agent.md +38 -0
- package/agents/argocd/argocd-gitops-review-agent/metadata.json +30 -0
- package/agents/aws/aws-live-deployment-guarded-operator-agent/metadata.json +10 -1
- package/agents/aws/aws-live-ecs-rollout-guard-agent/metadata.json +10 -1
- package/agents/aws/aws-live-iac-change-guard-agent/metadata.json +10 -1
- package/agents/aws/aws-live-pipeline-approval-operator-agent/metadata.json +10 -1
- package/agents/aws/aws-live-serverless-release-guard-agent/metadata.json +10 -1
- package/agents/aws/aws-private-ca-issuer-review-agent/AGENT.md +53 -0
- package/agents/aws/aws-private-ca-issuer-review-agent/harnesses/claude-code.agent.md +36 -0
- package/agents/aws/aws-private-ca-issuer-review-agent/harnesses/codex.toml +27 -0
- package/agents/aws/aws-private-ca-issuer-review-agent/harnesses/copilot.agent.md +36 -0
- package/agents/aws/aws-private-ca-issuer-review-agent/harnesses/cursor.agent.md +36 -0
- package/agents/aws/aws-private-ca-issuer-review-agent/harnesses/gemini.agent.md +36 -0
- package/agents/aws/aws-private-ca-issuer-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/aws/aws-private-ca-issuer-review-agent/harnesses/kiro-ide.agent.md +36 -0
- package/agents/aws/aws-private-ca-issuer-review-agent/metadata.json +37 -0
- package/agents/azure/README.md +45 -0
- package/agents/azure/azure-keyvault-certificate-issuer-review-agent/AGENT.md +53 -0
- package/agents/azure/azure-keyvault-certificate-issuer-review-agent/harnesses/claude-code.agent.md +36 -0
- package/agents/azure/azure-keyvault-certificate-issuer-review-agent/harnesses/codex.toml +27 -0
- package/agents/azure/azure-keyvault-certificate-issuer-review-agent/harnesses/copilot.agent.md +36 -0
- package/agents/azure/azure-keyvault-certificate-issuer-review-agent/harnesses/cursor.agent.md +36 -0
- package/agents/azure/azure-keyvault-certificate-issuer-review-agent/harnesses/gemini.agent.md +36 -0
- package/agents/azure/azure-keyvault-certificate-issuer-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/azure/azure-keyvault-certificate-issuer-review-agent/harnesses/kiro-ide.agent.md +36 -0
- package/agents/azure/azure-keyvault-certificate-issuer-review-agent/metadata.json +36 -0
- package/agents/azure/azure-live-aks-rollout-guard-agent/metadata.json +10 -1
- package/agents/azure/azure-live-app-service-slot-swap-guard-agent/metadata.json +10 -1
- package/agents/azure/azure-live-arm-deployment-stack-guard-agent/metadata.json +10 -1
- package/agents/azure/azure-live-cost-budget-action-guard-agent/metadata.json +10 -1
- package/agents/azure/azure-live-entra-role-assignment-guard-agent/AGENT.md +59 -0
- package/agents/azure/azure-live-entra-role-assignment-guard-agent/harnesses/claude-code.agent.md +42 -0
- package/agents/azure/azure-live-entra-role-assignment-guard-agent/harnesses/codex.toml +34 -0
- package/agents/azure/azure-live-entra-role-assignment-guard-agent/harnesses/copilot.agent.md +55 -0
- package/agents/azure/azure-live-entra-role-assignment-guard-agent/harnesses/cursor.agent.md +44 -0
- package/agents/azure/azure-live-entra-role-assignment-guard-agent/harnesses/gemini.agent.md +43 -0
- package/agents/azure/azure-live-entra-role-assignment-guard-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/azure/azure-live-entra-role-assignment-guard-agent/harnesses/kiro-ide.agent.md +42 -0
- package/agents/azure/azure-live-entra-role-assignment-guard-agent/metadata.json +37 -0
- package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/metadata.json +10 -1
- package/agents/azure/azure-live-pim-jit-activation-guard-agent/metadata.json +11 -2
- package/agents/backstage/README.md +36 -0
- package/agents/backstage/backstage-scaffolder-template-review-agent/AGENT.md +54 -0
- package/agents/backstage/backstage-scaffolder-template-review-agent/harnesses/claude-code.agent.md +37 -0
- package/agents/backstage/backstage-scaffolder-template-review-agent/harnesses/codex.toml +31 -0
- package/agents/backstage/backstage-scaffolder-template-review-agent/harnesses/copilot.agent.md +37 -0
- package/agents/backstage/backstage-scaffolder-template-review-agent/harnesses/cursor.agent.md +37 -0
- package/agents/backstage/backstage-scaffolder-template-review-agent/harnesses/gemini.agent.md +37 -0
- package/agents/backstage/backstage-scaffolder-template-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/backstage/backstage-scaffolder-template-review-agent/harnesses/kiro-ide.agent.md +37 -0
- package/agents/backstage/backstage-scaffolder-template-review-agent/metadata.json +30 -0
- package/agents/cert-manager/README.md +46 -0
- package/agents/cert-manager/cert-manager-issuer-trust-review-agent/AGENT.md +55 -0
- package/agents/cert-manager/cert-manager-issuer-trust-review-agent/harnesses/claude-code.agent.md +35 -0
- package/agents/cert-manager/cert-manager-issuer-trust-review-agent/harnesses/codex.toml +29 -0
- package/agents/cert-manager/cert-manager-issuer-trust-review-agent/harnesses/copilot.agent.md +35 -0
- package/agents/cert-manager/cert-manager-issuer-trust-review-agent/harnesses/cursor.agent.md +35 -0
- package/agents/cert-manager/cert-manager-issuer-trust-review-agent/harnesses/gemini.agent.md +35 -0
- package/agents/cert-manager/cert-manager-issuer-trust-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/cert-manager/cert-manager-issuer-trust-review-agent/harnesses/kiro-ide.agent.md +35 -0
- package/agents/cert-manager/cert-manager-issuer-trust-review-agent/metadata.json +31 -0
- package/agents/cilium/README.md +46 -0
- package/agents/cilium/cilium-network-policy-review-agent/AGENT.md +55 -0
- package/agents/cilium/cilium-network-policy-review-agent/harnesses/claude-code.agent.md +38 -0
- package/agents/cilium/cilium-network-policy-review-agent/harnesses/codex.toml +32 -0
- package/agents/cilium/cilium-network-policy-review-agent/harnesses/copilot.agent.md +38 -0
- package/agents/cilium/cilium-network-policy-review-agent/harnesses/cursor.agent.md +38 -0
- package/agents/cilium/cilium-network-policy-review-agent/harnesses/gemini.agent.md +38 -0
- package/agents/cilium/cilium-network-policy-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/cilium/cilium-network-policy-review-agent/harnesses/kiro-ide.agent.md +38 -0
- package/agents/cilium/cilium-network-policy-review-agent/metadata.json +37 -0
- package/agents/falco/README.md +36 -0
- package/agents/falco/falco-runtime-threat-rules-review-agent/AGENT.md +49 -0
- package/agents/falco/falco-runtime-threat-rules-review-agent/harnesses/claude-code.agent.md +33 -0
- package/agents/falco/falco-runtime-threat-rules-review-agent/harnesses/codex.toml +31 -0
- package/agents/falco/falco-runtime-threat-rules-review-agent/harnesses/copilot.agent.md +33 -0
- package/agents/falco/falco-runtime-threat-rules-review-agent/harnesses/cursor.agent.md +33 -0
- package/agents/falco/falco-runtime-threat-rules-review-agent/harnesses/gemini.agent.md +33 -0
- package/agents/falco/falco-runtime-threat-rules-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/falco/falco-runtime-threat-rules-review-agent/harnesses/kiro-ide.agent.md +33 -0
- package/agents/falco/falco-runtime-threat-rules-review-agent/metadata.json +31 -0
- package/agents/finops/README.md +27 -0
- package/agents/finops/finops-cloud-price-advisor-agent/metadata.json +10 -1
- package/agents/fluxcd/README.md +39 -0
- package/agents/fluxcd/fluxcd-kustomization-helmrelease-review-agent/AGENT.md +55 -0
- package/agents/fluxcd/fluxcd-kustomization-helmrelease-review-agent/harnesses/claude-code.agent.md +38 -0
- package/agents/fluxcd/fluxcd-kustomization-helmrelease-review-agent/harnesses/codex.toml +32 -0
- package/agents/fluxcd/fluxcd-kustomization-helmrelease-review-agent/harnesses/copilot.agent.md +38 -0
- package/agents/fluxcd/fluxcd-kustomization-helmrelease-review-agent/harnesses/cursor.agent.md +38 -0
- package/agents/fluxcd/fluxcd-kustomization-helmrelease-review-agent/harnesses/gemini.agent.md +38 -0
- package/agents/fluxcd/fluxcd-kustomization-helmrelease-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/fluxcd/fluxcd-kustomization-helmrelease-review-agent/harnesses/kiro-ide.agent.md +38 -0
- package/agents/fluxcd/fluxcd-kustomization-helmrelease-review-agent/metadata.json +31 -0
- package/agents/istio/README.md +46 -0
- package/agents/istio/istio-ambient-mesh-review-agent/AGENT.md +55 -0
- package/agents/istio/istio-ambient-mesh-review-agent/harnesses/claude-code.agent.md +38 -0
- package/agents/istio/istio-ambient-mesh-review-agent/harnesses/codex.toml +32 -0
- package/agents/istio/istio-ambient-mesh-review-agent/harnesses/copilot.agent.md +38 -0
- package/agents/istio/istio-ambient-mesh-review-agent/harnesses/cursor.agent.md +38 -0
- package/agents/istio/istio-ambient-mesh-review-agent/harnesses/gemini.agent.md +38 -0
- package/agents/istio/istio-ambient-mesh-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/istio/istio-ambient-mesh-review-agent/harnesses/kiro-ide.agent.md +38 -0
- package/agents/istio/istio-ambient-mesh-review-agent/metadata.json +30 -0
- package/agents/kubernetes/README.md +143 -0
- package/agents/kubernetes/external-secrets-operator-review-agent/AGENT.md +49 -0
- package/agents/kubernetes/external-secrets-operator-review-agent/harnesses/claude-code.agent.md +33 -0
- package/agents/kubernetes/external-secrets-operator-review-agent/harnesses/codex.toml +31 -0
- package/agents/kubernetes/external-secrets-operator-review-agent/harnesses/copilot.agent.md +33 -0
- package/agents/kubernetes/external-secrets-operator-review-agent/harnesses/cursor.agent.md +33 -0
- package/agents/kubernetes/external-secrets-operator-review-agent/harnesses/gemini.agent.md +33 -0
- package/agents/kubernetes/external-secrets-operator-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/external-secrets-operator-review-agent/harnesses/kiro-ide.agent.md +33 -0
- package/agents/kubernetes/external-secrets-operator-review-agent/metadata.json +31 -0
- package/agents/kubernetes/kubecost-chargeback-allocation-review-agent/AGENT.md +56 -0
- package/agents/kubernetes/kubecost-chargeback-allocation-review-agent/harnesses/claude-code.agent.md +39 -0
- package/agents/kubernetes/kubecost-chargeback-allocation-review-agent/harnesses/codex.toml +34 -0
- package/agents/kubernetes/kubecost-chargeback-allocation-review-agent/harnesses/copilot.agent.md +39 -0
- package/agents/kubernetes/kubecost-chargeback-allocation-review-agent/harnesses/cursor.agent.md +39 -0
- package/agents/kubernetes/kubecost-chargeback-allocation-review-agent/harnesses/gemini.agent.md +39 -0
- package/agents/kubernetes/kubecost-chargeback-allocation-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubecost-chargeback-allocation-review-agent/harnesses/kiro-ide.agent.md +39 -0
- package/agents/kubernetes/kubecost-chargeback-allocation-review-agent/metadata.json +31 -0
- package/agents/kubernetes/kubernetes-live-admission-policy-guard-agent/AGENT.md +59 -0
- package/agents/kubernetes/kubernetes-live-admission-policy-guard-agent/harnesses/claude-code.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-admission-policy-guard-agent/harnesses/codex.toml +33 -0
- package/agents/kubernetes/kubernetes-live-admission-policy-guard-agent/harnesses/copilot.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-admission-policy-guard-agent/harnesses/cursor.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-admission-policy-guard-agent/harnesses/gemini.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-admission-policy-guard-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubernetes-live-admission-policy-guard-agent/harnesses/kiro-ide.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-admission-policy-guard-agent/metadata.json +37 -0
- package/agents/kubernetes/kubernetes-live-argocd-sync-guard-agent/AGENT.md +59 -0
- package/agents/kubernetes/kubernetes-live-argocd-sync-guard-agent/harnesses/claude-code.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-argocd-sync-guard-agent/harnesses/codex.toml +33 -0
- package/agents/kubernetes/kubernetes-live-argocd-sync-guard-agent/harnesses/copilot.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-argocd-sync-guard-agent/harnesses/cursor.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-argocd-sync-guard-agent/harnesses/gemini.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-argocd-sync-guard-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubernetes-live-argocd-sync-guard-agent/harnesses/kiro-ide.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-argocd-sync-guard-agent/metadata.json +37 -0
- package/agents/kubernetes/kubernetes-live-mesh-policy-guard-agent/AGENT.md +59 -0
- package/agents/kubernetes/kubernetes-live-mesh-policy-guard-agent/harnesses/claude-code.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-mesh-policy-guard-agent/harnesses/codex.toml +33 -0
- package/agents/kubernetes/kubernetes-live-mesh-policy-guard-agent/harnesses/copilot.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-mesh-policy-guard-agent/harnesses/cursor.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-mesh-policy-guard-agent/harnesses/gemini.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-mesh-policy-guard-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubernetes-live-mesh-policy-guard-agent/harnesses/kiro-ide.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-mesh-policy-guard-agent/metadata.json +37 -0
- package/agents/kubernetes/kubernetes-live-network-policy-guard-agent/AGENT.md +59 -0
- package/agents/kubernetes/kubernetes-live-network-policy-guard-agent/harnesses/claude-code.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-network-policy-guard-agent/harnesses/codex.toml +33 -0
- package/agents/kubernetes/kubernetes-live-network-policy-guard-agent/harnesses/copilot.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-network-policy-guard-agent/harnesses/cursor.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-network-policy-guard-agent/harnesses/gemini.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-network-policy-guard-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubernetes-live-network-policy-guard-agent/harnesses/kiro-ide.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-network-policy-guard-agent/metadata.json +37 -0
- package/agents/kubernetes/kubernetes-live-rbac-mutation-guard-agent/AGENT.md +59 -0
- package/agents/kubernetes/kubernetes-live-rbac-mutation-guard-agent/harnesses/claude-code.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-rbac-mutation-guard-agent/harnesses/codex.toml +34 -0
- package/agents/kubernetes/kubernetes-live-rbac-mutation-guard-agent/harnesses/copilot.agent.md +55 -0
- package/agents/kubernetes/kubernetes-live-rbac-mutation-guard-agent/harnesses/cursor.agent.md +44 -0
- package/agents/kubernetes/kubernetes-live-rbac-mutation-guard-agent/harnesses/gemini.agent.md +43 -0
- package/agents/kubernetes/kubernetes-live-rbac-mutation-guard-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubernetes-live-rbac-mutation-guard-agent/harnesses/kiro-ide.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-rbac-mutation-guard-agent/metadata.json +36 -0
- package/agents/kubernetes/kubernetes-live-velero-restore-guard-agent/AGENT.md +62 -0
- package/agents/kubernetes/kubernetes-live-velero-restore-guard-agent/harnesses/claude-code.agent.md +43 -0
- package/agents/kubernetes/kubernetes-live-velero-restore-guard-agent/harnesses/codex.toml +35 -0
- package/agents/kubernetes/kubernetes-live-velero-restore-guard-agent/harnesses/copilot.agent.md +43 -0
- package/agents/kubernetes/kubernetes-live-velero-restore-guard-agent/harnesses/cursor.agent.md +43 -0
- package/agents/kubernetes/kubernetes-live-velero-restore-guard-agent/harnesses/gemini.agent.md +43 -0
- package/agents/kubernetes/kubernetes-live-velero-restore-guard-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubernetes-live-velero-restore-guard-agent/harnesses/kiro-ide.agent.md +43 -0
- package/agents/kubernetes/kubernetes-live-velero-restore-guard-agent/metadata.json +38 -0
- package/agents/kubernetes/kubernetes-maestro-agent/AGENT.md +55 -0
- package/agents/kubernetes/kubernetes-maestro-agent/harnesses/claude-code.agent.md +38 -0
- package/agents/kubernetes/kubernetes-maestro-agent/harnesses/codex.toml +34 -0
- package/agents/kubernetes/kubernetes-maestro-agent/harnesses/copilot.agent.md +38 -0
- package/agents/kubernetes/kubernetes-maestro-agent/harnesses/cursor.agent.md +38 -0
- package/agents/kubernetes/kubernetes-maestro-agent/harnesses/gemini.agent.md +38 -0
- package/agents/kubernetes/kubernetes-maestro-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubernetes-maestro-agent/harnesses/kiro-ide.agent.md +38 -0
- package/agents/kubernetes/kubernetes-maestro-agent/metadata.json +40 -0
- package/agents/kubernetes/kubernetes-pod-spec-review-agent/AGENT.md +54 -0
- package/agents/kubernetes/kubernetes-pod-spec-review-agent/harnesses/claude-code.agent.md +37 -0
- package/agents/kubernetes/kubernetes-pod-spec-review-agent/harnesses/codex.toml +27 -0
- package/agents/kubernetes/kubernetes-pod-spec-review-agent/harnesses/copilot.agent.md +37 -0
- package/agents/kubernetes/kubernetes-pod-spec-review-agent/harnesses/cursor.agent.md +37 -0
- package/agents/kubernetes/kubernetes-pod-spec-review-agent/harnesses/gemini.agent.md +37 -0
- package/agents/kubernetes/kubernetes-pod-spec-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubernetes-pod-spec-review-agent/harnesses/kiro-ide.agent.md +37 -0
- package/agents/kubernetes/kubernetes-pod-spec-review-agent/metadata.json +38 -0
- package/agents/kubernetes/kubernetes-psa-review-agent/AGENT.md +55 -0
- package/agents/kubernetes/kubernetes-psa-review-agent/harnesses/claude-code.agent.md +36 -0
- package/agents/kubernetes/kubernetes-psa-review-agent/harnesses/codex.toml +29 -0
- package/agents/kubernetes/kubernetes-psa-review-agent/harnesses/copilot.agent.md +36 -0
- package/agents/kubernetes/kubernetes-psa-review-agent/harnesses/cursor.agent.md +36 -0
- package/agents/kubernetes/kubernetes-psa-review-agent/harnesses/gemini.agent.md +36 -0
- package/agents/kubernetes/kubernetes-psa-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubernetes-psa-review-agent/harnesses/kiro-ide.agent.md +36 -0
- package/agents/kubernetes/kubernetes-psa-review-agent/metadata.json +38 -0
- package/agents/kubernetes/kubernetes-rbac-review-agent/AGENT.md +55 -0
- package/agents/kubernetes/kubernetes-rbac-review-agent/harnesses/claude-code.agent.md +38 -0
- package/agents/kubernetes/kubernetes-rbac-review-agent/harnesses/codex.toml +32 -0
- package/agents/kubernetes/kubernetes-rbac-review-agent/harnesses/copilot.agent.md +51 -0
- package/agents/kubernetes/kubernetes-rbac-review-agent/harnesses/cursor.agent.md +40 -0
- package/agents/kubernetes/kubernetes-rbac-review-agent/harnesses/gemini.agent.md +39 -0
- package/agents/kubernetes/kubernetes-rbac-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubernetes-rbac-review-agent/harnesses/kiro-ide.agent.md +38 -0
- package/agents/kubernetes/kubernetes-rbac-review-agent/metadata.json +36 -0
- package/agents/kubernetes/kubernetes-workload-identity-review-agent/AGENT.md +55 -0
- package/agents/kubernetes/kubernetes-workload-identity-review-agent/harnesses/claude-code.agent.md +37 -0
- package/agents/kubernetes/kubernetes-workload-identity-review-agent/harnesses/codex.toml +29 -0
- package/agents/kubernetes/kubernetes-workload-identity-review-agent/harnesses/copilot.agent.md +37 -0
- package/agents/kubernetes/kubernetes-workload-identity-review-agent/harnesses/cursor.agent.md +37 -0
- package/agents/kubernetes/kubernetes-workload-identity-review-agent/harnesses/gemini.agent.md +37 -0
- package/agents/kubernetes/kubernetes-workload-identity-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubernetes-workload-identity-review-agent/harnesses/kiro-ide.agent.md +37 -0
- package/agents/kubernetes/kubernetes-workload-identity-review-agent/metadata.json +37 -0
- package/agents/kyverno/README.md +46 -0
- package/agents/kyverno/kyverno-policy-review-agent/AGENT.md +55 -0
- package/agents/kyverno/kyverno-policy-review-agent/harnesses/claude-code.agent.md +38 -0
- package/agents/kyverno/kyverno-policy-review-agent/harnesses/codex.toml +32 -0
- package/agents/kyverno/kyverno-policy-review-agent/harnesses/copilot.agent.md +38 -0
- package/agents/kyverno/kyverno-policy-review-agent/harnesses/cursor.agent.md +38 -0
- package/agents/kyverno/kyverno-policy-review-agent/harnesses/gemini.agent.md +38 -0
- package/agents/kyverno/kyverno-policy-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kyverno/kyverno-policy-review-agent/harnesses/kiro-ide.agent.md +38 -0
- package/agents/kyverno/kyverno-policy-review-agent/metadata.json +30 -0
- package/agents/oci/README.md +45 -0
- package/agents/oci/oci-certificates-issuer-review-agent/AGENT.md +53 -0
- package/agents/oci/oci-certificates-issuer-review-agent/harnesses/claude-code.agent.md +36 -0
- package/agents/oci/oci-certificates-issuer-review-agent/harnesses/codex.toml +27 -0
- package/agents/oci/oci-certificates-issuer-review-agent/harnesses/copilot.agent.md +36 -0
- package/agents/oci/oci-certificates-issuer-review-agent/harnesses/cursor.agent.md +36 -0
- package/agents/oci/oci-certificates-issuer-review-agent/harnesses/gemini.agent.md +36 -0
- package/agents/oci/oci-certificates-issuer-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/oci/oci-certificates-issuer-review-agent/harnesses/kiro-ide.agent.md +36 -0
- package/agents/oci/oci-certificates-issuer-review-agent/metadata.json +36 -0
- package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/metadata.json +11 -2
- package/agents/oci/oci-live-cost-budget-runaway-guard-agent/metadata.json +11 -2
- package/agents/oci/oci-live-iam-policy-compartment-guard-agent/metadata.json +10 -1
- package/agents/oci/oci-live-network-security-rule-guard-agent/AGENT.md +59 -0
- package/agents/oci/oci-live-network-security-rule-guard-agent/harnesses/claude-code.agent.md +42 -0
- package/agents/oci/oci-live-network-security-rule-guard-agent/harnesses/codex.toml +34 -0
- package/agents/oci/oci-live-network-security-rule-guard-agent/harnesses/copilot.agent.md +55 -0
- package/agents/oci/oci-live-network-security-rule-guard-agent/harnesses/cursor.agent.md +44 -0
- package/agents/oci/oci-live-network-security-rule-guard-agent/harnesses/gemini.agent.md +43 -0
- package/agents/oci/oci-live-network-security-rule-guard-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/oci/oci-live-network-security-rule-guard-agent/harnesses/kiro-ide.agent.md +42 -0
- package/agents/oci/oci-live-network-security-rule-guard-agent/metadata.json +37 -0
- package/agents/oci/oci-live-oke-rollout-guard-agent/metadata.json +11 -2
- package/agents/oci/oci-live-resource-manager-stack-guard-agent/metadata.json +10 -1
- package/agents/oci/oci-live-vault-key-destruction-guard-agent/metadata.json +10 -1
- package/agents/opentelemetry/README.md +37 -0
- package/agents/opentelemetry/opentelemetry-collector-config-review-agent/AGENT.md +55 -0
- package/agents/opentelemetry/opentelemetry-collector-config-review-agent/harnesses/claude-code.agent.md +38 -0
- package/agents/opentelemetry/opentelemetry-collector-config-review-agent/harnesses/codex.toml +32 -0
- package/agents/opentelemetry/opentelemetry-collector-config-review-agent/harnesses/copilot.agent.md +38 -0
- package/agents/opentelemetry/opentelemetry-collector-config-review-agent/harnesses/cursor.agent.md +38 -0
- package/agents/opentelemetry/opentelemetry-collector-config-review-agent/harnesses/gemini.agent.md +38 -0
- package/agents/opentelemetry/opentelemetry-collector-config-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/opentelemetry/opentelemetry-collector-config-review-agent/harnesses/kiro-ide.agent.md +38 -0
- package/agents/opentelemetry/opentelemetry-collector-config-review-agent/metadata.json +37 -0
- package/agents/prometheus/README.md +36 -0
- package/agents/prometheus/prometheus-alerting-cardinality-review-agent/AGENT.md +48 -0
- package/agents/prometheus/prometheus-alerting-cardinality-review-agent/harnesses/claude-code.agent.md +32 -0
- package/agents/prometheus/prometheus-alerting-cardinality-review-agent/harnesses/codex.toml +31 -0
- package/agents/prometheus/prometheus-alerting-cardinality-review-agent/harnesses/copilot.agent.md +32 -0
- package/agents/prometheus/prometheus-alerting-cardinality-review-agent/harnesses/cursor.agent.md +32 -0
- package/agents/prometheus/prometheus-alerting-cardinality-review-agent/harnesses/gemini.agent.md +32 -0
- package/agents/prometheus/prometheus-alerting-cardinality-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/prometheus/prometheus-alerting-cardinality-review-agent/harnesses/kiro-ide.agent.md +32 -0
- package/agents/prometheus/prometheus-alerting-cardinality-review-agent/metadata.json +31 -0
- package/agents/sigstore/README.md +38 -0
- package/agents/sigstore/sigstore-cosign-supply-chain-review-agent/AGENT.md +55 -0
- package/agents/sigstore/sigstore-cosign-supply-chain-review-agent/harnesses/claude-code.agent.md +35 -0
- package/agents/sigstore/sigstore-cosign-supply-chain-review-agent/harnesses/codex.toml +29 -0
- package/agents/sigstore/sigstore-cosign-supply-chain-review-agent/harnesses/copilot.agent.md +35 -0
- package/agents/sigstore/sigstore-cosign-supply-chain-review-agent/harnesses/cursor.agent.md +35 -0
- package/agents/sigstore/sigstore-cosign-supply-chain-review-agent/harnesses/gemini.agent.md +35 -0
- package/agents/sigstore/sigstore-cosign-supply-chain-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/sigstore/sigstore-cosign-supply-chain-review-agent/harnesses/kiro-ide.agent.md +35 -0
- package/agents/sigstore/sigstore-cosign-supply-chain-review-agent/metadata.json +31 -0
- package/agents/terraform/README.md +29 -0
- package/agents/terraform/terraform-reviewer/AGENT.md +2 -1
- package/agents/terraform/terraform-reviewer/harnesses/claude-code.agent.md +29 -0
- package/agents/terraform/terraform-reviewer/harnesses/codex.toml +29 -0
- package/agents/terraform/terraform-reviewer/harnesses/copilot.agent.md +42 -0
- package/agents/terraform/terraform-reviewer/harnesses/cursor.agent.md +31 -0
- package/agents/terraform/terraform-reviewer/harnesses/gemini.agent.md +30 -0
- package/agents/terraform/terraform-reviewer/harnesses/kiro-cli.agent.json +5 -0
- package/agents/terraform/terraform-reviewer/harnesses/kiro-ide.agent.md +29 -0
- package/agents/terraform/terraform-reviewer/metadata.json +10 -1
- package/agents/velero/README.md +41 -0
- package/assets/logos/vanguard-frontier-agentic-logo.png +0 -0
- package/catalog/agents.json +1452 -634
- package/catalog/install-roles.json +455 -0
- package/catalog/skill-manifest.json +1089 -335
- package/catalog/skills.json +1298 -528
- package/package.json +32 -3
- package/schemas/AGENTS.md +14 -0
- package/schemas/agent.frontmatter.schema.json +89 -0
- package/schemas/agent.schema.json +8 -0
- package/schemas/skill.frontmatter.schema.json +95 -0
- package/scripts/apply-skill-allowed-tools.py +142 -0
- package/scripts/backfill-skill-metadata.py +410 -0
- package/scripts/export-marketplace-agents.mjs +275 -9
- package/scripts/update-catalog-new-agents.py +88 -0
- package/skills/argocd/README.md +30 -0
- package/skills/argocd/argo-rollouts-progressive-delivery-review/SKILL.md +43 -0
- package/skills/argocd/argo-rollouts-progressive-delivery-review/metadata.json +22 -0
- package/skills/argocd/argo-rollouts-progressive-delivery-review/references/workflow-and-output.md +248 -0
- package/skills/argocd/argocd-gitops-review/SKILL.md +46 -0
- package/skills/argocd/argocd-gitops-review/metadata.json +30 -0
- package/skills/argocd/argocd-gitops-review/references/mcp-and-evidence.md +53 -0
- package/skills/argocd/argocd-gitops-review/references/official-sources.md +32 -0
- package/skills/argocd/argocd-gitops-review/references/workflow-and-output.md +120 -0
- package/skills/aws/README.md +3 -1
- package/skills/aws/aws-agentcore/SKILL.md +3 -0
- package/skills/aws/aws-api-edge-delivery-review/SKILL.md +3 -0
- package/skills/aws/aws-bedrock-agent-security-governor/SKILL.md +3 -0
- package/skills/aws/aws-change-impact-advisor/SKILL.md +3 -0
- package/skills/aws/aws-ci-cd-release-engineer/SKILL.md +3 -0
- package/skills/aws/aws-compliance-evidence-mapper/SKILL.md +3 -0
- package/skills/aws/aws-cost-anomaly-watch-coordinator/SKILL.md +3 -0
- package/skills/aws/aws-cost-optimization-governor/SKILL.md +3 -0
- package/skills/aws/aws-daily-operations-briefing-coordinator/SKILL.md +3 -0
- package/skills/aws/aws-data-protection-backup-steward/SKILL.md +3 -0
- package/skills/aws/aws-deployment-hotfix-operator/SKILL.md +3 -0
- package/skills/aws/aws-devops-agent-skill-designer/SKILL.md +3 -0
- package/skills/aws/aws-dynamodb-data-modeling-performance-review/SKILL.md +3 -0
- package/skills/aws/aws-ec2-compute-operations-steward/SKILL.md +3 -0
- package/skills/aws/aws-ecs-fargate-platform-operator/SKILL.md +3 -0
- package/skills/aws/aws-ecs-service-remediation-operator/SKILL.md +3 -0
- package/skills/aws/aws-eks-platform-operator/SKILL.md +3 -0
- package/skills/aws/aws-event-driven-architecture-review/SKILL.md +3 -0
- package/skills/aws/aws-generative-ai-developer/SKILL.md +3 -0
- package/skills/aws/aws-iac-change-safety-review/SKILL.md +3 -0
- package/skills/aws/aws-iac-patch-executor/SKILL.md +3 -0
- package/skills/aws/aws-iam-least-privilege-review/SKILL.md +3 -0
- package/skills/aws/aws-kms-secrets-lifecycle-steward/SKILL.md +3 -0
- package/skills/aws/aws-landing-zone-governor/SKILL.md +3 -0
- package/skills/aws/aws-live-deployment-guarded-operator/SKILL.md +3 -0
- package/skills/aws/aws-live-ecs-rollout-guard/SKILL.md +3 -0
- package/skills/aws/aws-live-iac-change-guard/SKILL.md +3 -0
- package/skills/aws/aws-live-pipeline-approval-operator/SKILL.md +3 -0
- package/skills/aws/aws-live-serverless-release-guard/SKILL.md +3 -0
- package/skills/aws/aws-maestro/SKILL.md +3 -0
- package/skills/aws/aws-maestro/references/workflow-and-output.md +2 -0
- package/skills/aws/aws-migration-cutover-architect/SKILL.md +3 -0
- package/skills/aws/aws-network-architect/SKILL.md +3 -0
- package/skills/aws/aws-non-destructive-task-automation-advisor/SKILL.md +3 -0
- package/skills/aws/aws-observability-incident-responder/SKILL.md +3 -0
- package/skills/aws/aws-pipeline-fix-operator/SKILL.md +3 -0
- package/skills/aws/aws-private-ca-issuer-review/SKILL.md +42 -0
- package/skills/aws/aws-private-ca-issuer-review/metadata.json +21 -0
- package/skills/aws/aws-private-ca-issuer-review/references/official-sources.md +22 -0
- package/skills/aws/aws-private-ca-issuer-review/references/safety-checklist.md +30 -0
- package/skills/aws/aws-private-ca-issuer-review/references/workflow-and-output.md +214 -0
- package/skills/aws/aws-rds-aurora-performance-investigator/SKILL.md +3 -0
- package/skills/aws/aws-resilience-bcdr-review/SKILL.md +3 -0
- package/skills/aws/aws-s3-data-perimeter-governor/SKILL.md +3 -0
- package/skills/aws/aws-security-posture-hardening/SKILL.md +3 -0
- package/skills/aws/aws-serverless-production-readiness/SKILL.md +3 -0
- package/skills/aws/aws-serverless-rollout-corrector/SKILL.md +3 -0
- package/skills/aws/aws-solution-architect/SKILL.md +3 -0
- package/skills/aws/aws-ticket-triage-escalation-coordinator/SKILL.md +3 -0
- package/skills/azure/README.md +3 -1
- package/skills/azure/azure-ai-foundry-ops-governor/SKILL.md +3 -0
- package/skills/azure/azure-aks-platform-operator/SKILL.md +3 -0
- package/skills/azure/azure-app-service-production-readiness/SKILL.md +3 -0
- package/skills/azure/azure-cosmosdb-application-developer/SKILL.md +3 -0
- package/skills/azure/azure-cosmosdb-performance-investigator/SKILL.md +3 -0
- package/skills/azure/azure-cosmosdb-platform-operator/SKILL.md +3 -0
- package/skills/azure/azure-cost-estimation-review/SKILL.md +3 -0
- package/skills/azure/azure-cost-optimization-governor/SKILL.md +3 -0
- package/skills/azure/azure-entra-id-specialist/SKILL.md +3 -0
- package/skills/azure/azure-governance-policy-guardrails/SKILL.md +3 -0
- package/skills/azure/azure-identity-governance-review/SKILL.md +3 -0
- package/skills/azure/azure-key-vault-secret-lifecycle-auditor/SKILL.md +3 -0
- package/skills/azure/azure-keyvault-certificate-issuer-review/SKILL.md +40 -0
- package/skills/azure/azure-keyvault-certificate-issuer-review/metadata.json +20 -0
- package/skills/azure/azure-keyvault-certificate-issuer-review/references/workflow-and-output.md +190 -0
- package/skills/azure/azure-landing-zone-architect/SKILL.md +3 -0
- package/skills/azure/azure-live-aks-rollout-guard/SKILL.md +3 -0
- package/skills/azure/azure-live-app-service-slot-swap-guard/SKILL.md +3 -0
- package/skills/azure/azure-live-arm-deployment-stack-guard/SKILL.md +3 -0
- package/skills/azure/azure-live-cost-budget-action-guard/SKILL.md +3 -0
- package/skills/azure/azure-live-entra-role-assignment-guard/SKILL.md +59 -0
- package/skills/azure/azure-live-entra-role-assignment-guard/metadata.json +28 -0
- package/skills/azure/azure-live-entra-role-assignment-guard/references/official-sources.md +21 -0
- package/skills/azure/azure-live-entra-role-assignment-guard/references/permission-model.md +70 -0
- package/skills/azure/azure-live-entra-role-assignment-guard/references/preflight-commands.md +69 -0
- package/skills/azure/azure-live-entra-role-assignment-guard/references/rollback-playbook.md +51 -0
- package/skills/azure/azure-live-keyvault-rotation-purge-guard/SKILL.md +3 -0
- package/skills/azure/azure-live-pim-jit-activation-guard/SKILL.md +3 -0
- package/skills/azure/azure-maestro/SKILL.md +3 -0
- package/skills/azure/azure-migrate-landing-zone-cutover/SKILL.md +3 -0
- package/skills/azure/azure-network-topology-review/SKILL.md +3 -0
- package/skills/azure/azure-observability-investigator/SKILL.md +3 -0
- package/skills/azure/azure-platform-automation-devops/SKILL.md +3 -0
- package/skills/azure/azure-private-endpoint-adoption-planner/SKILL.md +3 -0
- package/skills/azure/azure-rbac-review/SKILL.md +3 -0
- package/skills/azure/azure-resilience-bcdr-review/SKILL.md +3 -0
- package/skills/azure/azure-resource-health-incident-triage/SKILL.md +3 -0
- package/skills/azure/azure-role-selector/SKILL.md +3 -0
- package/skills/azure/azure-security-posture-hardening/SKILL.md +3 -0
- package/skills/azure/azure-subscription-resource-organization/SKILL.md +3 -0
- package/skills/backstage/backstage-scaffolder-template-review/SKILL.md +42 -0
- package/skills/backstage/backstage-scaffolder-template-review/metadata.json +21 -0
- package/skills/backstage/backstage-scaffolder-template-review/references/workflow-and-output.md +179 -0
- package/skills/cert-manager/cert-manager-issuer-trust-review/SKILL.md +43 -0
- package/skills/cert-manager/cert-manager-issuer-trust-review/metadata.json +22 -0
- package/skills/cert-manager/cert-manager-issuer-trust-review/references/workflow-and-output.md +222 -0
- package/skills/cilium/README.md +30 -0
- package/skills/cilium/cilium-network-policy-review/SKILL.md +46 -0
- package/skills/cilium/cilium-network-policy-review/metadata.json +30 -0
- package/skills/cilium/cilium-network-policy-review/references/mcp-and-evidence.md +52 -0
- package/skills/cilium/cilium-network-policy-review/references/official-sources.md +30 -0
- package/skills/cilium/cilium-network-policy-review/references/workflow-and-output.md +130 -0
- package/skills/falco/falco-runtime-threat-rules-review/SKILL.md +40 -0
- package/skills/falco/falco-runtime-threat-rules-review/metadata.json +22 -0
- package/skills/falco/falco-runtime-threat-rules-review/references/workflow-and-output.md +249 -0
- package/skills/finops/README.md +30 -0
- package/skills/finops/finops-cloud-price-advisor/SKILL.md +3 -0
- package/skills/fluxcd/fluxcd-kustomization-helmrelease-review/SKILL.md +43 -0
- package/skills/fluxcd/fluxcd-kustomization-helmrelease-review/metadata.json +22 -0
- package/skills/fluxcd/fluxcd-kustomization-helmrelease-review/references/workflow-and-output.md +243 -0
- package/skills/istio/README.md +28 -0
- package/skills/istio/istio-ambient-mesh-review/SKILL.md +46 -0
- package/skills/istio/istio-ambient-mesh-review/metadata.json +30 -0
- package/skills/istio/istio-ambient-mesh-review/references/mcp-and-evidence.md +59 -0
- package/skills/istio/istio-ambient-mesh-review/references/official-sources.md +32 -0
- package/skills/istio/istio-ambient-mesh-review/references/workflow-and-output.md +128 -0
- package/skills/kubernetes/README.md +30 -0
- package/skills/kubernetes/external-secrets-operator-review/SKILL.md +40 -0
- package/skills/kubernetes/external-secrets-operator-review/metadata.json +22 -0
- package/skills/kubernetes/external-secrets-operator-review/references/workflow-and-output.md +280 -0
- package/skills/kubernetes/kubecost-chargeback-allocation-review/SKILL.md +43 -0
- package/skills/kubernetes/kubecost-chargeback-allocation-review/metadata.json +22 -0
- package/skills/kubernetes/kubecost-chargeback-allocation-review/references/workflow-and-output.md +215 -0
- package/skills/kubernetes/kubernetes-live-rbac-mutation-guard/SKILL.md +60 -0
- package/skills/kubernetes/kubernetes-live-rbac-mutation-guard/metadata.json +27 -0
- package/skills/kubernetes/kubernetes-live-rbac-mutation-guard/references/official-sources.md +18 -0
- package/skills/kubernetes/kubernetes-live-rbac-mutation-guard/references/permission-model.md +78 -0
- package/skills/kubernetes/kubernetes-live-rbac-mutation-guard/references/preflight-commands.md +81 -0
- package/skills/kubernetes/kubernetes-live-rbac-mutation-guard/references/rollback-playbook.md +61 -0
- package/skills/kubernetes/kubernetes-maestro/SKILL.md +48 -0
- package/skills/kubernetes/kubernetes-maestro/metadata.json +24 -0
- package/skills/kubernetes/kubernetes-maestro/references/safety-checklist.md +78 -0
- package/skills/kubernetes/kubernetes-maestro/references/workflow-and-output.md +206 -0
- package/skills/kubernetes/kubernetes-pod-security-admission-review/SKILL.md +46 -0
- package/skills/kubernetes/kubernetes-pod-security-admission-review/metadata.json +28 -0
- package/skills/kubernetes/kubernetes-pod-security-admission-review/references/mcp-and-evidence.md +49 -0
- package/skills/kubernetes/kubernetes-pod-security-admission-review/references/official-sources.md +26 -0
- package/skills/kubernetes/kubernetes-pod-security-admission-review/references/workflow-and-output.md +129 -0
- package/skills/kubernetes/kubernetes-pod-spec-review/SKILL.md +41 -0
- package/skills/kubernetes/kubernetes-pod-spec-review/metadata.json +22 -0
- package/skills/kubernetes/kubernetes-pod-spec-review/references/workflow-and-output.md +229 -0
- package/skills/kubernetes/kubernetes-rbac-review/SKILL.md +41 -0
- package/skills/kubernetes/kubernetes-rbac-review/metadata.json +27 -0
- package/skills/kubernetes/kubernetes-rbac-review/references/mcp-and-evidence.md +34 -0
- package/skills/kubernetes/kubernetes-rbac-review/references/official-sources.md +22 -0
- package/skills/kubernetes/kubernetes-rbac-review/references/workflow-and-output.md +44 -0
- package/skills/kubernetes/kubernetes-workload-identity-review/SKILL.md +46 -0
- package/skills/kubernetes/kubernetes-workload-identity-review/metadata.json +29 -0
- package/skills/kubernetes/kubernetes-workload-identity-review/references/mcp-and-evidence.md +57 -0
- package/skills/kubernetes/kubernetes-workload-identity-review/references/official-sources.md +47 -0
- package/skills/kubernetes/kubernetes-workload-identity-review/references/workflow-and-output.md +166 -0
- package/skills/kyverno/README.md +30 -0
- package/skills/kyverno/kyverno-policy-review/SKILL.md +46 -0
- package/skills/kyverno/kyverno-policy-review/metadata.json +30 -0
- package/skills/kyverno/kyverno-policy-review/references/mcp-and-evidence.md +49 -0
- package/skills/kyverno/kyverno-policy-review/references/official-sources.md +31 -0
- package/skills/kyverno/kyverno-policy-review/references/workflow-and-output.md +106 -0
- package/skills/oci/README.md +63 -0
- package/skills/oci/oci-autonomous-database-architect/SKILL.md +3 -0
- package/skills/oci/oci-certificates-issuer-review/SKILL.md +40 -0
- package/skills/oci/oci-certificates-issuer-review/metadata.json +20 -0
- package/skills/oci/oci-certificates-issuer-review/references/workflow-and-output.md +207 -0
- package/skills/oci/oci-cloud-guard-responder/SKILL.md +3 -0
- package/skills/oci/oci-compute-instance-agent-operator/SKILL.md +3 -0
- package/skills/oci/oci-compute-platform-operator/SKILL.md +3 -0
- package/skills/oci/oci-cost-finops-analyst/SKILL.md +3 -0
- package/skills/oci/oci-database-platform-dba/SKILL.md +3 -0
- package/skills/oci/oci-dbtools-sql-analyst/SKILL.md +3 -0
- package/skills/oci/oci-devops-container-platform-engineer/SKILL.md +3 -0
- package/skills/oci/oci-exadata-database-architect/SKILL.md +3 -0
- package/skills/oci/oci-exadata-platform-architect/SKILL.md +3 -0
- package/skills/oci/oci-fusion-apps-environment-operator/SKILL.md +3 -0
- package/skills/oci/oci-goldengate-replication-operator/SKILL.md +3 -0
- package/skills/oci/oci-identity-access-governor/SKILL.md +3 -0
- package/skills/oci/oci-iot-digital-twin-engineer/SKILL.md +3 -0
- package/skills/oci/oci-limits-capacity-planner/SKILL.md +3 -0
- package/skills/oci/oci-live-autonomous-db-lifecycle-guard/SKILL.md +3 -0
- package/skills/oci/oci-live-cost-budget-runaway-guard/SKILL.md +3 -0
- package/skills/oci/oci-live-iam-policy-compartment-guard/SKILL.md +3 -0
- package/skills/oci/oci-live-network-security-rule-guard/SKILL.md +60 -0
- package/skills/oci/oci-live-network-security-rule-guard/metadata.json +28 -0
- package/skills/oci/oci-live-network-security-rule-guard/references/official-sources.md +21 -0
- package/skills/oci/oci-live-network-security-rule-guard/references/permission-model.md +65 -0
- package/skills/oci/oci-live-network-security-rule-guard/references/preflight-commands.md +69 -0
- package/skills/oci/oci-live-network-security-rule-guard/references/rollback-playbook.md +79 -0
- package/skills/oci/oci-live-oke-rollout-guard/SKILL.md +3 -0
- package/skills/oci/oci-live-resource-manager-stack-guard/SKILL.md +3 -0
- package/skills/oci/oci-live-vault-key-destruction-guard/SKILL.md +3 -0
- package/skills/oci/oci-load-balancer-traffic-engineer/SKILL.md +3 -0
- package/skills/oci/oci-maestro/SKILL.md +3 -0
- package/skills/oci/oci-migration-cutover-architect/SKILL.md +3 -0
- package/skills/oci/oci-multi-cloud-architect/SKILL.md +3 -0
- package/skills/oci/oci-mysql-heatwave-ai-specialist/SKILL.md +3 -0
- package/skills/oci/oci-network-architect/SKILL.md +3 -0
- package/skills/oci/oci-observability-incident-responder/SKILL.md +3 -0
- package/skills/oci/oci-recovery-service-operator/SKILL.md +3 -0
- package/skills/oci/oci-registry-artifact-governor/SKILL.md +3 -0
- package/skills/oci/oci-resource-search-inventory-analyst/SKILL.md +3 -0
- package/skills/oci/oci-security-compliance-reviewer/SKILL.md +3 -0
- package/skills/oci/oci-solution-architect/SKILL.md +3 -0
- package/skills/oci/oci-storage-backup-steward/SKILL.md +3 -0
- package/skills/oci/oci-support-incident-coordinator/SKILL.md +3 -0
- package/skills/oci/oracle-oci-mcp-grounded-advisor/SKILL.md +3 -0
- package/skills/opentelemetry/README.md +31 -0
- package/skills/opentelemetry/opentelemetry-collector-config-review/SKILL.md +47 -0
- package/skills/opentelemetry/opentelemetry-collector-config-review/metadata.json +30 -0
- package/skills/opentelemetry/opentelemetry-collector-config-review/references/mcp-and-evidence.md +49 -0
- package/skills/opentelemetry/opentelemetry-collector-config-review/references/official-sources.md +31 -0
- package/skills/opentelemetry/opentelemetry-collector-config-review/references/workflow-and-output.md +155 -0
- package/skills/prometheus/prometheus-alerting-cardinality-review/SKILL.md +41 -0
- package/skills/prometheus/prometheus-alerting-cardinality-review/metadata.json +22 -0
- package/skills/prometheus/prometheus-alerting-cardinality-review/references/workflow-and-output.md +221 -0
- package/skills/sigstore/sigstore-cosign-supply-chain-review/SKILL.md +42 -0
- package/skills/sigstore/sigstore-cosign-supply-chain-review/metadata.json +22 -0
- package/skills/sigstore/sigstore-cosign-supply-chain-review/references/workflow-and-output.md +196 -0
- package/skills/terraform/README.md +29 -0
- package/skills/terraform/terraform-maestro/SKILL.md +3 -0
- package/skills/velero/velero-backup-restore-guard/SKILL.md +44 -0
- package/skills/velero/velero-backup-restore-guard/metadata.json +21 -0
- package/skills/velero/velero-backup-restore-guard/references/safety-checklist.md +40 -0
- package/skills/velero/velero-backup-restore-guard/references/workflow-and-output.md +202 -0
package/skills/kubernetes/kubernetes-workload-identity-review/references/workflow-and-output.md
ADDED
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
# Workflow and Output Contract
|
|
2
|
+
|
|
3
|
+
## Workflow
|
|
4
|
+
|
|
5
|
+
### Step 1 — Identify the workload identity flavor
|
|
6
|
+
|
|
7
|
+
Three production flavors plus the underlying primitive:
|
|
8
|
+
|
|
9
|
+
1. **AWS IRSA (IAM Roles for Service Accounts)** — ServiceAccount annotated with `eks.amazonaws.com/role-arn: arn:aws:iam::<account>:role/<role>`. Pod identity webhook injects `AWS_WEB_IDENTITY_TOKEN_FILE` and `AWS_ROLE_ARN`. AWS SDK calls `sts:AssumeRoleWithWebIdentity`.
|
|
10
|
+
2. **Azure Workload Identity** — ServiceAccount labeled `azure.workload.identity/use: "true"` and annotated with `azure.workload.identity/client-id: <client-id>`. Pod labeled `azure.workload.identity/use: "true"`. Webhook injects projected token at `/var/run/secrets/azure/tokens/azure-identity-token`. Azure SDK exchanges via federated identity credential.
|
|
11
|
+
3. **GCP Workload Identity Federation (GKE)** — ServiceAccount annotated `iam.gke.io/gcp-service-account: <gsa>@<project>.iam.gserviceaccount.com`. GKE metadata server proxies SDK calls; ServiceAccount → GSA mapping via IAM policy binding (`roles/iam.workloadIdentityUser`).
|
|
12
|
+
4. **Generic projected token + OIDC** — Kubernetes-native primitive. ServiceAccount projected token volume with explicit `audience` and `expirationSeconds`. Trust-policy verification at the cloud / external service.
|
|
13
|
+
|
|
14
|
+
Reference: [Configure ServiceAccounts for Pods](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/) and [ServiceAccount admin](https://kubernetes.io/docs/reference/access-authn-authz/service-accounts-admin/).
|
|
15
|
+
|
|
16
|
+
### Step 2 — Audit the OIDC trust policy scope
|
|
17
|
+
|
|
18
|
+
This is the most under-reviewed control in workload identity migrations.
|
|
19
|
+
|
|
20
|
+
**AWS IRSA** trust policy structure:
|
|
21
|
+
|
|
22
|
+
```json
|
|
23
|
+
{
|
|
24
|
+
"Effect": "Allow",
|
|
25
|
+
"Principal": {
|
|
26
|
+
"Federated": "arn:aws:iam::<account>:oidc-provider/oidc.eks.<region>.amazonaws.com/id/<id>"
|
|
27
|
+
},
|
|
28
|
+
"Action": "sts:AssumeRoleWithWebIdentity",
|
|
29
|
+
"Condition": {
|
|
30
|
+
"StringEquals": {
|
|
31
|
+
"oidc.eks.<region>.amazonaws.com/id/<id>:aud": "sts.amazonaws.com",
|
|
32
|
+
"oidc.eks.<region>.amazonaws.com/id/<id>:sub": "system:serviceaccount:<namespace>:<sa-name>"
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Critical findings:
|
|
39
|
+
|
|
40
|
+
- `StringLike` on `:sub` with a wildcard (`system:serviceaccount:*:*` or `system:serviceaccount:<ns>:*`) — any ServiceAccount in scope can assume the role.
|
|
41
|
+
- `:aud` not constrained to `sts.amazonaws.com` — token reusable for non-AWS audiences.
|
|
42
|
+
- Multiple OIDC providers trusted from one role — broader trust surface than necessary.
|
|
43
|
+
|
|
44
|
+
**Azure Workload Identity** uses federated identity credentials on a user-assigned managed identity:
|
|
45
|
+
|
|
46
|
+
```text
|
|
47
|
+
issuer: https://<region>.oic.prod-aks.azure.com/<tenant>/<id>/
|
|
48
|
+
subject: system:serviceaccount:<namespace>:<sa-name>
|
|
49
|
+
audience: api://AzureADTokenExchange
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Critical findings:
|
|
53
|
+
|
|
54
|
+
- `subject` with wildcards — Azure rejects most wildcards but pre-validation is required; mistakes get caught only at first token exchange.
|
|
55
|
+
- Multiple federated identity credentials on one managed identity, each from different clusters — each is a separate cluster trust; rotate / remove unused ones.
|
|
56
|
+
|
|
57
|
+
**GCP Workload Identity** uses IAM policy on the GSA:
|
|
58
|
+
|
|
59
|
+
```text
|
|
60
|
+
role: roles/iam.workloadIdentityUser
|
|
61
|
+
member: serviceAccount:<project>.svc.id.goog[<namespace>/<ksa-name>]
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Critical findings:
|
|
65
|
+
|
|
66
|
+
- Members listing `[*/*]` — any ServiceAccount in any namespace can act as the GSA.
|
|
67
|
+
- Member with wildcards `[<ns>/*]` — any ServiceAccount in the namespace.
|
|
68
|
+
|
|
69
|
+
Reference: [AWS IRSA technical overview](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts-technical-overview.html), [Azure Workload Identity overview](https://learn.microsoft.com/en-us/azure/aks/workload-identity-overview), [GKE Workload Identity](https://cloud.google.com/kubernetes-engine/docs/concepts/workload-identity).
|
|
70
|
+
|
|
71
|
+
### Step 3 — Confirm the pod is actually using the federated token
|
|
72
|
+
|
|
73
|
+
Workload identity migrations frequently leave a static credential alongside the new federated path. Cloud SDKs use a credential chain — if a static credential is found earlier in the chain, the federated token is never used.
|
|
74
|
+
|
|
75
|
+
Stress-tests:
|
|
76
|
+
|
|
77
|
+
- AWS SDK credential chain: env (`AWS_ACCESS_KEY_ID`) → shared credentials file → IRSA web identity → instance profile. A leftover env var defeats IRSA.
|
|
78
|
+
- Azure SDK chain: env → managed identity → workload identity → CLI. A leftover client secret in env defeats workload identity.
|
|
79
|
+
- GCP SDK chain: `GOOGLE_APPLICATION_CREDENTIALS` env → metadata server. A mounted SA key file in `GOOGLE_APPLICATION_CREDENTIALS` defeats GKE Workload Identity.
|
|
80
|
+
|
|
81
|
+
Verify with:
|
|
82
|
+
|
|
83
|
+
```shell
|
|
84
|
+
# AWS — confirm sts:AssumeRoleWithWebIdentity is the auth path
|
|
85
|
+
kubectl exec -it <pod> -n <ns> -- aws sts get-caller-identity
|
|
86
|
+
# Should show "AssumedRole" not "User"
|
|
87
|
+
|
|
88
|
+
# Azure — confirm token exchange
|
|
89
|
+
kubectl exec -it <pod> -n <ns> -- env | grep AZURE_FEDERATED_TOKEN_FILE
|
|
90
|
+
|
|
91
|
+
# GCP — confirm metadata server is reachable and used
|
|
92
|
+
kubectl exec -it <pod> -n <ns> -- curl -s -H "Metadata-Flavor: Google" \
|
|
93
|
+
http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/email
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
> **Diagnostic only — do not embed in automation.** The instance metadata server is the same primitive that has been weaponized in cloud breaches (notably Capital One 2019). On AWS and Azure clusters the metadata IP is `169.254.169.254`; on GCP it resolves through `metadata.google.internal`. Any pod that can reach the metadata endpoint can request short-lived credentials for the node's identity. Block the metadata service at the network policy layer for workloads that should not read it — see [`cilium-network-policy-review`](../../../cilium/cilium-network-policy-review/SKILL.md) for the egress rule pattern that excludes `169.254.169.254/32`.
|
|
97
|
+
|
|
98
|
+
### Step 4 — Audit the projected token configuration
|
|
99
|
+
|
|
100
|
+
For provider webhooks, projection is automatic. For the generic projected-token primitive, the Pod spec includes:
|
|
101
|
+
|
|
102
|
+
```yaml
|
|
103
|
+
spec:
|
|
104
|
+
serviceAccountName: <sa-name>
|
|
105
|
+
volumes:
|
|
106
|
+
- name: token
|
|
107
|
+
projected:
|
|
108
|
+
sources:
|
|
109
|
+
- serviceAccountToken:
|
|
110
|
+
path: token
|
|
111
|
+
audience: <audience>
|
|
112
|
+
expirationSeconds: 3600 # max recommended; tokens are auto-rotated
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Critical findings:
|
|
116
|
+
|
|
117
|
+
- `expirationSeconds` longer than 1 hour — projected tokens should be short-lived.
|
|
118
|
+
- `audience` empty — defaults to the API server, which means the token is interchangeable with any ServiceAccount token (no narrowing).
|
|
119
|
+
- Multiple audiences for the same volume — the token can be replayed across audiences.
|
|
120
|
+
|
|
121
|
+
Reference: [Bound Service Account Tokens](https://kubernetes.io/docs/reference/access-authn-authz/service-accounts-admin/#bound-service-account-tokens) and [Token volume projection](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#serviceaccount-token-volume-projection).
|
|
122
|
+
|
|
123
|
+
### Step 5 — Audit `automountServiceAccountToken`
|
|
124
|
+
|
|
125
|
+
Default is `true`. Every pod gets a token mounted at `/var/run/secrets/kubernetes.io/serviceaccount/token` whether or not the workload uses the Kubernetes API. Findings:
|
|
126
|
+
|
|
127
|
+
- Pod that does not call the K8s API but has `automountServiceAccountToken: true` — token is exfiltratable on container compromise.
|
|
128
|
+
- ServiceAccount with `automountServiceAccountToken: false` but Pod spec overrides with `true` — Pod spec wins; the SA-level safer default is bypassed.
|
|
129
|
+
|
|
130
|
+
Recommended baseline: `automountServiceAccountToken: false` on the ServiceAccount, override only when the workload actually calls the K8s API.
|
|
131
|
+
|
|
132
|
+
### Step 6 — Audit cross-cluster / cross-account reuse
|
|
133
|
+
|
|
134
|
+
A single IAM role (AWS) or managed identity (Azure) or GSA (GCP) can be trusted from multiple clusters. Findings:
|
|
135
|
+
|
|
136
|
+
- An IAM role trusted from cluster A's OIDC provider AND cluster B's OIDC provider — compromise of cluster B grants the role's permissions.
|
|
137
|
+
- Federated identity credentials on a managed identity from clusters that no longer exist — stale trust; remove.
|
|
138
|
+
|
|
139
|
+
### Step 7 — Stress-test operational hygiene
|
|
140
|
+
|
|
141
|
+
- Prefer dedicated IAM identities per ServiceAccount, not shared roles across multiple SAs.
|
|
142
|
+
- Prefer narrow IAM policies (`Resource: arn:aws:s3:::specific-bucket/*`) over broad (`Resource: '*'`).
|
|
143
|
+
- Prefer `automountServiceAccountToken: false` as the default and override per workload.
|
|
144
|
+
- Prefer `audience` claims that match the cloud target's expected audience.
|
|
145
|
+
- Test token rotation by killing the projected token file and confirming the SDK refreshes.
|
|
146
|
+
|
|
147
|
+
## Output
|
|
148
|
+
|
|
149
|
+
Return:
|
|
150
|
+
|
|
151
|
+
- **target**: the workload identity flavor and the ServiceAccount → cloud identity binding,
|
|
152
|
+
- **evidence level**: `live evidence` / `documentation-based` / `sanitized user evidence` / `inference`,
|
|
153
|
+
- **OIDC trust policy scope**: `aud`, `sub`, `iss`, with judgment on narrowness,
|
|
154
|
+
- **fallback assessment**: are static credentials still present? Is the SDK actually using the federated path?,
|
|
155
|
+
- **token projection assessment**: audience, expiration, automountServiceAccountToken posture,
|
|
156
|
+
- **risk findings** (with severity: high / medium / low),
|
|
157
|
+
- **safest next actions** with sample manifest and trust-policy changes,
|
|
158
|
+
- **rollback plan**: how to revert without locking the workload out of the cloud,
|
|
159
|
+
- **assumptions and missing facts**.
|
|
160
|
+
|
|
161
|
+
## Security notes
|
|
162
|
+
|
|
163
|
+
- Never recommend keeping a long-lived credential Secret "just in case" alongside workload identity.
|
|
164
|
+
- Never recommend wildcards in OIDC trust policy `sub` claim.
|
|
165
|
+
- Never recommend `audience` defaults that allow the projected token to be replayed against the K8s API.
|
|
166
|
+
- Do not print IAM access keys, client secrets, GCP service account JSON, or projected token JWT bodies.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# 🛡️ Kyverno Skills
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<!-- 🖼️ Add a Kyverno logo to assets/logos/cnative/kyverno/ and update this path -->
|
|
5
|
+
<span style="font-size:3.5em">🛡️</span>
|
|
6
|
+
</p>
|
|
7
|
+
|
|
8
|
+
This folder contains Kyverno-focused skills curated for this marketplace.
|
|
9
|
+
|
|
10
|
+
## Local marketplace portfolio
|
|
11
|
+
|
|
12
|
+
This folder contains **1** local Kyverno skill:
|
|
13
|
+
|
|
14
|
+
- `kyverno-policy-review`
|
|
15
|
+
|
|
16
|
+
## Portfolio posture
|
|
17
|
+
|
|
18
|
+
Kyverno skills for evidence-backed admission policy review across `ValidatingPolicy`, `MutatingPolicy`, `GeneratingPolicy`, `DeletingPolicy`, and `ImageValidatingPolicy` — the stable `policies.kyverno.io/v1` API surface.
|
|
19
|
+
|
|
20
|
+
These skills are intentionally conservative:
|
|
21
|
+
|
|
22
|
+
- prefer `kubectl get policies.kyverno.io -A -o yaml` for live policy state grounding before any review
|
|
23
|
+
- treat `failureAction: Audit` in production as a critical finding — policy violations become silent
|
|
24
|
+
- treat `PolicyException` resources as audit-required escalation paths — every exception is a documented bypass
|
|
25
|
+
- challenge any policy with `background: false` and no admission match — the policy never runs
|
|
26
|
+
- prefer policies that compile to native `ValidatingAdmissionPolicy` (CEL) when complexity allows — fewer moving parts than the Kyverno controller
|
|
27
|
+
- challenge `ImageValidatingPolicy` with `verifyImages` skipped on CVE-only images — supply-chain attestation must remain
|
|
28
|
+
- use official Kyverno documentation (kyverno.io) for policy syntax, CEL expressions, and ValidatingAdmissionPolicy generation
|
|
29
|
+
|
|
30
|
+
Run `npm run validate` after changing cataloged Kyverno skills.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: kyverno-policy-review
|
|
3
|
+
description: Use this skill for Kyverno policy review across the stable policies.kyverno.io/v1 API surface — ValidatingPolicy, MutatingPolicy, GeneratingPolicy, DeletingPolicy, and ImageValidatingPolicy. Trigger when the user asks whether an admission policy is safe, whether a PolicyException is justified, whether a policy should be enforced or audited, whether a Kyverno policy should be replaced by a native ValidatingAdmissionPolicy (CEL), or whether image signature verification is correctly configured.
|
|
4
|
+
allowed-tools: Read Grep Glob
|
|
5
|
+
metadata:
|
|
6
|
+
author: "github: Raishin"
|
|
7
|
+
version: "0.1.0"
|
|
8
|
+
updated: "2026-05-05"
|
|
9
|
+
category: security
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Kyverno Policy Review
|
|
13
|
+
|
|
14
|
+
## Purpose
|
|
15
|
+
|
|
16
|
+
Review Kyverno policies and PolicyExceptions against admission correctness, supply chain integrity, blast radius, failure mode, and the Kyverno-vs-native-CEL architectural decision. Kyverno is the most widely deployed Kubernetes policy engine — every misconfigured policy is either a silent allow (security gap) or a silent deny (production outage).
|
|
17
|
+
|
|
18
|
+
## Lean operating rules
|
|
19
|
+
|
|
20
|
+
- Prefer live cluster evidence (`kubectl get policies.kyverno.io,clusterpolicies,policies,validatingpolicies,mutatingpolicies,imagevalidatingpolicies,policyexceptions -A -o yaml`) when the active client exposes it; otherwise fall back to official Kyverno documentation (kyverno.io) and sanitized YAML from the user.
|
|
21
|
+
- Separate confirmed facts from inference. If the cluster's Kyverno install state, admission webhook configuration, or PolicyReport status was not queried, say so.
|
|
22
|
+
- Treat `failureAction: Audit` (or legacy `validationFailureAction: audit`) on a production-relevant policy as a critical finding — admission violations become silent log lines.
|
|
23
|
+
- Treat any `PolicyException` as an audit-required artifact — every exception is a documented bypass with a name, reason, and reviewer.
|
|
24
|
+
- Challenge `background: false` paired with no `match` admission scope — the policy will never run.
|
|
25
|
+
- Challenge `ImageValidatingPolicy` with `verifyImages: skip` patterns, missing public keys, or `mutateDigest: false` — supply-chain attestations stop being enforced or stop being immutable.
|
|
26
|
+
- Challenge any policy that could compile to a native `ValidatingAdmissionPolicy` (CEL) — fewer moving parts, no Kyverno controller in the admission path.
|
|
27
|
+
- Keep the answer scoped, reversible, least-privilege, and explicit about blockers or unknowns.
|
|
28
|
+
|
|
29
|
+
## References
|
|
30
|
+
|
|
31
|
+
Load these only when needed:
|
|
32
|
+
|
|
33
|
+
- [Evidence path and tooling](references/mcp-and-evidence.md) — use when choosing live cluster evidence, confirming Kyverno install state, or switching to documentation mode.
|
|
34
|
+
- [Workflow and output contract](references/workflow-and-output.md) — use when executing the full review, applying stress checks, evaluating Kyverno-vs-native-CEL, or formatting the final answer.
|
|
35
|
+
- [Official sources](references/official-sources.md) — use when you need the detailed Kyverno documentation list, CEL expression references, or grounded insights from the Kyverno project.
|
|
36
|
+
|
|
37
|
+
## Response minimum
|
|
38
|
+
|
|
39
|
+
Return, at minimum:
|
|
40
|
+
|
|
41
|
+
- the scoped target (policy kind, name, match scope) and evidence level,
|
|
42
|
+
- the failure mode (`Audit` vs `Enforce`) and whether it matches the production posture,
|
|
43
|
+
- the main risks or control gaps (PolicyException, wildcard match, missing image signatures, weak CEL expressions),
|
|
44
|
+
- whether the policy could be replaced by a native ValidatingAdmissionPolicy (CEL) and the tradeoff,
|
|
45
|
+
- the safest next actions and rollback plan,
|
|
46
|
+
- the assumptions or blockers that prevent stronger conclusions.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "kyverno-policy-review",
|
|
3
|
+
"name": "Kyverno Policy Review",
|
|
4
|
+
"type": "skill",
|
|
5
|
+
"provider": "kyverno",
|
|
6
|
+
"harnesses": [
|
|
7
|
+
"codex",
|
|
8
|
+
"claude-code",
|
|
9
|
+
"cursor",
|
|
10
|
+
"gemini",
|
|
11
|
+
"kiro",
|
|
12
|
+
"other"
|
|
13
|
+
],
|
|
14
|
+
"summary": "Review Kyverno ValidatingPolicy, MutatingPolicy, GeneratingPolicy, DeletingPolicy, ImageValidatingPolicy, and PolicyException resources for admission correctness, failure mode, supply-chain integrity, and the Kyverno-vs-native-CEL architectural decision.",
|
|
15
|
+
"source_type": "original",
|
|
16
|
+
"official_docs": [
|
|
17
|
+
"https://kyverno.io/docs/",
|
|
18
|
+
"https://kyverno.io/docs/policy-types/overview/",
|
|
19
|
+
"https://kyverno.io/docs/policy-types/cluster-policy/validate/",
|
|
20
|
+
"https://kyverno.io/docs/policy-types/cluster-policy/verify-images/",
|
|
21
|
+
"https://kyverno.io/docs/exceptions/",
|
|
22
|
+
"https://kyverno.io/docs/installation/",
|
|
23
|
+
"https://kubernetes.io/docs/reference/access-authn-authz/validating-admission-policy/"
|
|
24
|
+
],
|
|
25
|
+
"security_notes": "Treat failureAction Audit on production policies as a critical finding. Every PolicyException is a documented bypass requiring an owner, reason, and expiry. ImageValidatingPolicy must verify signatures with mutateDigest true. Prefer native ValidatingAdmissionPolicy when CEL alone is sufficient.",
|
|
26
|
+
"last_verified": "2026-05-01",
|
|
27
|
+
"path": "skills/kyverno/kyverno-policy-review",
|
|
28
|
+
"author": "github: Raishin",
|
|
29
|
+
"version": "0.1.0"
|
|
30
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Evidence Path and Tooling
|
|
2
|
+
|
|
3
|
+
## Evidence path
|
|
4
|
+
|
|
5
|
+
1. Prefer live cluster evidence when a Kubernetes MCP server, `kubectl`, or `kyverno` CLI is available.
|
|
6
|
+
2. Fall back to official Kyverno documentation (kyverno.io) and the Kubernetes admission control reference when live inspection is unavailable.
|
|
7
|
+
3. Ask only for sanitized policy YAML, PolicyReport snippets, or `kyverno apply` output when current-state proof matters. Never request kubeconfig contents, admission webhook bearer tokens, image-signing private keys, or secrets.
|
|
8
|
+
4. Label conclusions as `live evidence`, `documentation-based`, `sanitized user evidence`, or `inference`.
|
|
9
|
+
|
|
10
|
+
## Useful live-evidence commands
|
|
11
|
+
|
|
12
|
+
```shell
|
|
13
|
+
# List all Kyverno policy kinds across the cluster (stable v1 API)
|
|
14
|
+
kubectl get validatingpolicies,mutatingpolicies,generatingpolicies,deletingpolicies,imagevalidatingpolicies -A -o yaml
|
|
15
|
+
|
|
16
|
+
# Legacy kinds (still in use on many clusters)
|
|
17
|
+
kubectl get clusterpolicies,policies -A -o yaml
|
|
18
|
+
|
|
19
|
+
# List all PolicyExceptions — every one is a documented bypass
|
|
20
|
+
kubectl get policyexceptions -A -o yaml
|
|
21
|
+
|
|
22
|
+
# View Kyverno controller deployment and webhook config
|
|
23
|
+
kubectl -n kyverno get deploy,svc,validatingwebhookconfiguration,mutatingwebhookconfiguration -o yaml
|
|
24
|
+
|
|
25
|
+
# View Kyverno admission reports — does the policy actually run?
|
|
26
|
+
kubectl get policyreport,clusterpolicyreport -A
|
|
27
|
+
|
|
28
|
+
# Test a policy locally without applying
|
|
29
|
+
kyverno apply policy.yaml --resource resource.yaml
|
|
30
|
+
|
|
31
|
+
# Test against the live cluster
|
|
32
|
+
kyverno apply policy.yaml --cluster
|
|
33
|
+
|
|
34
|
+
# Generate a native ValidatingAdmissionPolicy from a Kyverno policy (preview)
|
|
35
|
+
kyverno migrate-policy policy.yaml --output validatingadmissionpolicy.yaml
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Kyverno install state to confirm before review
|
|
39
|
+
|
|
40
|
+
- Kyverno controller version (`kubectl -n kyverno get deploy kyverno -o jsonpath='{.spec.template.spec.containers[0].image}'`) — newer versions support more CEL expressions and the stable `policies.kyverno.io/v1` API.
|
|
41
|
+
- Reports Server enabled (`kubectl -n kyverno get deploy reports-server`) — controls whether PolicyReports are stored externally or in etcd.
|
|
42
|
+
- Cleanup controller enabled — required for `DeletingPolicy` resources.
|
|
43
|
+
- Admission controller webhook timeout — Kyverno's default is 10s; aggressive policies can stall pod creation.
|
|
44
|
+
|
|
45
|
+
## Platform-agnostic execution
|
|
46
|
+
|
|
47
|
+
- Keep examples neutral with placeholders (`<policy-name>`, `<namespace>`, `<image-ref>`) until the user's cluster context and policy state are known.
|
|
48
|
+
- Do not request kubeconfig files, image signing keys, Sigstore Rekor entries, or registry credentials in chat.
|
|
49
|
+
- If a Kubernetes MCP server, `kubectl`, or `kyverno` CLI is unavailable, say so and fall back to reviewing sanitized YAML and the official Kyverno documentation.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Official Sources
|
|
2
|
+
|
|
3
|
+
Load these only when needed:
|
|
4
|
+
|
|
5
|
+
- [Kyverno documentation home](https://kyverno.io/docs/) — use as the entry point for any policy authoring, install, or operator-side question.
|
|
6
|
+
- [Kyverno policy types overview](https://kyverno.io/docs/policy-types/overview/) — use for the stable `policies.kyverno.io/v1` API surface (`ValidatingPolicy`, `MutatingPolicy`, `GeneratingPolicy`, `DeletingPolicy`, `ImageValidatingPolicy`).
|
|
7
|
+
- [Kyverno validate rules](https://kyverno.io/docs/policy-types/cluster-policy/validate/) — use for `failureAction`, `failurePolicy`, CEL validation expressions, `denyConditions`, and the Kyverno-to-ValidatingAdmissionPolicy compilation path.
|
|
8
|
+
- [Kyverno mutate rules](https://kyverno.io/docs/policy-types/cluster-policy/mutate/) — use for `patchStrategicMerge`, `patchesJson6902`, `foreach` mutations, and conditional mutation guards.
|
|
9
|
+
- [Kyverno generate rules](https://kyverno.io/docs/policy-types/cluster-policy/generate/) — use for `synchronize: true` (rule keeps generated resources in sync) and the security implications of generated RoleBindings or NetworkPolicies.
|
|
10
|
+
- [Kyverno verify-images / ImageValidatingPolicy](https://kyverno.io/docs/policy-types/cluster-policy/verify-images/) — use for Cosign keyless and key-based verification, attestation chains, `mutateDigest`, `verifyDigest`, and Sigstore Rekor / Notary configuration.
|
|
11
|
+
- [Kyverno PolicyExceptions](https://kyverno.io/docs/exceptions/) — use for `PolicyException` syntax, the audit posture exceptions create, and `match` / `exclude` semantics.
|
|
12
|
+
- [Kyverno cleanup policies](https://kyverno.io/docs/policy-types/cluster-policy/cleanup/) — use for `DeletingPolicy` cron-driven resource deletion patterns.
|
|
13
|
+
- [Kyverno installation](https://kyverno.io/docs/installation/) — use for Helm install, Reports Server enablement, and admission webhook timing.
|
|
14
|
+
- [Kyverno CLI (`kyverno apply`, `kyverno test`, `kyverno migrate-policy`)](https://kyverno.io/docs/kyverno-cli/) — use for offline policy testing and Kyverno-to-VAP migration.
|
|
15
|
+
- [Kyverno PolicyReport / ClusterPolicyReport](https://kyverno.io/docs/policy-reports/) — use for the OpenReports-format violation records the Reports Server stores.
|
|
16
|
+
- [Kubernetes ValidatingAdmissionPolicy (CEL)](https://kubernetes.io/docs/reference/access-authn-authz/validating-admission-policy/) — use for the native VAP CEL syntax that Kyverno compiles to.
|
|
17
|
+
- [Kubernetes admission webhook reference](https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/) — use for `failurePolicy: Fail` vs `Ignore`, webhook timeout, and the admission chain.
|
|
18
|
+
- [Sigstore Cosign documentation](https://docs.sigstore.dev/cosign/overview/) — use for signing flow that ImageValidatingPolicy verifies.
|
|
19
|
+
|
|
20
|
+
## Grounded insights worth carrying into the skill
|
|
21
|
+
|
|
22
|
+
- The stable Kyverno API is `policies.kyverno.io/v1` with five kinds: `ValidatingPolicy`, `MutatingPolicy`, `GeneratingPolicy`, `DeletingPolicy`, `ImageValidatingPolicy`. The legacy `kyverno.io/v1` `ClusterPolicy` and `Policy` kinds are still supported but deprecated.
|
|
23
|
+
- Kyverno can compile a `ClusterPolicy` (validate-only, CEL-only) into a native `ValidatingAdmissionPolicy` so admission is enforced by the Kubernetes API server without the Kyverno controller in the request path. This is the leanest deployment when the policy fits VAP's capabilities.
|
|
24
|
+
- `failureAction: Audit` (newer API) and `validationFailureAction: audit` (legacy) silently allow violations. Many security incidents have been traced back to a policy that was set to `Audit` "temporarily" and never promoted to `Enforce`.
|
|
25
|
+
- `PolicyException` resources exempt resources from policy. Every exception is a bypass with no built-in expiry, owner, or revoke trigger — the documentation discipline must come from process.
|
|
26
|
+
- `ImageValidatingPolicy` without `mutateDigest: true` allows a verified tag to be re-pointed to a different image after admission. This is a known image-replacement attack path.
|
|
27
|
+
- Reports Server is a separate component that decouples PolicyReport storage from etcd. Without it, PolicyReports at Fortune 50 scale (millions of resources × dozens of policies) overwhelm etcd.
|
|
28
|
+
- Kyverno's default admission webhook timeout is 10 seconds. Policies that perform `context.apiCall` lookups can hit this timeout and fall back to `failurePolicy` — if `failurePolicy` is `Ignore` (default), violations silently pass.
|
|
29
|
+
- The cleanup controller (which powers `DeletingPolicy`) is a separate deployment and must be installed explicitly via Helm value `cleanupController.enabled=true`.
|
|
30
|
+
- `background: false` disables the periodic scan of existing resources. The policy only runs at admission, so resources created before the policy existed are never evaluated — useful for migrations, dangerous as a default.
|
|
31
|
+
- Aggregated CRDs (Kyverno does not ship these, but operators may) can match Kyverno policies in unexpected ways — confirm `match.any.resources.kinds` does not pick up CRDs from third-party operators.
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# Workflow and Output Contract
|
|
2
|
+
|
|
3
|
+
## Workflow
|
|
4
|
+
|
|
5
|
+
### Step 1 — Identify the policy and its scope
|
|
6
|
+
|
|
7
|
+
1. Confirm the policy kind: `ValidatingPolicy`, `MutatingPolicy`, `GeneratingPolicy`, `DeletingPolicy`, `ImageValidatingPolicy` (stable `policies.kyverno.io/v1`), or legacy `ClusterPolicy` / `Policy`.
|
|
8
|
+
2. Confirm the match scope: namespace-scoped (`Policy`) vs cluster-scoped (`ClusterPolicy` / new v1 kinds).
|
|
9
|
+
3. Confirm the API version. The stable `policies.kyverno.io/v1` API is the recommended target — see the [Kyverno policy types overview](https://kyverno.io/docs/policy-types/overview/).
|
|
10
|
+
4. Confirm match conditions in `spec.match` — kinds, names, namespaces, labels, annotations. Any `kinds: ['*']` with no further filter is high-blast-radius.
|
|
11
|
+
|
|
12
|
+
### Step 2 — Identify the failure mode
|
|
13
|
+
|
|
14
|
+
1. Locate `spec.rules[].validate.failureAction` (newer API) or `spec.validationFailureAction` (legacy).
|
|
15
|
+
2. Two values exist: `Enforce` (admission denied on violation) and `Audit` (admission allowed, violation recorded in PolicyReport).
|
|
16
|
+
3. **Critical finding**: any production-relevant policy with `failureAction: Audit` and no plan to migrate to `Enforce`. The policy is a logging shim, not a control.
|
|
17
|
+
4. Also confirm `spec.background` — when `false`, the policy only evaluates at admission time; existing resources are not scanned.
|
|
18
|
+
5. Reference: [Validate rules — failureAction semantics](https://kyverno.io/docs/policy-types/cluster-policy/validate/).
|
|
19
|
+
|
|
20
|
+
### Step 3 — Challenge dangerous policy patterns
|
|
21
|
+
|
|
22
|
+
Flag the following as high-severity findings:
|
|
23
|
+
|
|
24
|
+
- **`failureAction: Audit` in production** — silent allow path; PolicyReports accumulate without enforcement.
|
|
25
|
+
- **`background: false` + match scope that does not match admission requests** — policy never runs; effectively dead code.
|
|
26
|
+
- **`match` with `kinds: ['*']` and no namespace selector** — cluster-wide blast radius; one mis-written CEL expression breaks every admission.
|
|
27
|
+
- **`exclude` clause that exempts entire `kube-system` or operator namespaces** — operators bypass policy that should still apply (e.g., image signing).
|
|
28
|
+
- **`failurePolicy: Ignore` on the underlying ValidatingWebhookConfiguration** — Kyverno controller failures silently allow. See the [Kubernetes admission webhook reference](https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/).
|
|
29
|
+
- **CEL expressions referencing `request.userInfo` without a deny default** — easy to bypass with a service account named in an exception.
|
|
30
|
+
|
|
31
|
+
### Step 4 — Audit every PolicyException
|
|
32
|
+
|
|
33
|
+
A PolicyException is a documented bypass. Treat every one as audit evidence requiring four facts:
|
|
34
|
+
|
|
35
|
+
1. **Owner**: who created it and is on call for the exempted resources?
|
|
36
|
+
2. **Reason**: why does this resource not meet the policy?
|
|
37
|
+
3. **Expiry**: is there a date or condition under which this exception is removed? Kyverno does not enforce expiry — this must be a documented commitment.
|
|
38
|
+
4. **Scope**: which resources, namespaces, and rules are exempted?
|
|
39
|
+
|
|
40
|
+
Reference: [Kyverno PolicyExceptions](https://kyverno.io/docs/exceptions/).
|
|
41
|
+
|
|
42
|
+
Stress-test exceptions:
|
|
43
|
+
|
|
44
|
+
- An exception with `match.any.resources.kinds: ['*']` exempts everything — almost always too broad.
|
|
45
|
+
- An exception that exempts the `default` ServiceAccount — effectively exempts every workload that hasn't bound an SA.
|
|
46
|
+
- An exception that exempts a `ClusterPolicy` with `failureAction: Enforce` quietly demotes the policy to `Audit` for the matched scope.
|
|
47
|
+
|
|
48
|
+
### Step 5 — Audit ImageValidatingPolicy specifically
|
|
49
|
+
|
|
50
|
+
For `ImageValidatingPolicy` (and legacy `verifyImages` rules), confirm:
|
|
51
|
+
|
|
52
|
+
1. **Public key or KMS key reference** is present and points to a real attestation root (Sigstore / Cosign / Notary / KMS-backed).
|
|
53
|
+
2. **`mutateDigest: true`** — replaces the mutable image tag with the immutable digest at admission. Without this, the verified image can be replaced after admission.
|
|
54
|
+
3. **`verifyDigest: true`** — re-checks the digest against the verified attestation chain.
|
|
55
|
+
4. **`required: true`** on the verification rule — without this, missing signatures pass.
|
|
56
|
+
5. **`match` covers all production registries**, not just public Docker Hub.
|
|
57
|
+
6. **No `imageReferences: ['*']` with `skip: true`** — total signature bypass.
|
|
58
|
+
|
|
59
|
+
Reference: [Kyverno verify-images / ImageValidatingPolicy](https://kyverno.io/docs/policy-types/cluster-policy/verify-images/).
|
|
60
|
+
|
|
61
|
+
### Step 6 — Evaluate Kyverno vs native ValidatingAdmissionPolicy (CEL)
|
|
62
|
+
|
|
63
|
+
Native `ValidatingAdmissionPolicy` (CEL) shipped stable in Kubernetes 1.30 ([reference](https://kubernetes.io/docs/reference/access-authn-authz/validating-admission-policy/)). Kyverno can compile its own policies into native VAP — see [Kyverno docs on VAP generation](https://kyverno.io/docs/policy-types/cluster-policy/validate/).
|
|
64
|
+
|
|
65
|
+
Choose **native VAP** when:
|
|
66
|
+
|
|
67
|
+
- The policy is pure validation (no mutation, no generation, no image verification, no cleanup).
|
|
68
|
+
- The CEL expression alone is sufficient — no JMESPath, no API lookup, no `context.apiCall`, no foreach.
|
|
69
|
+
- You want fewer moving parts in the admission path (no Kyverno controller).
|
|
70
|
+
|
|
71
|
+
Stay with **Kyverno** when:
|
|
72
|
+
|
|
73
|
+
- You need mutation, generation, cleanup, or image verification.
|
|
74
|
+
- You need cross-resource lookups (`context.apiCall`).
|
|
75
|
+
- You need PolicyReports for compliance evidence.
|
|
76
|
+
- You need PolicyExceptions managed declaratively.
|
|
77
|
+
|
|
78
|
+
Recommend a path explicitly. "Could be native VAP" without a recommendation is incomplete review.
|
|
79
|
+
|
|
80
|
+
### Step 7 — Stress-test operational hygiene
|
|
81
|
+
|
|
82
|
+
- Prefer policies authored with `policies.kyverno.io/v1` over legacy `kyverno.io/v1` — the new API is the long-term path.
|
|
83
|
+
- Prefer explicit `match.any.resources.kinds` lists over wildcards.
|
|
84
|
+
- Prefer policies with `background: true` so existing resources are scanned (catches drift).
|
|
85
|
+
- Prefer policies that emit clear `message` text — admission rejections show this string to the user, and a vague rejection message wastes engineer time.
|
|
86
|
+
- Reports Server should be installed when policy reports are needed at scale — etcd-backed PolicyReports do not scale beyond a few thousand violations. See [Kyverno installation](https://kyverno.io/docs/installation/).
|
|
87
|
+
|
|
88
|
+
## Output
|
|
89
|
+
|
|
90
|
+
Return:
|
|
91
|
+
|
|
92
|
+
- **target**: policy kind, name, match scope, and API version,
|
|
93
|
+
- **evidence level**: `live evidence` / `documentation-based` / `sanitized user evidence` / `inference`,
|
|
94
|
+
- **failure mode**: `Enforce` vs `Audit`, with judgment on whether this matches production posture,
|
|
95
|
+
- **risk findings** (with severity: high / medium / low) — including PolicyException audit, image verification posture, wildcard match, and admission webhook failurePolicy,
|
|
96
|
+
- **architectural recommendation**: stay with Kyverno, migrate to native VAP, or hybrid — with reason,
|
|
97
|
+
- **safest next actions** with sample manifest changes,
|
|
98
|
+
- **rollback plan**: how to remove or revert the policy without breaking running workloads,
|
|
99
|
+
- **assumptions and missing facts**.
|
|
100
|
+
|
|
101
|
+
## Security notes
|
|
102
|
+
|
|
103
|
+
- Never recommend `failureAction: Audit` for a production-tier policy unless there is a written rollout plan to `Enforce` with a date.
|
|
104
|
+
- Never recommend exempting `cluster-admin`, the controller's own ServiceAccount, or wildcards in PolicyExceptions.
|
|
105
|
+
- Never recommend disabling image signature verification "temporarily" without a tracked re-enable date.
|
|
106
|
+
- Do not print Cosign private keys, Rekor signature blobs, or registry credentials. Reference key names only.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# 🟥 OCI Skills
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<img src="../../assets/logos/cloud/oci/oracle-cloud-infrastructure.png" alt="Oracle Cloud Infrastructure logo" width="140" />
|
|
5
|
+
</p>
|
|
6
|
+
|
|
7
|
+
This folder contains OCI-focused skills curated for this marketplace.
|
|
8
|
+
|
|
9
|
+
## Local marketplace portfolio
|
|
10
|
+
|
|
11
|
+
This folder contains **37** local OCI skills:
|
|
12
|
+
|
|
13
|
+
- `oci-autonomous-database-architect`
|
|
14
|
+
- `oci-cloud-guard-responder`
|
|
15
|
+
- `oci-compute-instance-agent-operator`
|
|
16
|
+
- `oci-compute-platform-operator`
|
|
17
|
+
- `oci-cost-finops-analyst`
|
|
18
|
+
- `oci-database-platform-dba`
|
|
19
|
+
- `oci-dbtools-sql-analyst`
|
|
20
|
+
- `oci-devops-container-platform-engineer`
|
|
21
|
+
- `oci-exadata-database-architect`
|
|
22
|
+
- `oci-exadata-platform-architect`
|
|
23
|
+
- `oci-fusion-apps-environment-operator`
|
|
24
|
+
- `oci-goldengate-replication-operator`
|
|
25
|
+
- `oci-identity-access-governor`
|
|
26
|
+
- `oci-iot-digital-twin-engineer`
|
|
27
|
+
- `oci-limits-capacity-planner`
|
|
28
|
+
- `oci-live-autonomous-db-lifecycle-guard`
|
|
29
|
+
- `oci-live-cost-budget-runaway-guard`
|
|
30
|
+
- `oci-live-iam-policy-compartment-guard`
|
|
31
|
+
- `oci-live-network-security-rule-guard`
|
|
32
|
+
- `oci-live-oke-rollout-guard`
|
|
33
|
+
- `oci-live-resource-manager-stack-guard`
|
|
34
|
+
- `oci-live-vault-key-destruction-guard`
|
|
35
|
+
- `oci-load-balancer-traffic-engineer`
|
|
36
|
+
- `oci-maestro`
|
|
37
|
+
- `oci-migration-cutover-architect`
|
|
38
|
+
- `oci-multi-cloud-architect`
|
|
39
|
+
- `oci-mysql-heatwave-ai-specialist`
|
|
40
|
+
- `oci-network-architect`
|
|
41
|
+
- `oci-observability-incident-responder`
|
|
42
|
+
- `oci-recovery-service-operator`
|
|
43
|
+
- `oci-registry-artifact-governor`
|
|
44
|
+
- `oci-resource-search-inventory-analyst`
|
|
45
|
+
- `oci-security-compliance-reviewer`
|
|
46
|
+
- `oci-solution-architect`
|
|
47
|
+
- `oci-storage-backup-steward`
|
|
48
|
+
- `oci-support-incident-coordinator`
|
|
49
|
+
- `oracle-oci-mcp-grounded-advisor`
|
|
50
|
+
|
|
51
|
+
## Portfolio posture
|
|
52
|
+
|
|
53
|
+
Role-based OCI skills for evidence-backed architecture, database operations, security, networking, FinOps, identity governance, and guarded live-environment operations.
|
|
54
|
+
|
|
55
|
+
These skills are intentionally conservative:
|
|
56
|
+
|
|
57
|
+
- prefer `oracle-oci-mcp-grounded-advisor` via OCI MCP server when available for live OCI state grounding
|
|
58
|
+
- prefer read-only discovery before mutation
|
|
59
|
+
- require explicit OCID, compartment, tenancy confirmation, approval, rollback posture, and verification for guarded live actions
|
|
60
|
+
- challenge overly broad IAM policies, missing compartment isolation, public exposure, and unclear resource ownership
|
|
61
|
+
- use official OCI documentation and live CLI evidence when service behavior matters
|
|
62
|
+
|
|
63
|
+
Run `npm run validate` after changing cataloged OCI skills.
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oci-autonomous-database-architect
|
|
3
3
|
description: OCI Architect and operate Autonomous Database and Autonomous AI Database across serverless, dedicated Exadata, Cloud@Customer, Oracle Database@Azure, Oracle Database@Google Cloud, and Oracle Database@AWS contexts. Use for ADB design, compatibility, deployment-option selection, networking, security, DR, backup, migration, performance, and multicloud destination reviews.
|
|
4
|
+
allowed-tools: Read Grep Glob
|
|
4
5
|
metadata:
|
|
5
6
|
author: github: Raishin
|
|
6
7
|
version: 0.1.0
|
|
8
|
+
updated: "2026-05-05"
|
|
9
|
+
category: data
|
|
7
10
|
---
|
|
8
11
|
|
|
9
12
|
# OCI Autonomous Database Architect
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: oci-certificates-issuer-review
|
|
3
|
+
description: Use this skill when reviewing OCI Certificates Service issuer configurations for cert-manager on OKE. Trigger on any request to audit OCI CA hierarchy, issuance rules, OKE Workload Identity vs Instance Principal auth, IAM policy scope, OCSP reachability, or certificate version management.
|
|
4
|
+
allowed-tools: Read Grep Glob
|
|
5
|
+
metadata:
|
|
6
|
+
author: "github: Raishin"
|
|
7
|
+
version: "0.1.0"
|
|
8
|
+
updated: "2026-05-05"
|
|
9
|
+
category: security
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# OCI Certificates Issuer Review
|
|
13
|
+
|
|
14
|
+
## Purpose
|
|
15
|
+
|
|
16
|
+
Review Oracle Cloud Infrastructure (OCI) Certificates Service configurations used as cert-manager issuers on OKE (Oracle Kubernetes Engine). Identify CA hierarchy misconfigurations (root vs subordinate), missing issuance rules, overly broad IAM policies, Instance Principal authentication scope risks, OCSP reachability gaps, and certificate version accumulation. Output severity-labeled findings with evidence and remediation steps.
|
|
17
|
+
|
|
18
|
+
## Lean operating rules
|
|
19
|
+
|
|
20
|
+
- Flag any OCI issuer that references a ROOT CA directly as CRITICAL — only a SUBORDINATE CA should be used for cert-manager issuance. The ROOT CA must be offline (disabled after subordinate creation) or kept entirely out of the Certificates Service.
|
|
21
|
+
- Check whether OCI issuance rules are configured on the subordinate CA: flag missing validity caps (>90d) and missing key algorithm restrictions (RSA <2048 or EC <P-256) as MEDIUM.
|
|
22
|
+
- Identify the authentication method used by cert-manager to call OCI APIs: flag Instance Principal auth as HIGH — any pod on the OKE node can call the OCI Certificates API via instance metadata. Correct method is OKE Workload Identity (SA-bound, pod-level).
|
|
23
|
+
- Review the OCI IAM policy for cert-manager: flag `manage certificate-authorities` (grants delete/update CA) as HIGH. Minimum required: `use certificate-authorities` with `request.permission='CREATE_CERTIFICATE_REQUEST'`.
|
|
24
|
+
- Check OCSP reachability from OKE worker nodes to `ocsp.pki.oraclecloud.com`. Flag unreachable OCSP endpoint as MEDIUM (soft-fail revocation = revoked certs accepted by most TLS stacks).
|
|
25
|
+
- Review certificate version count; flag high version accumulation (> 10 versions per cert) as LOW (storage cost and management overhead).
|
|
26
|
+
- Label all findings as live evidence, documentation-based, or inference.
|
|
27
|
+
|
|
28
|
+
## References
|
|
29
|
+
|
|
30
|
+
Load these only when needed:
|
|
31
|
+
|
|
32
|
+
- [Workflow and output contract](references/workflow-and-output.md)
|
|
33
|
+
|
|
34
|
+
## Response minimum
|
|
35
|
+
|
|
36
|
+
- Severity-labeled findings list (CRITICAL / HIGH / MEDIUM / LOW)
|
|
37
|
+
- Evidence source for each finding
|
|
38
|
+
- Specific resource name, CA OCID, or IAM policy statement that caused the finding
|
|
39
|
+
- Recommended remediation with example OCI CLI command or IAM policy snippet
|
|
40
|
+
- Overall OCI PKI trust posture verdict
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "oci-certificates-issuer-review",
|
|
3
|
+
"name": "OCI Certificates Issuer Review",
|
|
4
|
+
"type": "skill",
|
|
5
|
+
"provider": "oci",
|
|
6
|
+
"harnesses": ["codex", "claude-code", "cursor", "gemini", "kiro", "other"],
|
|
7
|
+
"summary": "Review OCI Certificates Service issuer configurations for cert-manager on OKE, covering CA hierarchy safety, issuance rule enforcement, OKE Workload Identity vs Instance Principal authentication, IAM policy scope minimization, OCSP reachability, and certificate version lifecycle management.",
|
|
8
|
+
"source_type": "original",
|
|
9
|
+
"official_docs": [
|
|
10
|
+
"https://docs.oracle.com/en-us/iaas/Content/certificates/home.htm",
|
|
11
|
+
"https://docs.oracle.com/en-us/iaas/Content/certificates/managing-certificate-authority.htm",
|
|
12
|
+
"https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contengusingworkloadidentity.htm",
|
|
13
|
+
"https://github.com/oracle/oci-native-ingress-controller"
|
|
14
|
+
],
|
|
15
|
+
"security_notes": "Instance Principal auth for cert-manager on OKE means ANY pod on the node can call the OCI Certificates API using the instance metadata endpoint — not just cert-manager. Use OKE Workload Identity to scope cert-issuance permissions to the cert-manager ServiceAccount only. IAM policy with 'manage certificate-authorities' grants delete and update CA permissions, which is excessive for cert-manager.",
|
|
16
|
+
"last_verified": "2026-05-02",
|
|
17
|
+
"path": "skills/oci/oci-certificates-issuer-review",
|
|
18
|
+
"author": "github: Raishin",
|
|
19
|
+
"version": "0.1.0"
|
|
20
|
+
}
|