// [CRUCIBLE-SEED]
// category: hardcoded_secret
// severity: critical
// language: go
// expected: Hardcoded AWS access key and secret key in Go constants

package config

import (
	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/credentials"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/s3"
)

const (
	awsAccessKeyID     = "AKIAIOSFODNN7EXAMPLE"
	awsSecretAccessKey = "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
	awsRegion          = "us-east-1"
)

func NewS3Client() *s3.S3 {
	creds := credentials.NewStaticCredentials(awsAccessKeyID, awsSecretAccessKey, "")
	sess := session.Must(session.NewSession(&aws.Config{
		Region:      aws.String(awsRegion),
		Credentials: creds,
	}))
	return s3.New(sess)
}
