Secuestrar el rol del intérprete de Bedrock AgentCore
Puede invocar Python en un intérprete de AgentCore y ejecutarlo con su rol de ejecución.
Concede escalada solo en combinación. Se necesitan todos estos a la vez:
bedrock-agentcore:StartCodeInterpreterSessionbedrock-agentcore:InvokeCodeInterpreterbedrock-agentcore:InvokeCodeInterpreter puede invocar Python en un intérprete de AgentCore y ejecutarlo con su rol de ejecución, pero solo cuando se combina con bedrock-agentcore:StartCodeInterpreterSession. Combinados, llegan a acceso de administrador.
Por qué es peligroso
Un principal puede llamar a bedrock-agentcore:StartCodeInterpreterSession e InvokeCodeInterpreter sobre un intérprete de código de Bedrock AgentCore existente que ya tiene el rol de ejecución, e invocar en la sesión código Python aportado por el atacante. El intérprete ejecuta ese Python en su MicroVM como el rol objetivo, sin necesidad de iam:PassRole ni de CreateCodeInterpreter, porque el rol objetivo ya está vinculado al intérprete. El Python lee las credenciales activas del rol objetivo desde el servicio de metadatos de la MicroVM o llama directamente a AWS; si el rol objetivo tiene privilegios, se trata de una escalada total de privilegios contra un intérprete en el que ya se confiaba. Marcado como pendiente de verificación porque AgentCore es un servicio nuevo de 2025 y esta es una arista de dos acciones.
En términos de MITRE ATT&CK, esto corresponde a T1578, Modificar la infraestructura de cómputo cloud, bajo la táctica de escalada de privilegios. AWS lo registra en CloudTrail como StartCodeInterpreterSession, InvokeCodeInterpreter. La llamada aparece en CloudTrail pero se confunde con la administración normal, así que necesita una regla para destacar.
Detección
StartCodeInterpreterSessionInvokeCodeInterpreterRequisitos previos
Un intérprete de código de AgentCore existente con un rol de ejecución asociado; permiso para iniciar una sesión e invocar código en él. No se requieren iam:PassRole ni CreateCodeInterpreter, porque el rol ya está vinculado.
Táctica
Escalada de privilegios
Un control que lo eliminaría: Restringe bedrock-agentcore:StartCodeInterpreterSession / InvokeCodeInterpreter en los intérpretes que tienen un rol de ejecución con privilegios; acota estas acciones a ARN de intérprete concretos.
Aplicarla o no depende de cómo se use el permiso en tu entorno, así que es una decisión de negocio y no una corrección automática. El mismo permiso puede ser imprescindible en una cuenta y puro riesgo en otra.
Pathbreak confirma si esta ruta se resuelve en tu cuenta, la clasifica frente a las demás según cuánto abre y usa tu modelo de amenazas y tu contexto de negocio para mostrar qué rutas merece la pena cortar.
Preguntas
¿Qué permite bedrock-agentcore:InvokeCodeInterpreter?
Puede invocar Python en un intérprete de AgentCore y ejecutarlo con su rol de ejecución.
¿Qué más hace falta para que bedrock-agentcore:InvokeCodeInterpreter sea peligroso?
Solo se convierte en escalada cuando se combina con bedrock-agentcore:StartCodeInterpreterSession. Por sí solo no basta, y eso es lo que hace que la combinación sea fácil de pasar por alto.
¿Cómo se detecta el secuestro del rol del intérprete de Bedrock AgentCore?
Vigila StartCodeInterpreterSession, InvokeCodeInterpreter en CloudTrail. La llamada aparece en CloudTrail pero se confunde con la administración normal, así que necesita una regla para destacar.
¿Cómo se rompe esta ruta?
Un control que lo eliminaría es: Restringe bedrock-agentcore:StartCodeInterpreterSession / InvokeCodeInterpreter en intérpretes que tengan un rol de ejecución con privilegios; acota estas acciones a ARNs de intérprete específicos. Aplicarla o no depende de cómo se use el permiso en tu cuenta, así que es una decisión de negocio y no una corrección automática.
¿De qué técnica de MITRE ATT&CK se trata?
T1578, Modificar la infraestructura de cómputo cloud, en la táctica de escalada de privilegios.
Rutas relacionadas
Referencias
Encuéntralo en tu propia cuenta
Ejecutamos un escaneo de solo lectura de una cuenta de AWS y te mostramos cuáles de estas rutas existen, ordenadas por radio de impacto, con el cambio que rompe cada una. Primeras rutas validadas en menos de una hora.