{"id":13626071,"url":"https://github.com/Skyscanner/LambdaGuard","last_synced_at":"2025-04-16T11:31:10.599Z","repository":{"id":37430807,"uuid":"184101777","full_name":"Skyscanner/LambdaGuard","owner":"Skyscanner","description":"AWS Serverless Security","archived":true,"fork":false,"pushed_at":"2022-07-13T13:32:24.000Z","size":314,"stargazers_count":400,"open_issues_count":7,"forks_count":69,"subscribers_count":13,"default_branch":"master","last_synced_at":"2024-12-17T22:03:45.161Z","etag":null,"topics":["aws","aws-lambda","dynamodb","hacking","iam","kms","lambda","serverless-security","sns","sqs"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Skyscanner.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-04-29T16:00:17.000Z","updated_at":"2024-09-21T14:40:41.000Z","dependencies_parsed_at":"2022-07-08T18:43:39.005Z","dependency_job_id":null,"html_url":"https://github.com/Skyscanner/LambdaGuard","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Skyscanner%2FLambdaGuard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Skyscanner%2FLambdaGuard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Skyscanner%2FLambdaGuard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Skyscanner%2FLambdaGuard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Skyscanner","download_url":"https://codeload.github.com/Skyscanner/LambdaGuard/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249235045,"owners_count":21235137,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","aws-lambda","dynamodb","hacking","iam","kms","lambda","serverless-security","sns","sqs"],"created_at":"2024-08-01T21:02:09.165Z","updated_at":"2025-04-16T11:31:10.198Z","avatar_url":"https://github.com/Skyscanner.png","language":"Python","funding_links":[],"categories":["Python","SaaS"],"sub_categories":[],"readme":"# \u003cimg src=\"lambdaguard/assets/logo.png\" width=\"40px\" style=\"vertical-align:middle\" alt=\"LambdaGuard\" style=\"\"\u003e LambdaGuard\n\n[![](https://img.shields.io/pypi/v/LambdaGuard.svg)](https://pypi.python.org/pypi/LambdaGuard/)\n[![](https://github.com/Skyscanner/LambdaGuard/workflows/build/badge.svg)](https://github.com/Skyscanner/LambdaGuard/actions)\n[![](https://img.shields.io/github/issues/Skyscanner/LambdaGuard)](https://github.com/Skyscanner/LambdaGuard/issues)\n[![](https://img.shields.io/github/issues-pr/Skyscanner/LambdaGuard)](https://github.com/Skyscanner/LambdaGuard/pulls)\n[![](https://img.shields.io/pypi/dm/LambdaGuard)](https://img.shields.io/pypi/dm/LambdaGuard)\n\nAWS Lambda is an event-driven, serverless computing platform provided by Amazon Web Services. It is a computing service that runs code in response to events and automatically manages the computing resources required by that code. \n\nLambdaGuard is an AWS Lambda auditing tool designed to create asset visibility and provide actionable results. It provides a meaningful overview in terms of statistical analysis, AWS service dependencies and configuration checks from the security perspective.\n\n## Requirements\n- Python 3.6+\n- Java 11 (optional for SonarQube)\n\n## Install\n\n### From PyPI\n```\npip3 install lambdaguard\n```\n\n### From Github\n```\ngit clone https://github.com/Skyscanner/lambdaguard\ncd lambdaguard\nsudo make install\n```\n\n### AWS Access\nYou will need a set of AWS access keys and permissions to run LambdaGuard.\n```\nmake aws\n```\nCreate a profile in `~/.aws/credentials` with the newly created keys. \n```\n[LambdaGuardProfile]\naws_access_key_id = ...\naws_secret_access_key = ...\n```\nAlternatively, you can use the keys directly as CLI arguments (not recommended).\n\n## Run\n- `lambdaguard --help`\n- `lambdaguard --function arn:aws:lambda:function`\n- `lambdaguard --input function-arns.txt`\n- `lambdaguard --output /tmp/lambdaguard`\n- `lambdaguard --profile LambdaGuardProfile`\n- `lambdaguard --keys ACCESS_KEY_ID SECRET_ACCESS_KEY`\n- `lambdaguard --region eu-west-1`\n- `lambdaguard --verbose`\n\n## SonarQube: Static Code Analysis\n\n### Download sonar-scanner-cli\n- https://github.com/SonarSource/sonar-scanner-cli\n\n### Build SonarQube\n- `make sonarqube`\n\n### Use SonarQube\n- `lambdaguard --sonarqube config.json`\n\nConfig should have the following format:\n\n```json\n{\n    \"command\": \"sonar-scanner -X\",\n    \"url\": \"http://localhost:9000\",\n    \"login\": \"admin\",\n    \"password\": \"admin\"\n}\n```\n\n## Development\n```\nmake -B clean\nmake dev\n. dev/bin/activate\nmake install-dev\nmake test\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSkyscanner%2FLambdaGuard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSkyscanner%2FLambdaGuard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSkyscanner%2FLambdaGuard/lists"}