March 2023 Summaries
2 posts from Steadybit
Filter
Month:
Year:
Post Summaries
Back to Blog
The article outlines the process of implementing an attack to inject failures into AWS Lambda functions using the failure-lambda library by Gunnar Grosch and integrating it into Steadybit. The approach involves wrapping Lambda function handlers with the library, configuring failure modes like adding latency or returning a fixed status code, and managing these settings via the AWS System Manager Parameter Store. It details the lifecycle actions required for failure injection, which include preparing, starting, and stopping the injection. Additionally, the extension provides descriptive metadata and specifies parameters for user interaction, such as specifying the duration and status code. The article concludes by highlighting the discovery of a bug in exception handling during experimentation and suggests that injecting HTTP status codes is just the beginning of what failure-lambda can achieve, with full code available on GitHub.
Mar 30, 2023
1,171 words in the original blog post.
The article outlines the process of implementing a discovery extension for AWS Lambda using Steadybit, which is necessary for injecting failures into Lambda functions. The extension uses Gunnar Grosch's failure-lambda npm package for failure injection and requires discovery of Lambda functions as a prerequisite. The discovery mechanism involves using the AWS SDK to list and convert Lambda functions into targets, which the Steadybit agent periodically queries to update the platform with target information. The extension provides metadata for Lambda targets, enhancing the platform's UI with descriptive labels and icons. The article also details how to set up and run the extension locally, ensuring proper AWS SDK credentials, and provides instructions for building and deploying the extension using a Dockerfile and helm chart. Once deployed in a Kubernetes cluster, the extension is auto-discovered by the Steadybit agent, making Lambda functions visible for potential failure injection, thereby preparing for the next phase of implementing attacks on these functions.
Mar 30, 2023
936 words in the original blog post.