guardicore / guardicore/monkey

Not able to retrieve metadata from AWS EC2 instance

Open
#4,275 0 comments 0 reactions 0 assignees View on GitHub
Bug
Dominant language
Python
Stars
7.1k
Forks
830
PR merge metrics
No merged PRs in 30d

Description

## Describe the bug
When running an Monkey Island on AWS EC2 instance we are not able to retrieve the metadata. In order to read the AWS Instance metadata we need to send a token along with the request to receive the metadata. The related code is in `aws_metadata.py`

More info: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html

## To Reproduce
Steps to reproduce the behavior:
1. Create AWS EC2 instance
2. Run the Monkey Island on the instance
3. See that the Run on AWS button is not showing
4. Check the logs and see the following log:
```
2024-08-06 09:31:52,356 - DEBUG - connectionpool.py:473 - _make_request() - [http://ip:80](http://ip/) "GET /latest/meta-data/instance-id HTTP/1.1" 401 343
2024-08-06 09:31:52,358 - DEBUG - aws_metadata.py:31 - fetch_aws_instance_metadata() - Failed init of AWSInstance while getting metadata: 401 Client Error: Unauthorized for url: http://ip/latest/meta-data/instance-id
```

## Expected behavior
Add a function to retrieve the token before requesting the aws metadata

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.