Este informe no está traducido al idioma solicitado. Se muestra en su lugar el informe canónico en inglés.

Evaluación de seguridad versionada

ID del informe: SA-DBE0E719

7/8/2026, 8:27:04 AM

azure-cloud-migrate evaluación de seguridad v5

Informe de certificación de seguridad de la habilidad

Historial de auditorías
Modelo de auditoría: codex Informe histórico
Nombre de la habilidad
azure-cloud-migrate
Versión
v5
Mantenedor
microsoft
Cobertura
32 Archivos escaneados · 4,622 Líneas analizadas
Versión de la política
No disponible

Gravedad máxima de hallazgo confirmada

Alto

9 hallazgos de seguridad confirmados requieren atención.

Contexto de instalación

Evidencia histórica

Este informe podría no describir el artefacto instalable actualmente. Abra la página actual de la Skill para obtener orientación de instalación.

Abrir la página actual de la habilidad

Este informe no bloquea ni autoriza el manifiesto ni el ZIP.

Most static findings are documentation false positives from Markdown links, code fences, Azure managed identity examples, and visible migration commands. Confirmed risks remain where the guides retrieve shared keys, export Kubernetes secrets, or pass decoded secret values through command-line arguments during migration.

Posición del informe

Informe histórico

Abra el historial de auditorías antes de usar este informe para instalar.

Atestación de auditoría

No se puede certificar

La vinculación inmutable requerida está incompleta.

Verificación humana

No verificado

No se ha registrado ninguna verificación humana para este informe.

Cobertura

32 Archivos escaneados · 4,622 Líneas analizadas

23 elementos mostrados para revisión

Limitaciones

Este informe no afirma ninguna ejecución en tiempo de ejecución ni en entorno aislado y no prueba la ausencia de efectos secundarios.

Cadena de evidencias

Sigue la evidencia desde la vinculación del código fuente hasta el contrato de instalación. La evidencia disponible permite la verificación; no constituye una garantía de seguridad.

  1. Fuente

    Vinculación no disponible

  2. Artefacto

    Identidad incompleta

  3. Auditoría

    Completo

  4. Contrato de instalación

    Abrir el manifiesto para verificar

    Abrir el manifiesto

Capacidades observadas

Observado significa que este informe registró evidencia de respaldo. No registrado no prueba que una capacidad esté ausente.

Contiene scripts

Puede ejecutar código incluido con la habilidad.

Observado en 12 ubicaciones de evidencia

Acceso a red

Puede conectarse a servicios externos.

Observado en 23 ubicaciones de evidencia

Acceso al sistema de archivos

Puede leer o escribir archivos locales.

Observado en 7 ubicaciones de evidencia

Variables de entorno

Puede leer valores del entorno del proceso.

Observado en 34 ubicaciones de evidencia

Comandos externos

Puede invocar comandos o programas fuera de la habilidad.

Observado en 171 ubicaciones de evidencia

Elementos de revisión de capacidades (14)
Alto
Shell command substitution
--value "$(gcloud secrets versions access latest --secret=<secret-id> --project="$GCP_PROJECT")"
The line recommends or uses command-line secret transfer through az keyvault secret set --value. That can expose decoded secret material through process arguments, logs, or shell history.
Alto
Shell command substitution
az keyvault secret set --vault-name myapp-kv --name password --value "$(kubectl get secret mysecret
The line recommends or uses command-line secret transfer through az keyvault secret set --value. That can expose decoded secret material through process arguments, logs, or shell history.
Alto
Database connection strings
read -s -p "Enter database password: " DB_PASSWORD
The example asks for a database password and writes it into a temporary file for Key Vault import. Cleanup is present, but the flow still materializes secret data locally.
Alto
Database connection strings
echo -n "$DB_PASSWORD" > "$SECRET_FILE"
The example asks for a database password and writes it into a temporary file for Key Vault import. Cleanup is present, but the flow still materializes secret data locally.
Medio
Shell command substitution
LOG_KEY=$(az monitor log-analytics workspace get-shared-keys -g "$RG" -n "${RG}-logs" --query primar
The command retrieves cloud shared keys into shell variables. These keys are sensitive credentials and can be exposed through logs, history, or subsequent command arguments.
Medio
Shell command substitution
LOG_KEY=$(az monitor log-analytics workspace get-shared-keys --resource-group myapp-rg --workspace-n
The command retrieves cloud shared keys into shell variables. These keys are sensitive credentials and can be exposed through logs, history, or subsequent command arguments.
Medio
Ruby/shell backtick execution
aws secretsmanager get-secret-value --secret-id <secret-id> --region <region> `
The command extracts live AWS Secrets Manager values during migration. The guide uses cleanup controls, but the secret is still materialized in the local execution environment.
Medio
Shell command substitution
secret_file="$(mktemp)"
The temp file is created specifically for secret migration. Permissions and cleanup reduce exposure, but local secret materialization remains a security risk.
Medio
Temp file creation
secret_file="$(mktemp)"
The temp file is created specifically for secret migration. Permissions and cleanup reduce exposure, but local secret materialization remains a security risk.
Medio
Ruby/shell backtick execution
--azure-file-account-name "$STORAGE_ACCOUNT" --azure-file-account-key "$STORAGE_KEY" `
The line passes a retrieved cloud key as a command argument. This is a legitimate deployment pattern, but it increases the chance of secret exposure in local process or logging surfaces.
Medio
Shell command substitution
LOG_KEY=$(az monitor log-analytics workspace get-shared-keys --resource-group spring-rg --workspace-
The command retrieves cloud shared keys into shell variables. These keys are sensitive credentials and can be exposed through logs, history, or subsequent command arguments.
Medio
Shell command substitution
STORAGE_KEY=$(az storage account keys list --account-name "$STORAGE_ACCOUNT" --resource-group spring
The command retrieves cloud shared keys into shell variables. These keys are sensitive credentials and can be exposed through logs, history, or subsequent command arguments.
Medio
Shell command substitution
SECRET_FILE=$(mktemp)
The temp file is created specifically for secret migration. Permissions and cleanup reduce exposure, but local secret materialization remains a security risk.
Medio
Temp file creation
SECRET_FILE=$(mktemp)
The temp file is created specifically for secret migration. Permissions and cleanup reduce exposure, but local secret materialization remains a security risk.

Hallazgos de riesgos

Las preocupaciones de seguridad confirmadas están separadas de los elementos que aún deben revisarse.

Preocupaciones de seguridad confirmadas (9)

RISK-001 Alto
System reconnaissance
> **Tip**: Prefer piping decoded secret values directly to `az keyvault secret set --value` to avoid
The line recommends or uses command-line secret transfer through az keyvault secret set --value. That can expose decoded secret material through process arguments, logs, or shell history.
RISK-002 Alto
Kubernetes Secrets Exported Into Workspace
The Kubernetes deployment guide creates an export directory and writes all resources, including Secret objects, to all-resources.yaml. Kubernetes Secret values are base64 encoded, not encrypted, so this can leave sensitive data in the workspace.
The command explicitly includes secret resources in a YAML export file. This is direct evidence of local secret materialization during assessment.
RISK-003 Alto
Decoded Secrets Passed Through CLI Arguments
Several migration examples pass decoded secret values to az keyvault secret set with --value. This can expose secrets in process listings, command logging, terminal scrollback, or shell history.
The cited lines show decoded Kubernetes or GCP secret values being passed as CLI values. The risk is clear even though the migration intent is legitimate.
RISK-004 Medio
System reconnaissance
--logs-workspace-id "$LOG_ID" --logs-workspace-key "$LOG_KEY"
The line passes a retrieved cloud key as a command argument. This is a legitimate deployment pattern, but it increases the chance of secret exposure in local process or logging surfaces.
RISK-005 Medio
System reconnaissance
--logs-workspace-id $workspace.customerId --logs-workspace-key $keys.primarySharedKey
The line passes a retrieved cloud key as a command argument. This is a legitimate deployment pattern, but it increases the chance of secret exposure in local process or logging surfaces.
RISK-006 Medio
System reconnaissance
--logs-workspace-id "$LOG_ID" --logs-workspace-key "$LOG_KEY" \
The line passes a retrieved cloud key as a command argument. This is a legitimate deployment pattern, but it increases the chance of secret exposure in local process or logging surfaces.
RISK-007 Medio
System reconnaissance
--logs-workspace-id $workspace.customerId --logs-workspace-key $keys.primarySharedKey `
The line passes a retrieved cloud key as a command argument. This is a legitimate deployment pattern, but it increases the chance of secret exposure in local process or logging surfaces.
RISK-008 Medio
System reconnaissance
aws secretsmanager get-secret-value --secret-id <secret-id> --region <region> \
The command extracts live AWS Secrets Manager values during migration. The guide uses cleanup controls, but the secret is still materialized in the local execution environment.
RISK-009 Medio
System reconnaissance
aws secretsmanager get-secret-value --secret-id <secret-id> --region <region> `
The command extracts live AWS Secrets Manager values during migration. The guide uses cleanup controls, but the secret is still materialized in the local execution environment.

Medidas correctivas

Esta auditoría registra correcciones sugeridas. Aplicarlas es responsabilidad de la persona encargada del mantenimiento.

  1. FIX-001
    Alto
    Decoded secrets are passed with az keyvault secret set --value in Kubernetes and Cloud Run migration examples.
    Replace --value secret transfer with protected file input, stdin-safe tooling, or a documented manual step that avoids process arguments and shell history.
  2. FIX-002
    Alto
    Kubernetes exports include Secret resources in local YAML output.
    Exclude Secret objects from broad exports by default, or write redacted metadata only unless the user explicitly approves secret migration.
  3. FIX-003
    Medio
    Some deployment examples retrieve Log Analytics or storage account shared keys into shell variables.
    Prefer identity-based or keyless Azure Monitor and storage patterns, and clearly mark shared-key fallbacks as sensitive manual operations.
  4. FIX-004
    Medio
    Temporary files are used for secret import flows.
    Keep restrictive permissions and cleanup, but warn users not to run those steps in shared, recorded, or synchronized workspaces.

Evidencia experta

Identidad inmutable del sujeto, metadatos del escáner, coincidencias descartadas y evidencia a nivel de código fuente.

Sujeto del artefacto

Commit de Marketplace
No disponible
Hash del contenido
No disponible
Hash del árbol
No disponible
Ruta del Skill
No disponible
Hash de la carga de auditoría
No disponible

Metadatos del análisis

Modelo de auditoría: codex

Estado del análisis: Completo

El alcance se limita a los archivos, líneas, métodos y pruebas registrados. No se afirma ninguna ejecución en tiempo de ejecución ni en entorno aislado.

Verificar y exportar

El manifiesto y el archivo de bloqueo vinculan los artefactos de instalación a hashes criptográficos. Esta afirmación de integridad es independiente de la evaluación de seguridad.

Atestación de auditoría: not_attestable