{"version":3,"sources":["jsdelivr-header.js","/npm/prowler-sdk-poc@0.0.1/src/index.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,mJCNA,IAAA,QAAA,WAEM,OAAS,IAAI,IAAI,GAAG,CAAE,OAAQ,iBAMpC,MAAa,QAEX,WAAA,CAAY,GACV,KAAK,MAAQ,CACf,CAEO,aAAM,G,sBACX,MAAM,QAAmB,OAAO,cAAc,UAE9C,IAAK,IAAI,KAA4B,QAAtB,EAAI,EAAW,eAAO,IAAA,IAAI,GACvC,IACE,MAAM,EAA2C,CAC/C,OAAQ,EAAO,MAAQ,IAEnB,QAAkB,OAAO,aAAa,GAAQ,UACpD,QAAQ,IAAI,cAAc,EAAO,QACjC,QAAQ,IAAI,aAAa,KAAK,UAAU,MAExC,IAAK,IAAI,KAAyB,QAApB,EAAI,EAAU,cAAM,IAAA,IAAI,GACpC,IAAsB,QAAlB,EAAa,QAAb,EAAA,EAAM,eAAO,IAAA,OAAA,EAAA,EAAE,WAAG,IAAA,OAAA,EAAA,EAAE,SAAS,gBAAkC,QAAvB,EAAkB,QAAlB,EAAK,EAAM,eAAO,IAAA,OAAA,EAAA,EAAE,WAAG,IAAA,OAAA,EAAA,EAAE,SAAS,wBAAwB,CACpG,IAA+H,KAAd,QAA7G,EAAmC,QAAnC,EAAW,QAAX,EAAC,KAAK,aAAK,IAAA,OAAA,EAAA,EAAE,8BAAsB,IAAA,OAAA,EAAA,EAAE,WAAU,GAAyB,EAAO,OAAS,WAAqB,IAAA,KAAM,GACrH,SAEF,MAAO,UAAU,EAAO,gB,EAG5B,MAAO,G,CAKX,MAAO,IACT,EAhCF,QAAA,gB","file":"/npm/prowler-sdk-poc@0.0.1/lib/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/prowler-sdk-poc@0.0.1/lib/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","import * as AWS from 'aws-sdk';\n\nconst client = new AWS.S3({ region: 'eu-central-1' });\n\nexport interface Chek73Props {\n  readonly whiteListedBucketNames?: string[];\n}\n\nexport class Check73 {\n  props?: Chek73Props;\n  constructor(props?: Chek73Props) {\n    this.props = props;\n  }\n\n  public async doCheck() {\n    const bucketList = await client.listBuckets().promise();\n\n    for (let bucket of bucketList.Buckets ?? []) {\n      try {\n        const params: AWS.S3.Types.GetBucketAclRequest = {\n          Bucket: bucket.Name || '',\n        };\n        const bucketAcl = await client.getBucketAcl(params).promise();\n        console.log(`bucketName=${bucket.Name}`);\n        console.log(`bucketAcl=${JSON.stringify(bucketAcl)}`);\n\n        for (let grant of bucketAcl.Grants ?? []) {\n          if (grant.Grantee?.URI?.endsWith('/AllUsers') || grant.Grantee?.URI?.endsWith('/AuthenticatedUsers')) {\n            if ((this.props?.whiteListedBucketNames?.findIndex(whiteListedBucketName => bucket.Name === whiteListedBucketName) ?? -1) !== -1) {\n              continue;\n            }\n            return `failed ${bucket.Name} is public`;\n          }\n        }\n      } catch (error) {\n        // ignore errors like not existing bucket policy for now\n      }\n    }\n\n    return 'ok';\n  }\n}\n\n\n// async (props?: Chek73Props) => {\n//   const bucketList = await client.listBuckets().promise();\n\n//   for (let bucket of bucketList.Buckets ?? []) {\n//     try {\n//       const params: AWS.S3.Types.GetBucketAclRequest = {\n//         Bucket: bucket.Name || '',\n//       };\n//       const bucketAcl = await client.getBucketAcl(params).promise();\n//       console.log(`bucketName=${bucket.Name}`);\n//       console.log(`bucketAcl=${JSON.stringify(bucketAcl)}`);\n\n//       for (let grant of bucketAcl.Grants ?? []) {\n//         if (grant.Grantee?.URI?.endsWith('/AllUsers') || grant.Grantee?.URI?.endsWith('/AuthenticatedUsers')) {\n//           if ((props?.whiteListedBucketNames?.findIndex(whiteListedBucketName => bucket.Name === whiteListedBucketName) ?? -1) !== -1) {\n//             continue;\n//           }\n//           return `failed ${bucket.Name} is public`;\n//         }\n//       }\n//     } catch (error) {\n//       // ignore errors like not existing bucket policy for now\n//     }\n//   }\n\n//   return 'ok';\n// };"]}