T09 · Insecure Skill Coding Practices
- Location
references/bicep-patterns.md:132- Finding
Long-Lived ACR Administrator Credentials Exposed to Container App Configuration
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This Azure deployment skill is mostly coherent, but it includes an insecure registry credential pattern that users should review before installing.
Review generated Bicep before use. Prefer managed identity with AcrPull for Container Apps, avoid ACR admin credentials and listCredentials-based secrets, and replace fixed /tmp hook files with a private temporary path. Treat azd up and role-assignment hooks as cloud-changing operations that should run only against the intended subscription and environment.
references/bicep-patterns.md:132Long-Lived ACR Administrator Credentials Exposed to Container App Configuration
SKILL.md:169Predictable Shared Temporary File Allows Symlink-Based File Overwrite
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
---
name: azd-deployment
description: Deploy containerized applications to Azure Container Apps using Azure Developer CLI (azd). Use when setting up azd projects, writing azure.yaml configuration, creating Bicep infrastructure for Container Apps, configuring remote builds with ACR, implementing idempotent deployments, managing environment variables across local/.azure/Bicep, or troubleshooting azd up failures. Triggers on requests for azd configuration, Container Apps deployment, multi-service deployments, and infrastructure-as-code with Bicep.
---
# Azure Developer CLI (azd) Container Apps Deployment
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
# Initialize and deploy
azd auth login
azd init # Creates azure.yaml and .azure/ folder
azd env new <env-name> # Create environment (dev, staging, prod)
azd up # Provision infra + build + deploy
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
# Initialize and deploy
azd auth login
azd init # Creates azure.yaml and .azure/ folder
azd env new <env-name> # Create environment (dev, staging, prod)
azd up # Provision infra + build + deploy
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
# Initialize and deploy
azd auth login
azd init # Creates azure.yaml and .azure/ folder
azd env new <env-name> # Create environment (dev, staging, prod)
azd up # Provision infra + build + deploy
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
# Initialize and deploy
azd auth login
azd init # Creates azure.yaml and .azure/ folder
azd env new <env-name> # Create environment (dev, staging, prod)
azd up # Provision infra + build + deploy
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
# Initialize and deploy
azd auth login
azd init # Creates azure.yaml and .azure/ folder
azd env new <env-name> # Create environment (dev, staging, prod)
azd up # Provision infra + build + deploy
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
# Initialize and deploy
azd auth login
azd init # Creates azure.yaml and .azure/ folder
azd env new <env-name> # Create environment (dev, staging, prod)
azd up # Provision infra + build + deploy
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
# Initialize and deploy
azd auth login
azd init # Creates azure.yaml and .azure/ folder
azd env new <env-name> # Create environment (dev, staging, prod)
azd up # Provision infra + build + deploy
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
# Initialize and deploy
azd auth login
azd init # Creates azure.yaml and .azure/ folder
azd env new <env-name> # Create environment (dev, staging, prod)
azd up # Provision infra + build + deploy
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
# Initialize and deploy
azd auth login
azd init # Creates azure.yaml and .azure/ folder
azd env new <env-name> # Create environment (dev, staging, prod)
azd up # Provision infra + build + deploy
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
# Initialize and deploy
azd auth login
azd init # Creates azure.yaml and .azure/ folder
azd env new <env-name> # Create environment (dev, staging, prod)
azd up # Provision infra + build + deploy
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
# Initialize and deploy
azd auth login
azd init # Creates azure.yaml and .azure/ folder
azd env new <env-name> # Create environment (dev, staging, prod)
azd up # Provision infra + build + deploy
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
# Initialize and deploy
azd auth login
azd init # Creates azure.yaml and .azure/ folder
azd env new <env-name> # Create environment (dev, staging, prod)
azd up # Provision infra + build + deploy
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
# Initialize and deploy
azd auth login
azd init # Creates azure.yaml and .azure/ folder
azd env new <env-name> # Create environment (dev, staging, prod)
azd up # Provision infra + build + deploy
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
# Initialize and deploy
azd auth login
azd init # Creates azure.yaml and .azure/ folder
azd env new <env-name> # Create environment (dev, staging, prod)
azd up # Provision infra + build + deploy
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
├── .azure/
│ ├── config.json # Default environment pointer
│ └── <env-name>/
│ ├── .env # Environment-specific values (azd-managed)
│ └── config.json # Environment metadata
└── src/
├── frontend/Dockerfile
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
├── .azure/
│ ├── config.json # Default environment pointer
│ └── <env-name>/
│ ├── .env # Environment-specific values (azd-managed)
│ └── config.json # Environment metadata
└── src/
├── frontend/Dockerfile
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
├── .azure/
│ ├── config.json # Default environment pointer
│ └── <env-name>/
│ ├── .env # Environment-specific values (azd-managed)
│ └── config.json # Environment metadata
└── src/
├── frontend/Dockerfile
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
├── .azure/
│ ├── config.json # Default environment pointer
│ └── <env-name>/
│ ├── .env # Environment-specific values (azd-managed)
│ └── config.json # Environment metadata
└── src/
├── frontend/Dockerfile
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
├── .azure/
│ ├── config.json # Default environment pointer
│ └── <env-name>/
│ ├── .env # Environment-specific values (azd-managed)
│ └── config.json # Environment metadata
└── src/
├── frontend/Dockerfile
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
├── .azure/
│ ├── config.json # Default environment pointer
│ └── <env-name>/
│ ├── .env # Environment-specific values (azd-managed)
│ └── config.json # Environment metadata
└── src/
├── frontend/Dockerfile
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
├── .azure/
│ ├── config.json # Default environment pointer
│ └── <env-name>/
│ ├── .env # Environment-specific values (azd-managed)
│ └── config.json # Environment metadata
└── src/
├── frontend/Dockerfile
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
├── .azure/
│ ├── config.json # Default environment pointer
│ └── <env-name>/
│ ├── .env # Environment-specific values (azd-managed)
│ └── config.json # Environment metadata
└── src/
├── frontend/Dockerfile
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
├── .azure/
│ ├── config.json # Default environment pointer
│ └── <env-name>/
│ ├── .env # Environment-specific values (azd-managed)
│ └── config.json # Environment metadata
└── src/
├── frontend/Dockerfile
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
├── .azure/
│ ├── config.json # Default environment pointer
│ └── <env-name>/
│ ├── .env # Environment-specific values (azd-managed)
│ └── config.json # Environment metadata
└── src/
├── frontend/Dockerfile
Detected: suspicious.generated_source_template_injection