Info icon
End of Life Notice: For Trend Cloud One™ - Conformity Customers, Conformity will reach its End of Sale on “July 31st, 2025” and End of Life “July 31st, 2026”. The same capabilities and much more is available in TrendAI Vision One™ Cloud Risk Management. For details, please refer to Upgrade to TrendAI Vision One™

Enable Code Signing for Agent Action Group Lambda Functions

TrendAI Vision One™ provides continuous assurance that gives peace of mind for your cloud infrastructure, delivering over 1400 automated best practice checks.

Risk Level: High (not acceptable risk)

Ensure that the AWS Lambda functions configured as action group executors for your Amazon Bedrock agents have code signing enabled. Amazon Bedrock agents use action groups to carry out tasks by invoking Lambda functions that contain business logic. Code signing for AWS Lambda uses AWS Signer to verify that only trusted, digitally signed code packages are deployed to your functions. When you attach a code signing configuration to a Lambda function, Lambda validates all new code deployments against the allowed signing profiles, checking for integrity, expiry, signing profile mismatch, and revocation.

Security

Lambda functions serving as action group executors for Amazon Bedrock agents often have elevated privileges and access to sensitive resources, making them high-value targets for code injection attacks. Without code signing, any principal with lambda:UpdateFunctionCode or lambda:PublishLayerVersion permissions can silently modify the function code or inject malicious layers, potentially allowing an attacker to exfiltrate data, escalate privileges, or manipulate agent behavior. Enabling code signing ensures that only code packages signed by trusted AWS Signer profiles can be deployed, providing a strong defense-in-depth layer against supply chain attacks and unauthorized code modifications.


Audit

To determine if the Lambda functions used by your Amazon Bedrock Agent action groups have code signing configuration enabled, perform the following operations:

Using AWS Console

  1. Sign in to the AWS Management Console.

  2. Navigate to Amazon Bedrock console available at https://console.aws.amazon.com/bedrock/.

  3. In the main navigation panel, under Build, select Agents Classic.

  4. In the Agents section, click on the name (link) of the agent that you want to examine, available in the Name column.

  5. On the agent details page, choose Edit in Agent Builder at the top of the page.

  6. In the Agent Builder, scroll down to the Action groups section to view the action groups configured for the selected agent.

  7. Click on the name (link) of the action group that you want to examine. In the Action group invocation section, identify the Lambda function associated with the action group, then choose View next to the function name to open the function in the AWS Lambda console.

  8. In the Lambda function page, select the Configuration tab, then choose Code signing from the left navigation panel.

  9. In the Code signing configuration section, check if a code signing configuration is attached to the function. If the Code signing configuration section shows No code signing configuration or no code signing configuration ARN is listed, code signing is not enabled for the Lambda function used by the selected Bedrock Agent action group.

  10. Repeat steps no. 7 – 9 for each action group configured for the selected Amazon Bedrock agent.

  11. Repeat steps no. 4 – 10 for each Bedrock agent available within the current AWS region.

  12. Change the AWS cloud region from the navigation bar to repeat the Audit process for other regions.

Using AWS CLI

  1. Run list-agents command (OSX/Linux/UNIX) to list the identifier (ID) of each Amazon Bedrock agent available in the selected AWS cloud region:

    aws bedrock-agent list-agents
      --region us-east-1
      --query 'agentSummaries[*].agentId'
    
  2. The command output should return the requested agent identifiers (IDs):

    [
        "ABCDACBDAB",
        "ABCABCABCA"
    ]
    
  3. Run list-agent-action-groups command (OSX/Linux/UNIX) with the agent ID and the DRAFT agent version to list the action group identifiers for the selected agent. Use DRAFT to inspect the current mutable configuration. To list published (immutable) agent versions, use the list-agent-versions command:

    aws bedrock-agent list-agent-action-groups
      --region us-east-1
      --agent-id ABCDACBDAB
      --agent-version DRAFT
      --query 'actionGroupSummaries[*].actionGroupId'
    
  4. The command output should return the requested action group identifiers (IDs):

    [
        "XYXYXYXYXY"
    ]
    
  5. Run get-agent-action-group command (OSX/Linux/UNIX) with the agent ID, agent version, and action group ID to describe the action group executor configuration and extract the Lambda function ARN:

    aws bedrock-agent get-agent-action-group
      --region us-east-1
      --agent-id ABCDACBDAB
      --agent-version DRAFT
      --action-group-id XYXYXYXYXY
      --query 'agentActionGroup.actionGroupExecutor.lambda'
    
  6. The command output should return the ARN of the Lambda function used as the action group executor:

    "arn:aws:lambda:us-east-1:123456789012:function:cc-bedrock-agent-executor"
    

    If the command output returns null or the action group uses customControl instead of a Lambda function, code signing verification is not applicable for this action group.

  7. Run get-function-code-signing-config command (OSX/Linux/UNIX) using the Lambda function ARN returned at the previous step to check if code signing is configured for the function:

    aws lambda get-function-code-signing-config
      --region us-east-1
      --function-name arn:aws:lambda:us-east-1:123456789012:function:cc-bedrock-agent-executor
      --query 'CodeSigningConfigArn'
    
  8. If code signing is enabled, the command output should return the ARN of the code signing configuration attached to the function:

    "arn:aws:lambda:us-east-1:123456789012:code-signing-config:csc-abcd1234abcd1234a"
    

    If the get-function-code-signing-config command output returns null, as shown below, there is no code signing configuration attached and the Code Signing feature is not enabled for the Lambda function used by the selected Amazon Bedrock Agent action group:

    null
    
  9. Repeat steps no. 5 – 8 for each action group configured for the selected Amazon Bedrock agent.

  10. Repeat steps no. 3 – 9 for each Amazon Bedrock agent available in the selected AWS region.

  11. Change the AWS cloud region by updating the --region command parameter value and repeat steps no. 1 – 10 to perform the Audit process for other regions.

Remediation / Resolution

To enable code signing for the Lambda functions used by your Amazon Bedrock Agent action groups, you must create a code signing configuration with allowed signing profiles and attach it to each Lambda function. To enable code signing, perform the following operations:

Note: Code signing configurations only prevent new deployments of unsigned code. If you add a code signing configuration to an existing function that has unsigned code, that code continues running until you deploy a new signed code package. You must also ensure that a valid AWS Signer signing profile exists before creating the code signing configuration.

Using AWS Console

  1. Sign in to the AWS Management Console.

  2. Navigate to AWS Signer console available at https://console.aws.amazon.com/signer/.

  3. Choose Create signing profile. Enter a unique Profile name, select AWS Lambda as the Signing platform, configure the Signature validity period (default is 135 months), and choose Create profile.

  4. Open the Code signing configurations page of the Lambda console and choose Create configuration.

  5. For Description, enter a descriptive name (e.g., cc-bedrock-agent-code-signing). Under Signing profiles, add the signing profile created at step 3. Under Signature validation policy, choose Enforce to block deployments of unsigned or invalidly signed code packages. Choose Create configuration.

  6. Open the Functions page of the Lambda console and click on the name (link) of the Lambda function used by your Bedrock Agent action group (see Audit section part I to identify the right resource).

  7. Select the Configuration tab, then scroll down and choose Code signing.

  8. Choose Edit.

  9. On the Edit code signing page, under Code signing configuration, choose the code signing configuration created at step 5 from the dropdown list.

  10. Choose Save to attach the code signing configuration to the Lambda function.

  11. Repeat steps no. 6 – 10 for each Lambda function used by your Amazon Bedrock Agent action groups within the current AWS region.

  12. Change the AWS cloud region from the navigation bar to repeat the Remediation process for other regions.

Using AWS CLI

  1. Run put-signing-profile command (OSX/Linux/UNIX) to create an AWS Signer signing profile for AWS Lambda. The signing profile is referenced by the code signing configuration created in the following steps. Replace <profile-name> with a unique name for your signing profile:

    aws signer put-signing-profile
      --region us-east-1
      --profile-name <profile-name>
      --platform-id AWSLambda-SHA384-ECDSA
    
  2. The command output should return the Amazon Resource Names (ARNs) of the newly created signing profile. Use the "profileVersionArn" value as the <signing-profile-version-arn> in the next step:

    {
        "arn": "arn:aws:signer:us-east-1:123456789012:/signing-profiles/cc_bedrock_signing_profile",
        "profileVersionArn": "arn:aws:signer:us-east-1:123456789012:/signing-profiles/cc_bedrock_signing_profile/AbCdEf1234"
    }
    
  3. Run create-code-signing-config command (OSX/Linux/UNIX) to create a new code signing configuration with the ARN of a trusted AWS Signer signing profile. Replace <signing-profile-version-arn> with the "profileVersionArn" value returned at the previous step:

    aws lambda create-code-signing-config
      --region us-east-1
      --description "Code signing for Bedrock Agent Lambda functions"
      --allowed-publishers SigningProfileVersionArns=<signing-profile-version-arn>
      --code-signing-policies UntrustedArtifactOnDeployment=Enforce
    
  4. The command output should return the newly created code signing configuration details:

    {
        "CodeSigningConfig": {
            "CodeSigningConfigId": "csc-abcd1234abcd1234a",
            "CodeSigningConfigArn": "arn:aws:lambda:us-east-1:123456789012:code-signing-config:csc-abcd1234abcd1234a",
            "Description": "Code signing for Bedrock Agent Lambda functions",
            "AllowedPublishers": {
                "SigningProfileVersionArns": [
                    "<signing-profile-version-arn>"
                ]
            },
            "CodeSigningPolicies": {
                "UntrustedArtifactOnDeployment": "Enforce"
            },
            "LastModified": "2025-01-15T10:30:00.000000+00:00"
        }
    }
    
  5. Run put-function-code-signing-config command (OSX/Linux/UNIX) to attach the code signing configuration to the Lambda function used by your Bedrock Agent action group (see Audit section part II to identify the right resource). Replace <code-signing-config-arn> with the ARN returned at the previous step:

    aws lambda put-function-code-signing-config
      --region us-east-1
      --code-signing-config-arn <code-signing-config-arn>
      --function-name cc-bedrock-agent-executor
    
  6. The command output should return confirmation of the code signing configuration attachment:

    {
        "CodeSigningConfigArn": "arn:aws:lambda:us-east-1:123456789012:code-signing-config:csc-abcd1234abcd1234a",
        "FunctionName": "cc-bedrock-agent-executor"
    }
    
  7. Repeat steps no. 5 and 6 for each Lambda function used by your Amazon Bedrock Agent action groups in the selected AWS region.

  8. Change the AWS cloud region by updating the --region command parameter value and repeat steps no. 1 – 7 to perform the Remediation process for other regions.

References

Publication date Jul 13, 2026