安装会执行仓库 Make 目标并部署未固定摘要的镜像
原文依据:8 处Skill 直接运行仓库定义的 Make 目标;这些目标的实际命令未出现在所提供源码中。提供程序镜像仅通过读取 `IMG` 默认值选择,没有要求固定镜像摘要或验证签名,尽管随附的 Azure 指南建议只允许签名镜像。
若仓库、Makefile、镜像标签或镜像仓库被篡改,安装可能在用户机器上执行额外命令,或在集群内运行被替换的高权限控制器代码。
技能会在用户确认后执行仓库中的 Make 目标,但所给源码没有这些目标的定义,因此无法从证据判断它们实际执行什么。Provider 流程还允许采用 Makefile 的默认镜像或一个未要求摘要固定、签名验证的 `<image>`。若仓库或镜像来源被替换,命令可能把非预期代码部署到集群。用户可要求作者提供目标展开内容、可信镜像仓库、不可变 digest 和签名验证策略。
```bashmake controller-install # Install CRDsmake controller-deploy # Deploy controller manager```查看另外 7 个位置
First, check the provider's Makefile or README for the default image:```bash# List available providers and their default imagesls providers/cat providers/<provider>/Makefile | grep -E 'IMG\s*\?='``````bashcd providers/<provider>make deploy IMG=<image>```- Enable **Encryption at rest** for etcd/API server; **in-transit** for node-to-node- Allow only signed, policy-approved images (Azure Policy + Ratify), prefer **Azure Container Registry**- **Isolation**: Use namespaces, network policies, scoped logging**If not installed:** Ask user to confirm, then from the **repository root** run:```bashmake controller-install # Install CRDsmake controller-deploy # Deploy controller manager```**Installation** — from the **repository root**:First, check the provider's Makefile or README for the default image:```bash# List available providers and their default imagesls providers/cat providers/<provider>/Makefile | grep -E 'IMG\s*\?='```Then deploy:```bashcd providers/<provider>make deploy IMG=<image>```> **Tip:** If the Makefile defines a default `IMG`, you can omit the `IMG=` argument and just run `make deploy`.### 3. Security- Use **Microsoft Entra ID** everywhere (control plane, Workload Identity for pods, node access). Avoid static credentials.- Azure Key Vault via **Secrets Store CSI Driver** for secrets- Enable **Azure Policy** + **Deployment Safeguards**- Enable **Encryption at rest** for etcd/API server; **in-transit** for node-to-node- Allow only signed, policy-approved images (Azure Policy + Ratify), prefer **Azure Container Registry**- **Isolation**: Use namespaces, network policies, scoped logging