OWASP Serverless-Goat

A serverless application demonstrating common serverless security flaws.

AWS Open Source Self Hosted Only
Category Serverless Security
Community Stars 323
Last Commit 5 years ago
Last page update 19 days ago
Pricing Details Free and open source under GNU Affero General Public License v3.0
Target Audience Security professionals, developers, and researchers interested in serverless security.

OWASP Serverless-Goat manages identifying and mitigating common security flaws in serverless architectures, a domain often plagued by misunderstood or overlooked vulnerabilities. This tool is a deliberately insecure, yet realistic, AWS Lambda serverless application designed to demonstrate the top 10 serverless security weaknesses as outlined by OWASP.

Technically, Serverless-Goat is built using AWS Lambda functions and leverages various AWS services to create a comprehensive, yet vulnerable, serverless environment. The architecture includes multiple Lambda functions, each designed to exhibit specific security flaws such as insecure data storage, inadequate authentication, and improper error handling. The application is deployed using a serverlessrepo.yaml file, which defines the necessary resources and configurations for the AWS environment.

From an operational standpoint, deploying Serverless-Goat requires careful consideration to avoid unintended security risks, as the application is intentionally vulnerable. It is crucial to isolate the deployment to a non-production environment to prevent any potential exploitation. Additionally, the tool relies on AWS services, so understanding the associated costs and resource limits is essential to avoid unexpected expenses.

In terms of specific technical details, Serverless-Goat utilizes AWS Lambda's event-driven model, with functions triggered by various events such as API Gateway requests or S3 bucket updates. The application also integrates with other AWS services like DynamoDB and S3, highlighting potential misconfigurations and security gaps in these integrations. While the tool is invaluable for training and testing, it must be handled with caution due to its inherently vulnerable nature.

Improve this page