How to Find AWS Lambda Functions with Obsolete Runtimes
If you have functions running on a runtime that will be deprecated in the next 60 days, Lambda notifies you by email that you should prepare by migrating your function to a supported runtime.
In some cases, such as security issues that require a backwards-incompatible update, or software that does not support a long-term support (LTS) schedule, advance notice might not be possible.
After a runtime is deprecated, Lambda might retire it completely at any time by disabling invocation. Deprecated runtimes are not eligible for security updates or technical support.
This security check is part of the CIS Amazon Web Services Benchmarks and is rated severity medium.
Prerequisites
This guide assumes that you have already installed and configured Fix Inventory to collect your AWS resources.
Directions
-
Execute the following
search
command in Fix Inventory Shell:> search is(aws_lambda_function) and function_runtime in [python3.6, python2.7, dotnetcore2.1, ruby2.5, nodejs10.x, nodejs8.10, nodejs4.3, nodejs6.10, dotnetcore1.0, dotnetcore2.0, nodejs4.3-edge, nodejs]
kind=aws_lambda_function, ..., region=fixinventory-poweruser
kind=aws_lambda_function, ..., account=poweruser-team -
Pipe the
search
command into thedump
command:> search is(aws_lambda_function) and function_runtime in [python3.6, python2.7, dotnetcore2.1, ruby2.5, nodejs10.x, nodejs8.10, nodejs4.3, nodejs6.10, dotnetcore1.0, dotnetcore2.0, nodejs4.3-edge, nodejs] | dump
reported:
id: /aws/lambda/123
name: some-name
ctime: '2022-12-05T22:53:14Z'
kind: aws_lambda_function
age: 2mo28dThe command output will list the details of all non-compliant
aws_lambda_function
resources.
Remediation
- Migrating your deprecated functions to a supported runtime.
- Testing new runtimes as they are made available.
- Rolling out new runtimes in production as soon as possible.
Please refer to the AWS Lambda documentation for details.