prowler-cloud/prowler

Implement more secrets checks

已關閉

#3,085 建立於 2023年11月30日

 (12 則留言) (0 個反應) (2 位負責人)Python (1,322 個分叉)batch import
feature-requestgood first issue

倉庫指標

星標
 (8,957 顆星)
PR 合併指標
 (平均合併 9天 17小時) (30 天內合併 314 個 PR)

描述

New feature motivation

Similar to the secrets checks for the other services (lambda/ec2/ecs/etc), more checks can be implemented

Solution Proposed

Elastic Beanstalk:

  • Configuration files (.ebextensions) used for environment customization might contain secrets.
  • aws elasticbeanstalk describe-environment-resources --environment-name [Environment_Name]

API Gateway:

  • Integration request parameters or mapping templates can potentially include secrets.
  • aws apigateway get-integration --rest-api-id [RestApi_Id] --resource-id [Resource_Id] --http-method [HTTP_Method]

CodeBuild and CodePipeline:

  • Buildspec files or pipeline definitions could contain embedded secrets, especially in environment variable definitions.
  • aws codebuild batch-get-projects --names [Project_Name]
  • aws codepipeline get-pipeline --name [Pipeline_Name]

Glue Jobs:

  • ETL scripts used in AWS Glue can include hard-coded credentials for data sources or sinks.
  • Check the script located at ScriptLocation and arguements passed using DefaultArguments
  • aws glue get-job --job-name [Job_Name]
  • aws glue get-connection --name [Connection_Name]

Step Functions:

  • State machine definitions might include sensitive information in task parameters.
  • aws stepfunctions describe-state-machine --state-machine-arn [State_Machine_Arn]

AppSync:

  • Resolver mapping templates or data source configurations can include hard-coded API keys or database credentials.
  • aws appsync get-graphql-api --api-id [API_Id]

This might not be all the API calls that need to be made to get the secrets, but should be a good starting point

Describe alternatives you've considered

None

Additional context

No response

貢獻者指南