Thank you for visiting OWASP.org. We recently migrated our community to a new web platform and regretably the content for this page needed to be programmatically ported from its previous wiki page. There’s still some work to be done. The historical content can be found here.
Please visit our Page Migration Guide for more information about updating pages for the new website as well as examples of github markdown.
OWASP ServerlessGoat is a deliberately insecure realistic AWS Lambda serverless application, maintained by OWASP.
You can install ServerlessGoat, learn about the vulnerabilities, how to exploit them, and how to remediate each issue. The project also includes documentation explaining the issues and how they should be remediated with best-practices.
As serverless adoption is expected to continue growing and reach new audiences, we see the importance of education on topics such as how to build robust, secure and reliable AWS Lambda serverless applications. This project will expose developers and security practitioners to basic serverless security concepts, risks, attacks and mitigation best-practices.
A single click installation process. No compilation, building or packaging required
The application uses default serverless application repository permissions (SAM policy templates), making it more realistic
The installation doesn't create custom IAM roles or resource policies on the account in which it is deployed in
OWASP does not take responsibility for the way in which any one uses the ServerlessGoat application. OWASP made the purposes of the application clear and it should not be used maliciously. We have given warnings and taken measures to prevent users from installing ServerlessGoat on production accounts.
The application is a service which receives a URL to a Word document (with a .doc extension - Office 97-2004), and will reply with an HTML page containing the extracted text.
Over-privileged function permissions & roles (SAS-04)
Inadequate function monitoring and logging (SAS-05)
Insecure 3rd Party Dependencies (SAS-06)
Application layer Denial of Service (SAS-08)
Improper exception handling and verbose error messages (SAS-10)
Other undisclosed *critical* issues, as a bonus!
The OWASP ServerlessGoat project is free for use. You can redistribute it and/or modify it under the terms of the link GNU Affero General Public License 3.0 as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
ServerlessGoat is a simple AWS Lambda application, which serves as a MS-Word .doc file to plain text converter service. It receives a URL to a .doc file as input, and will return the text inside the document back to the API caller. The application is packaged and published for deployment through the AWS Serverless Application Repository. Steps for deployment:
Make sure you are logged into your AWS account
Click on the following link: AWS Serverless Application Repository
Click 'Deploy' (again)
Wait until you see the message 'Your application has been deployed'
Click on 'View CloudFormation Stack'
Under 'Outputs' you will find the URL for the application (WebsiteURL)
The OWASP® Foundation works to improve the security of software through its community-led open source software projects,
hundreds of chapters worldwide, tens of thousands of members, and by hosting local and global conferences.