snyk 1.862.0 → 1.863.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli/985.index.js
CHANGED
|
@@ -367,8 +367,9 @@ const driftctlChecksums = {
|
|
|
367
367
|
};
|
|
368
368
|
const dctlBaseUrl = 'https://github.com/snyk/driftctl/releases/download/';
|
|
369
369
|
const driftctlPath = path.join(cachePath, 'driftctl_' + exports.driftctlVersion);
|
|
370
|
+
const driftctlDefaultOptions = ['--no-version-check'];
|
|
370
371
|
exports.parseGenDriftIgnoreFlags = (options) => {
|
|
371
|
-
const args = ['gen-driftignore'];
|
|
372
|
+
const args = ['gen-driftignore', ...driftctlDefaultOptions];
|
|
372
373
|
if (options.input) {
|
|
373
374
|
args.push('--input');
|
|
374
375
|
args.push(options.input);
|
|
@@ -389,7 +390,7 @@ exports.parseGenDriftIgnoreFlags = (options) => {
|
|
|
389
390
|
return args;
|
|
390
391
|
};
|
|
391
392
|
exports.parseDescribeFlags = (options) => {
|
|
392
|
-
const args = ['scan'];
|
|
393
|
+
const args = ['scan', ...driftctlDefaultOptions];
|
|
393
394
|
if (options.quiet) {
|
|
394
395
|
args.push('--quiet');
|
|
395
396
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"985.index.js","mappings":"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","sources":["webpack://snyk/./node_modules/env-paths/index.js","webpack://snyk/./src/cli/commands/process-command-args.ts","webpack://snyk/./src/cli/commands/test/iac-local-execution/assert-iac-options-flag.ts","webpack://snyk/./src/cli/commands/test/iac-local-execution/error-utils.ts","webpack://snyk/./src/cli/commands/test/iac-local-execution/org-settings/get-iac-org-settings.ts","webpack://snyk/./src/lib/iac/drift.ts","webpack://snyk/./src/lib/iac/service-mappings.ts"],"sourcesContent":["'use strict';\nconst path = require('path');\nconst os = require('os');\n\nconst homedir = os.homedir();\nconst tmpdir = os.tmpdir();\nconst {env} = process;\n\nconst macos = name => {\n\tconst library = path.join(homedir, 'Library');\n\n\treturn {\n\t\tdata: path.join(library, 'Application Support', name),\n\t\tconfig: path.join(library, 'Preferences', name),\n\t\tcache: path.join(library, 'Caches', name),\n\t\tlog: path.join(library, 'Logs', name),\n\t\ttemp: path.join(tmpdir, name)\n\t};\n};\n\nconst windows = name => {\n\tconst appData = env.APPDATA || path.join(homedir, 'AppData', 'Roaming');\n\tconst localAppData = env.LOCALAPPDATA || path.join(homedir, 'AppData', 'Local');\n\n\treturn {\n\t\t// Data/config/cache/log are invented by me as Windows isn't opinionated about this\n\t\tdata: path.join(localAppData, name, 'Data'),\n\t\tconfig: path.join(appData, name, 'Config'),\n\t\tcache: path.join(localAppData, name, 'Cache'),\n\t\tlog: path.join(localAppData, name, 'Log'),\n\t\ttemp: path.join(tmpdir, name)\n\t};\n};\n\n// https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html\nconst linux = name => {\n\tconst username = path.basename(homedir);\n\n\treturn {\n\t\tdata: path.join(env.XDG_DATA_HOME || path.join(homedir, '.local', 'share'), name),\n\t\tconfig: path.join(env.XDG_CONFIG_HOME || path.join(homedir, '.config'), name),\n\t\tcache: path.join(env.XDG_CACHE_HOME || path.join(homedir, '.cache'), name),\n\t\t// https://wiki.debian.org/XDGBaseDirectorySpecification#state\n\t\tlog: path.join(env.XDG_STATE_HOME || path.join(homedir, '.local', 'state'), name),\n\t\ttemp: path.join(tmpdir, username, name)\n\t};\n};\n\nconst envPaths = (name, options) => {\n\tif (typeof name !== 'string') {\n\t\tthrow new TypeError(`Expected string, got ${typeof name}`);\n\t}\n\n\toptions = Object.assign({suffix: 'nodejs'}, options);\n\n\tif (options.suffix) {\n\t\t// Add suffix to prevent possible conflict with native apps\n\t\tname += `-${options.suffix}`;\n\t}\n\n\tif (process.platform === 'darwin') {\n\t\treturn macos(name);\n\t}\n\n\tif (process.platform === 'win32') {\n\t\treturn windows(name);\n\t}\n\n\treturn linux(name);\n};\n\nmodule.exports = envPaths;\n// TODO: Remove this for the next major release\nmodule.exports.default = envPaths;\n","import { Options } from '../../lib/types';\n\nexport function processCommandArgs<CommandOptions>(\n ...args\n): { paths: string[]; options: Options & CommandOptions } {\n let options = ({} as any) as Options & CommandOptions;\n\n if (typeof args[args.length - 1] === 'object') {\n options = (args.pop() as any) as Options & CommandOptions;\n }\n args = args.filter(Boolean);\n\n // For repository scanning, populate with default path (cwd) if no path given\n if (args.length === 0 && !options.docker) {\n args.unshift(process.cwd());\n }\n\n return { options, paths: args };\n}\n","import { CustomError } from '../../../../lib/errors';\nimport { args } from '../../../args';\nimport { getErrorStringCode } from './error-utils';\nimport { IaCErrorCodes, IaCTestFlags, TerraformPlanScanMode } from './types';\n\nconst keys: (keyof IaCTestFlags)[] = [\n 'org',\n 'debug',\n 'insecure',\n 'detectionDepth',\n 'severityThreshold',\n 'rules',\n 'json',\n 'sarif',\n 'json-file-output',\n 'sarif-file-output',\n 'v',\n 'version',\n 'h',\n 'help',\n 'q',\n 'quiet',\n 'scan',\n 'legacy',\n 'report',\n\n // PolicyOptions\n 'ignore-policy',\n 'policy-path',\n];\nconst allowed = new Set<string>(keys);\n\nfunction camelcaseToDash(key: string) {\n return key.replace(/[A-Z]/g, (m) => '-' + m.toLowerCase());\n}\n\nfunction getFlagName(key: string) {\n const dashes = key.length === 1 ? '-' : '--';\n const flag = camelcaseToDash(key);\n return `${dashes}${flag}`;\n}\n\nexport class FlagError extends CustomError {\n constructor(key: string) {\n const flag = getFlagName(key);\n const msg = `Unsupported flag \"${flag}\" provided. Run snyk iac test --help for supported flags`;\n super(msg);\n this.code = IaCErrorCodes.FlagError;\n this.strCode = getErrorStringCode(this.code);\n this.userMessage = msg;\n }\n}\n\nexport class FeatureFlagError extends CustomError {\n constructor(key: string, featureFlag: string, hasSnykPreview?: boolean) {\n const flag = getFlagName(key);\n let msg;\n if (hasSnykPreview) {\n msg = `Flag \"${flag}\" is only supported if feature flag '${featureFlag}' is enabled. The feature flag can be enabled via Snyk Preview if you are on the Enterprise Plan`;\n } else {\n msg = `Flag \"${flag}\" is only supported if feature flag \"${featureFlag}\" is enabled. To enable it, please contact Snyk support.`;\n }\n super(msg);\n this.code = IaCErrorCodes.FeatureFlagError;\n this.strCode = getErrorStringCode(this.code);\n this.userMessage = msg;\n }\n}\n\nexport class FlagValueError extends CustomError {\n constructor(key: string, value: string) {\n const flag = getFlagName(key);\n const msg = `Unsupported value \"${value}\" provided to flag \"${flag}\".\\nSupported values are: ${SUPPORTED_TF_PLAN_SCAN_MODES.join(\n ', ',\n )}`;\n super(msg);\n this.code = IaCErrorCodes.FlagValueError;\n this.strCode = getErrorStringCode(this.code);\n this.userMessage = msg;\n }\n}\n\nexport class UnsupportedEntitlementFlagError extends CustomError {\n constructor(key: string, entitlementName: string) {\n const flag = getFlagName(key);\n super(\n `Unsupported flag: ${flag} - Missing the ${entitlementName} entitlement`,\n );\n this.code = IaCErrorCodes.UnsupportedEntitlementFlagError;\n this.strCode = getErrorStringCode(this.code);\n this.userMessage = `Flag \"${flag}\" is currently not supported for this org. To enable it, please contact snyk support.`;\n }\n}\n\nexport class UnsupportedEntitlementCommandError extends CustomError {\n constructor(key: string, entitlementName: string) {\n super(\n `Unsupported command: ${key} - Missing the ${entitlementName} entitlement`,\n );\n this.code = IaCErrorCodes.UnsupportedEntitlementFlagError;\n this.strCode = getErrorStringCode(this.code);\n this.userMessage = `Command \"${key}\" is currently not supported for this org. To enable it, please contact snyk support.`;\n }\n}\n\n/**\n * Validates the command line flags passed to the snyk iac test\n * command. The current argument parsing is very permissive and\n * allows unknown flags to be provided without valdiation.\n *\n * For snyk iac we need to explictly validate the flags to avoid\n * misconfigurations and typos. For example, if the --experimental\n * flag were to be mis-spelled we would end up sending the client\n * data to our backend rather than running it locally as intended.\n * @param argv command line args passed to the process\n */\nexport function assertIaCOptionsFlags(argv: string[]) {\n // We process the process.argv so we don't get default values.\n const parsed = args(argv);\n for (const key of Object.keys(parsed.options)) {\n // The _ property is a special case that contains non\n // flag strings passed to the command line (usually files)\n // and `iac` is the command provided.\n if (key !== '_' && key !== 'iac' && !allowed.has(key)) {\n throw new FlagError(key);\n }\n }\n\n if (parsed.options.scan) {\n assertTerraformPlanModes(parsed.options.scan as string);\n }\n}\n\nconst SUPPORTED_TF_PLAN_SCAN_MODES = [\n TerraformPlanScanMode.DeltaScan,\n TerraformPlanScanMode.FullScan,\n];\n\nfunction assertTerraformPlanModes(scanModeArgValue: string) {\n if (\n !SUPPORTED_TF_PLAN_SCAN_MODES.includes(\n scanModeArgValue as TerraformPlanScanMode,\n )\n ) {\n throw new FlagValueError('scan', scanModeArgValue);\n }\n}\n\nexport function isIacShareResultsOptions(options) {\n return options.iac && options.report && !options.legacy;\n}\n","import { IaCErrorCodes } from './types';\n\nexport function getErrorStringCode(code: number): string {\n const errorName = IaCErrorCodes[code];\n if (!errorName) {\n return 'INVALID_IAC_ERROR';\n }\n let result = errorName.replace(/([A-Z])/g, '_$1');\n if (result.charAt(0) === '_') {\n result = result.substring(1);\n }\n return result.toUpperCase();\n}\n","import { IaCErrorCodes, IacOrgSettings } from '../types';\nimport { Payload } from '../../../../../lib/snyk-test/types';\nimport config from '../../../../../lib/config';\nimport { isCI } from '../../../../../lib/is-ci';\nimport { api } from '../../../../../lib/api-token';\nimport { makeRequest } from '../../../../../lib/request';\nimport { CustomError } from '../../../../../lib/errors';\nimport { getErrorStringCode } from '../error-utils';\n\nexport function getIacOrgSettings(\n publicOrgId?: string,\n): Promise<IacOrgSettings> {\n const payload: Payload = {\n method: 'get',\n url: config.API + '/iac-org-settings',\n json: true,\n qs: { org: publicOrgId },\n headers: {\n 'x-is-ci': isCI(),\n authorization: `token ${api()}`,\n },\n };\n\n return new Promise((resolve, reject) => {\n makeRequest(payload, (error, res) => {\n if (error) {\n return reject(error);\n }\n if (res.statusCode < 200 || res.statusCode > 299) {\n return reject(new FailedToGetIacOrgSettingsError());\n }\n resolve(res.body);\n });\n });\n}\n\nexport class FailedToGetIacOrgSettingsError extends CustomError {\n constructor(message?: string) {\n super(message || 'Failed to fetch IaC organization settings');\n this.code = IaCErrorCodes.FailedToGetIacOrgSettingsError;\n this.strCode = getErrorStringCode(this.code);\n this.userMessage =\n 'We failed to fetch your organization settings, including custom severity overrides for infrastructure-as-code policies. Please run the command again with the `-d` flag and contact support@snyk.io with the contents of the output.';\n }\n}\n","import * as debugLib from 'debug';\nimport * as child_process from 'child_process';\nimport * as os from 'os';\nimport envPaths from 'env-paths';\nimport * as fs from 'fs';\nimport { spinner } from '../spinner';\nimport { makeRequest } from '../request';\nimport config from '../../lib/config';\nimport * as path from 'path';\nimport * as crypto from 'crypto';\nimport {\n createIgnorePattern,\n verifyServiceMappingExists,\n} from './service-mappings';\nimport { EXIT_CODES } from '../../cli/exit-codes';\n\nconst cachePath = config.CACHE_PATH ?? envPaths('snyk').cache;\nconst debug = debugLib('drift');\n\nexport const driftctlVersion = 'v0.22.0';\n\nexport const DCTL_EXIT_CODES = {\n EXIT_IN_SYNC: 0,\n EXIT_NOT_IN_SYNC: 1,\n EXIT_ERROR: 2,\n};\n\nconst driftctlChecksums = {\n 'driftctl_windows_386.exe':\n 'bc51261061cea3d3c71d8ce9449e6f052b73d6faa98debe8d714362b30bdaa1f',\n driftctl_darwin_amd64:\n '8f268f57c5ba9e78f7c9f228bc7a4690b8d7671a721ef3adfa1e87da71a71c6f',\n driftctl_linux_386:\n 'b4bbeffe76e0b5bd461e5034886dea1256b90e90136b6bdb8f4f89a4fd2ea792',\n driftctl_linux_amd64:\n '6bd0f400aa717dc44e860c59394901a1256177d06e1eba198ce5adc21aa64d60',\n driftctl_linux_arm64:\n '8e3bbff72db5105de3bfb203537ab47dbca5240db28192f12a5b032b33f8a1cc',\n 'driftctl_windows_arm64.exe':\n '781dbc12bd6bdae32637fd1a69579f8744d72de702485f3068c81972cc6d5966',\n driftctl_darwin_arm64:\n '8ae04ef9cfc7ec364638e85a4e00e03484d6057b54dd51b17c3d51ebdd70cec5',\n 'driftctl_windows_arm.exe':\n '039f5cfb5244c832ae1c2b6fcf25a4004a1abbd5b8a366030d9cd3832214136f',\n driftctl_linux_arm:\n 'a71dfdb6a18af1d99e6234ab18a07b436c46f24939d4bab6357af4c18ce00987',\n 'driftctl_windows_amd64.exe':\n '6084cce4a8753a7efa57c71ac56165d80011bfc21a16e07372981e8c004a636b',\n};\n\nconst dctlBaseUrl = 'https://github.com/snyk/driftctl/releases/download/';\nconst driftctlPath = path.join(cachePath, 'driftctl_' + driftctlVersion);\n\nexport interface DriftctlGenDriftIgnoreOptions {\n input?: string;\n output?: string;\n 'exclude-changed'?: boolean;\n 'exclude-missing'?: boolean;\n 'exclude-unmanaged'?: boolean;\n}\n\ninterface DriftCTLOptions {\n quiet?: true;\n filter?: string;\n to?: string;\n headers?: string;\n 'tfc-token'?: string;\n 'tfc-endpoint'?: string;\n 'tf-provider-version'?: string;\n strict?: true;\n deep?: true;\n 'only-managed'?: true;\n 'only-unmanaged'?: true;\n driftignore?: string;\n 'tf-lockfile'?: string;\n 'config-dir'?: string;\n json?: boolean;\n 'json-file-output'?: string;\n html?: boolean;\n 'html-file-output'?: string;\n service?: string;\n from?: string; // snyk cli args parsing does not support variadic args so this will be coma separated values\n}\n\nexport const parseGenDriftIgnoreFlags = (\n options: DriftctlGenDriftIgnoreOptions,\n): string[] => {\n const args: string[] = ['gen-driftignore'];\n\n if (options.input) {\n args.push('--input');\n args.push(options.input);\n }\n\n if (options.output) {\n args.push('--output');\n args.push(options.output);\n }\n\n if (options['exclude-changed']) {\n args.push('--exclude-changed');\n }\n\n if (options['exclude-missing']) {\n args.push('--exclude-missing');\n }\n\n if (options['exclude-unmanaged']) {\n args.push('--exclude-unmanaged');\n }\n\n return args;\n};\n\nexport const parseDescribeFlags = (options: DriftCTLOptions): string[] => {\n const args: string[] = ['scan'];\n\n if (options.quiet) {\n args.push('--quiet');\n }\n\n if (options.filter) {\n args.push('--filter');\n args.push(options.filter);\n }\n\n if (options.json) {\n args.push('--output');\n args.push('json://stdout');\n }\n\n if (options['json-file-output']) {\n args.push('--output');\n args.push('json://' + options['json-file-output']);\n }\n\n if (options.html) {\n args.push('--output');\n args.push('html://stdout');\n }\n\n if (options['html-file-output']) {\n args.push('--output');\n args.push('html://' + options['html-file-output']);\n }\n\n if (options.headers) {\n args.push('--headers');\n args.push(options.headers);\n }\n\n if (options['tfc-token']) {\n args.push('--tfc-token');\n args.push(options['tfc-token']);\n }\n\n if (options['tfc-endpoint']) {\n args.push('--tfc-endpoint');\n args.push(options['tfc-endpoint']);\n }\n\n if (options['tf-provider-version']) {\n args.push('--tf-provider-version');\n args.push(options['tf-provider-version']);\n }\n\n if (options.strict) {\n args.push('--strict');\n }\n\n if (options.deep) {\n args.push('--deep');\n }\n\n if (options['only-managed']) {\n args.push('--only-managed');\n }\n\n if (options['only-unmanaged']) {\n args.push('--only-unmanaged');\n }\n\n if (options.driftignore) {\n args.push('--driftignore');\n args.push(options.driftignore);\n }\n\n if (options['tf-lockfile']) {\n args.push('--tf-lockfile');\n args.push(options['tf-lockfile']);\n }\n\n let configDir = cachePath;\n createIfNotExists(cachePath);\n if (options['config-dir']) {\n configDir = options['config-dir'];\n }\n args.push('--config-dir');\n args.push(configDir);\n\n if (options.from) {\n const froms = options.from.split(',');\n for (const f of froms) {\n args.push('--from');\n args.push(f);\n }\n }\n\n let to = 'aws+tf';\n if (options.to) {\n to = options.to;\n }\n args.push('--to');\n args.push(to);\n\n if (options.service) {\n const services = options.service.split(',');\n verifyServiceMappingExists(services);\n args.push('--ignore');\n args.push(createIgnorePattern(services));\n }\n\n debug(args);\n\n return args;\n};\n\nexport function translateExitCode(exitCode: number) {\n switch (exitCode) {\n case DCTL_EXIT_CODES.EXIT_IN_SYNC:\n return 0;\n case DCTL_EXIT_CODES.EXIT_NOT_IN_SYNC:\n return EXIT_CODES.VULNS_FOUND;\n case DCTL_EXIT_CODES.EXIT_ERROR:\n return EXIT_CODES.ERROR;\n default:\n debug('driftctl returned %d', exitCode);\n return EXIT_CODES.ERROR;\n }\n}\n\nexport async function driftctl(args: string[]): Promise<number> {\n debug('running driftctl %s ', args.join(' '));\n\n const path = await findOrDownload();\n\n const exitCode = await launch(path, args);\n\n return translateExitCode(exitCode);\n}\n\nasync function launch(path: string, args: string[]): Promise<number> {\n return new Promise<number>((resolve, reject) => {\n const child = child_process.spawn(path, args, { stdio: 'inherit' });\n\n child.on('error', (error) => {\n reject(error);\n });\n\n child.on('exit', (code) => {\n if (code == null) {\n //failed to find why this could happen...\n reject(new Error('Process was terminated'));\n } else {\n resolve(code);\n }\n });\n });\n}\n\nasync function findOrDownload(): Promise<string> {\n let dctl = await findDriftCtl();\n if (dctl === '') {\n try {\n createIfNotExists(cachePath);\n dctl = driftctlPath;\n await download(driftctlUrl(), dctl);\n } catch (err) {\n return Promise.reject(err);\n }\n }\n return dctl;\n}\n\nexport async function findDriftCtl(): Promise<string> {\n // lookup in custom path contained in env var DRIFTCTL_PATH\n let dctlPath = config.DRIFTCTL_PATH;\n if (dctlPath != null) {\n const exists = await isExe(dctlPath);\n if (exists) {\n debug('Found driftctl in $DRIFTCTL_PATH: %s', dctlPath);\n return dctlPath;\n }\n }\n\n // lookup in app cache\n dctlPath = driftctlPath;\n const exists = await isExe(dctlPath);\n if (exists) {\n debug('Found driftctl in cache: %s', dctlPath);\n return dctlPath;\n }\n debug('driftctl not found');\n\n return '';\n}\n\nasync function download(url, destination: string): Promise<boolean> {\n debug('downloading driftctl into %s', destination);\n\n const payload = {\n method: 'GET',\n url: url,\n output: destination,\n follow: 3,\n };\n\n await spinner('Downloading...');\n return new Promise<boolean>((resolve, reject) => {\n makeRequest(payload, function(err, res, body) {\n try {\n if (err) {\n reject(\n new Error('Could not download driftctl from ' + url + ': ' + err),\n );\n return;\n }\n if (res.statusCode !== 200) {\n reject(\n new Error(\n 'Could not download driftctl from ' + url + ': ' + res.statusCode,\n ),\n );\n return;\n }\n\n validateChecksum(body);\n\n fs.writeFileSync(destination, body);\n debug('File saved: ' + destination);\n\n fs.chmodSync(destination, 0o744);\n resolve(true);\n } finally {\n spinner.clearAll();\n }\n });\n });\n}\n\nfunction validateChecksum(body: string) {\n // only validate if we downloaded the official driftctl binary\n if (config.DRIFTCTL_URL || config.DRIFTCTL_PATH) {\n return;\n }\n\n const computedHash = crypto\n .createHash('sha256')\n .update(body)\n .digest('hex');\n const givenHash = driftctlChecksums[driftctlFileName()];\n\n if (computedHash != givenHash) {\n throw new Error('Downloaded file has inconsistent checksum...');\n }\n}\n\nfunction driftctlFileName(): string {\n let platform = 'linux';\n switch (os.platform()) {\n case 'darwin':\n platform = 'darwin';\n break;\n case 'win32':\n platform = 'windows';\n break;\n }\n\n let arch = 'amd64';\n switch (os.arch()) {\n case 'ia32':\n case 'x32':\n arch = '386';\n break;\n case 'arm':\n arch = 'arm';\n break;\n case 'arm64':\n arch = 'arm64';\n break;\n }\n\n let ext = '';\n switch (os.platform()) {\n case 'win32':\n ext = '.exe';\n break;\n }\n\n return `driftctl_${platform}_${arch}${ext}`;\n}\n\nfunction driftctlUrl(): string {\n if (config.DRIFTCTL_URL) {\n return config.DRIFTCTL_URL;\n }\n\n return `${dctlBaseUrl}/${driftctlVersion}/${driftctlFileName()}`;\n}\n\nfunction isExe(dctlPath: string): Promise<boolean> {\n return new Promise<boolean>((resolve) => {\n fs.access(dctlPath, fs.constants.X_OK, (err) => {\n if (err) {\n resolve(false);\n return;\n }\n resolve(true);\n });\n });\n}\n\nfunction createIfNotExists(path: string) {\n if (!fs.existsSync(path)) {\n fs.mkdirSync(path, { recursive: true });\n }\n}\n","import { CustomError } from '../errors';\nimport { IaCErrorCodes } from '../../cli/commands/test/iac-local-execution/types';\nimport { getErrorStringCode } from '../../cli/commands/test/iac-local-execution/error-utils';\n\nexport const services2resources = new Map<string, Array<string>>([\n // Amazon\n [\n 'aws_s3',\n [\n 'aws_s3_bucket',\n 'aws_s3_bucket_analytics_configuration',\n 'aws_s3_bucket_inventory',\n 'aws_s3_bucket_metric',\n 'aws_s3_bucket_notification',\n 'aws_s3_bucket_policy',\n ],\n ],\n [\n 'aws_ec2',\n [\n 'aws_instance',\n 'aws_key_pair',\n 'aws_ami',\n 'aws_ebs_snapshot',\n 'aws_ebs_volume',\n 'aws_eip',\n 'aws_eip_association',\n 'aws_volume_attachment',\n 'aws_launch_configuration',\n 'aws_launch_template',\n ],\n ],\n ['aws_lambda', ['aws_lambda_function', 'aws_lambda_event_source_mapping']],\n [\n 'aws_rds',\n [\n 'aws_db_instance',\n 'aws_db_subnet_group',\n 'aws_rds_cluster',\n 'aws_rds_cluster_endpoint',\n 'aws_rds_cluster_instance',\n ],\n ],\n ['aws_route53', ['aws_route53_record', 'aws_route53_zone']],\n [\n 'aws_iam',\n [\n 'aws_iam_access_key',\n 'aws_iam_policy',\n 'aws_iam_policy_attachment',\n 'aws_iam_role',\n 'aws_iam_role_policy',\n 'aws_iam_role_policy_attachment',\n 'aws_iam_user',\n 'aws_iam_user_policy',\n 'aws_iam_user_policy_attachment',\n ],\n ],\n [\n 'aws_vpc',\n [\n 'aws_security_group',\n 'aws_security_group_rule',\n 'aws_subnet',\n 'aws_default_vpc',\n 'aws_vpc',\n 'aws_default_security_group',\n 'aws_route_table',\n 'aws_default_route_table',\n 'aws_route',\n 'aws_route_table_association',\n 'aws_nat_gateway',\n 'aws_internet_gateway',\n ],\n ],\n [\n 'aws_api_gateway',\n [\n 'aws_api_gateway_resource',\n 'aws_api_gateway_rest_api',\n 'aws_api_gateway_account',\n 'aws_api_gateway_api_key',\n 'aws_api_gateway_authorizer',\n 'aws_api_gateway_base_path_mapping',\n 'aws_api_gateway_domain_name',\n 'aws_api_gateway_gateway_response',\n 'aws_api_gateway_integration',\n 'aws_api_gateway_integration_response',\n 'aws_api_gateway_method',\n 'aws_api_gateway_method_response',\n 'aws_api_gateway_method_settings',\n 'aws_api_gateway_model',\n 'aws_api_gateway_request_validator',\n 'aws_api_gateway_rest_api_policy',\n 'aws_api_gateway_stage',\n 'aws_api_gateway_vpc_link',\n ],\n ],\n [\n 'aws_apigatewayv2',\n [\n 'aws_apigatewayv2_api',\n 'aws_apigatewayv2_api_mapping',\n 'aws_apigatewayv2_authorizer',\n 'aws_apigatewayv2_deployment',\n 'aws_apigatewayv2_domain_name',\n 'aws_apigatewayv2_integration',\n 'aws_apigatewayv2_integration_response',\n 'aws_apigatewayv2_model',\n 'aws_apigatewayv2_route',\n 'aws_apigatewayv2_route_response',\n 'aws_apigatewayv2_stage',\n 'aws_apigatewayv2_vpc_link',\n ],\n ],\n ['aws_sqs', ['aws_sqs_queue', 'aws_sqs_queue_policy']],\n [\n 'aws_sns',\n ['aws_sns_topic', 'aws_sns_topic_policy', 'aws_sns_topic_subscription'],\n ],\n ['aws_ecr', ['aws_ecr_repository']],\n ['aws_cloudfront', ['aws_cloudfront_distribution']],\n ['aws_kms', ['aws_kms_key', 'aws_kms_alias']],\n ['aws_dynamodb', ['aws_dynamodb_table']],\n // Azure\n ['azure_base', ['azurerm_resource_group']],\n ['azure_compute', ['azurerm_image', 'azurerm_ssh_public_key']],\n ['azure_storage', ['azurerm_storage_account', 'azurerm_storage_container']],\n [\n 'azure_network',\n [\n 'azurerm_resource_group',\n 'azurerm_subnet',\n 'azurerm_public_ip',\n 'azurerm_firewall',\n 'azurerm_route',\n 'azurerm_route_table',\n 'azurerm_network_security_group',\n ],\n ],\n ['azure_container', ['azurerm_container_registry']],\n [\n 'azure_database',\n ['azurerm_postgresql_server', 'azurerm_postgresql_database'],\n ],\n ['azure_loadbalancer', ['azurerm_lb', 'azurerm_lb_rule']],\n [\n 'azure_private_dns',\n [\n 'azurerm_private_dns_a_record',\n 'azurerm_private_dns_aaaa_record',\n 'azurerm_private_dns_cname_record',\n 'azurerm_private_dns_mx_record',\n 'azurerm_private_dns_ptr_record',\n 'azurerm_private_dns_srv_record',\n 'azurerm_private_dns_txt_record',\n 'azurerm_private_dns_zone',\n ],\n ],\n\n // Google\n [\n 'google_cloud_platform',\n [\n 'google_project_iam_binding',\n 'google_project_iam_member',\n 'google_project_iam_policy',\n ],\n ],\n [\n 'google_cloud_storage',\n [\n 'google_storage_bucket',\n 'google_storage_bucket_iam_binding',\n 'google_storage_bucket_iam_member',\n 'google_storage_bucket_iam_policy',\n ],\n ],\n [\n 'google_compute_engine',\n [\n 'google_compute_address',\n 'google_compute_disk',\n 'google_compute_global_address',\n 'google_compute_firewall',\n 'google_compute_health_check',\n 'google_compute_image',\n 'google_compute_instance',\n 'google_compute_instance_group',\n 'google_compute_network',\n 'google_compute_node_group',\n 'google_compute_router',\n 'google_compute_subnetwork',\n ],\n ],\n ['google_cloud_dns', ['google_dns_managed_zone']],\n [\n 'google_cloud_bigtable',\n ['google_bigtable_instance', 'google_bigtable_table'],\n ],\n [\n 'google_cloud_bigquery',\n ['google_bigquery_table', 'google_bigquery_dataset'],\n ],\n ['google_cloud_functions', ['google_cloudfunctions_function']],\n ['google_cloud_sql', ['google_sql_database_instance']],\n ['google_cloud_run', ['google_cloud_run_service']],\n]);\n\nexport function verifyServiceMappingExists(services: string[]): void {\n if (services.length == 0) {\n throw new InvalidServiceError('');\n }\n for (const s of services) {\n if (!services2resources.has(s)) {\n throw new InvalidServiceError(\n `We were unable to match service \"${s}\". Please provide a valid service name: ${existingServiceNames()}`,\n );\n }\n }\n}\n\nfunction existingServiceNames(): string {\n let res = '';\n for (const s of services2resources.keys()) {\n res += `${s},`;\n }\n return res.substring(0, res.length - 1);\n}\n\nexport function createIgnorePattern(services: string[]): string {\n return createIgnorePatternWithMap(services, services2resources);\n}\n\nexport function createIgnorePatternWithMap(\n services: string[],\n serviceMap: Map<string, Array<string>>,\n): string {\n let res = '*';\n const seenResources = new Set<string>();\n for (const s of services) {\n const resourcePatterns = serviceMap.get(s);\n for (const rp of resourcePatterns || []) {\n // A resource might belong to multiple services, skip it if already processed\n if (seenResources.has(rp)) {\n continue;\n }\n res += `,!${rp}`;\n seenResources.add(rp);\n }\n }\n return res;\n}\n\nexport class InvalidServiceError extends CustomError {\n constructor(msg: string) {\n super(msg);\n this.code = IaCErrorCodes.InvalidServiceError;\n this.strCode = getErrorStringCode(this.code);\n this.userMessage = msg;\n }\n}\n"],"names":[],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"985.index.js","mappings":"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","sources":["webpack://snyk/./node_modules/env-paths/index.js","webpack://snyk/./src/cli/commands/process-command-args.ts","webpack://snyk/./src/cli/commands/test/iac-local-execution/assert-iac-options-flag.ts","webpack://snyk/./src/cli/commands/test/iac-local-execution/error-utils.ts","webpack://snyk/./src/cli/commands/test/iac-local-execution/org-settings/get-iac-org-settings.ts","webpack://snyk/./src/lib/iac/drift.ts","webpack://snyk/./src/lib/iac/service-mappings.ts"],"sourcesContent":["'use strict';\nconst path = require('path');\nconst os = require('os');\n\nconst homedir = os.homedir();\nconst tmpdir = os.tmpdir();\nconst {env} = process;\n\nconst macos = name => {\n\tconst library = path.join(homedir, 'Library');\n\n\treturn {\n\t\tdata: path.join(library, 'Application Support', name),\n\t\tconfig: path.join(library, 'Preferences', name),\n\t\tcache: path.join(library, 'Caches', name),\n\t\tlog: path.join(library, 'Logs', name),\n\t\ttemp: path.join(tmpdir, name)\n\t};\n};\n\nconst windows = name => {\n\tconst appData = env.APPDATA || path.join(homedir, 'AppData', 'Roaming');\n\tconst localAppData = env.LOCALAPPDATA || path.join(homedir, 'AppData', 'Local');\n\n\treturn {\n\t\t// Data/config/cache/log are invented by me as Windows isn't opinionated about this\n\t\tdata: path.join(localAppData, name, 'Data'),\n\t\tconfig: path.join(appData, name, 'Config'),\n\t\tcache: path.join(localAppData, name, 'Cache'),\n\t\tlog: path.join(localAppData, name, 'Log'),\n\t\ttemp: path.join(tmpdir, name)\n\t};\n};\n\n// https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html\nconst linux = name => {\n\tconst username = path.basename(homedir);\n\n\treturn {\n\t\tdata: path.join(env.XDG_DATA_HOME || path.join(homedir, '.local', 'share'), name),\n\t\tconfig: path.join(env.XDG_CONFIG_HOME || path.join(homedir, '.config'), name),\n\t\tcache: path.join(env.XDG_CACHE_HOME || path.join(homedir, '.cache'), name),\n\t\t// https://wiki.debian.org/XDGBaseDirectorySpecification#state\n\t\tlog: path.join(env.XDG_STATE_HOME || path.join(homedir, '.local', 'state'), name),\n\t\ttemp: path.join(tmpdir, username, name)\n\t};\n};\n\nconst envPaths = (name, options) => {\n\tif (typeof name !== 'string') {\n\t\tthrow new TypeError(`Expected string, got ${typeof name}`);\n\t}\n\n\toptions = Object.assign({suffix: 'nodejs'}, options);\n\n\tif (options.suffix) {\n\t\t// Add suffix to prevent possible conflict with native apps\n\t\tname += `-${options.suffix}`;\n\t}\n\n\tif (process.platform === 'darwin') {\n\t\treturn macos(name);\n\t}\n\n\tif (process.platform === 'win32') {\n\t\treturn windows(name);\n\t}\n\n\treturn linux(name);\n};\n\nmodule.exports = envPaths;\n// TODO: Remove this for the next major release\nmodule.exports.default = envPaths;\n","import { Options } from '../../lib/types';\n\nexport function processCommandArgs<CommandOptions>(\n ...args\n): { paths: string[]; options: Options & CommandOptions } {\n let options = ({} as any) as Options & CommandOptions;\n\n if (typeof args[args.length - 1] === 'object') {\n options = (args.pop() as any) as Options & CommandOptions;\n }\n args = args.filter(Boolean);\n\n // For repository scanning, populate with default path (cwd) if no path given\n if (args.length === 0 && !options.docker) {\n args.unshift(process.cwd());\n }\n\n return { options, paths: args };\n}\n","import { CustomError } from '../../../../lib/errors';\nimport { args } from '../../../args';\nimport { getErrorStringCode } from './error-utils';\nimport { IaCErrorCodes, IaCTestFlags, TerraformPlanScanMode } from './types';\n\nconst keys: (keyof IaCTestFlags)[] = [\n 'org',\n 'debug',\n 'insecure',\n 'detectionDepth',\n 'severityThreshold',\n 'rules',\n 'json',\n 'sarif',\n 'json-file-output',\n 'sarif-file-output',\n 'v',\n 'version',\n 'h',\n 'help',\n 'q',\n 'quiet',\n 'scan',\n 'legacy',\n 'report',\n\n // PolicyOptions\n 'ignore-policy',\n 'policy-path',\n];\nconst allowed = new Set<string>(keys);\n\nfunction camelcaseToDash(key: string) {\n return key.replace(/[A-Z]/g, (m) => '-' + m.toLowerCase());\n}\n\nfunction getFlagName(key: string) {\n const dashes = key.length === 1 ? '-' : '--';\n const flag = camelcaseToDash(key);\n return `${dashes}${flag}`;\n}\n\nexport class FlagError extends CustomError {\n constructor(key: string) {\n const flag = getFlagName(key);\n const msg = `Unsupported flag \"${flag}\" provided. Run snyk iac test --help for supported flags`;\n super(msg);\n this.code = IaCErrorCodes.FlagError;\n this.strCode = getErrorStringCode(this.code);\n this.userMessage = msg;\n }\n}\n\nexport class FeatureFlagError extends CustomError {\n constructor(key: string, featureFlag: string, hasSnykPreview?: boolean) {\n const flag = getFlagName(key);\n let msg;\n if (hasSnykPreview) {\n msg = `Flag \"${flag}\" is only supported if feature flag '${featureFlag}' is enabled. The feature flag can be enabled via Snyk Preview if you are on the Enterprise Plan`;\n } else {\n msg = `Flag \"${flag}\" is only supported if feature flag \"${featureFlag}\" is enabled. To enable it, please contact Snyk support.`;\n }\n super(msg);\n this.code = IaCErrorCodes.FeatureFlagError;\n this.strCode = getErrorStringCode(this.code);\n this.userMessage = msg;\n }\n}\n\nexport class FlagValueError extends CustomError {\n constructor(key: string, value: string) {\n const flag = getFlagName(key);\n const msg = `Unsupported value \"${value}\" provided to flag \"${flag}\".\\nSupported values are: ${SUPPORTED_TF_PLAN_SCAN_MODES.join(\n ', ',\n )}`;\n super(msg);\n this.code = IaCErrorCodes.FlagValueError;\n this.strCode = getErrorStringCode(this.code);\n this.userMessage = msg;\n }\n}\n\nexport class UnsupportedEntitlementFlagError extends CustomError {\n constructor(key: string, entitlementName: string) {\n const flag = getFlagName(key);\n super(\n `Unsupported flag: ${flag} - Missing the ${entitlementName} entitlement`,\n );\n this.code = IaCErrorCodes.UnsupportedEntitlementFlagError;\n this.strCode = getErrorStringCode(this.code);\n this.userMessage = `Flag \"${flag}\" is currently not supported for this org. To enable it, please contact snyk support.`;\n }\n}\n\nexport class UnsupportedEntitlementCommandError extends CustomError {\n constructor(key: string, entitlementName: string) {\n super(\n `Unsupported command: ${key} - Missing the ${entitlementName} entitlement`,\n );\n this.code = IaCErrorCodes.UnsupportedEntitlementFlagError;\n this.strCode = getErrorStringCode(this.code);\n this.userMessage = `Command \"${key}\" is currently not supported for this org. To enable it, please contact snyk support.`;\n }\n}\n\n/**\n * Validates the command line flags passed to the snyk iac test\n * command. The current argument parsing is very permissive and\n * allows unknown flags to be provided without valdiation.\n *\n * For snyk iac we need to explictly validate the flags to avoid\n * misconfigurations and typos. For example, if the --experimental\n * flag were to be mis-spelled we would end up sending the client\n * data to our backend rather than running it locally as intended.\n * @param argv command line args passed to the process\n */\nexport function assertIaCOptionsFlags(argv: string[]) {\n // We process the process.argv so we don't get default values.\n const parsed = args(argv);\n for (const key of Object.keys(parsed.options)) {\n // The _ property is a special case that contains non\n // flag strings passed to the command line (usually files)\n // and `iac` is the command provided.\n if (key !== '_' && key !== 'iac' && !allowed.has(key)) {\n throw new FlagError(key);\n }\n }\n\n if (parsed.options.scan) {\n assertTerraformPlanModes(parsed.options.scan as string);\n }\n}\n\nconst SUPPORTED_TF_PLAN_SCAN_MODES = [\n TerraformPlanScanMode.DeltaScan,\n TerraformPlanScanMode.FullScan,\n];\n\nfunction assertTerraformPlanModes(scanModeArgValue: string) {\n if (\n !SUPPORTED_TF_PLAN_SCAN_MODES.includes(\n scanModeArgValue as TerraformPlanScanMode,\n )\n ) {\n throw new FlagValueError('scan', scanModeArgValue);\n }\n}\n\nexport function isIacShareResultsOptions(options) {\n return options.iac && options.report && !options.legacy;\n}\n","import { IaCErrorCodes } from './types';\n\nexport function getErrorStringCode(code: number): string {\n const errorName = IaCErrorCodes[code];\n if (!errorName) {\n return 'INVALID_IAC_ERROR';\n }\n let result = errorName.replace(/([A-Z])/g, '_$1');\n if (result.charAt(0) === '_') {\n result = result.substring(1);\n }\n return result.toUpperCase();\n}\n","import { IaCErrorCodes, IacOrgSettings } from '../types';\nimport { Payload } from '../../../../../lib/snyk-test/types';\nimport config from '../../../../../lib/config';\nimport { isCI } from '../../../../../lib/is-ci';\nimport { api } from '../../../../../lib/api-token';\nimport { makeRequest } from '../../../../../lib/request';\nimport { CustomError } from '../../../../../lib/errors';\nimport { getErrorStringCode } from '../error-utils';\n\nexport function getIacOrgSettings(\n publicOrgId?: string,\n): Promise<IacOrgSettings> {\n const payload: Payload = {\n method: 'get',\n url: config.API + '/iac-org-settings',\n json: true,\n qs: { org: publicOrgId },\n headers: {\n 'x-is-ci': isCI(),\n authorization: `token ${api()}`,\n },\n };\n\n return new Promise((resolve, reject) => {\n makeRequest(payload, (error, res) => {\n if (error) {\n return reject(error);\n }\n if (res.statusCode < 200 || res.statusCode > 299) {\n return reject(new FailedToGetIacOrgSettingsError());\n }\n resolve(res.body);\n });\n });\n}\n\nexport class FailedToGetIacOrgSettingsError extends CustomError {\n constructor(message?: string) {\n super(message || 'Failed to fetch IaC organization settings');\n this.code = IaCErrorCodes.FailedToGetIacOrgSettingsError;\n this.strCode = getErrorStringCode(this.code);\n this.userMessage =\n 'We failed to fetch your organization settings, including custom severity overrides for infrastructure-as-code policies. Please run the command again with the `-d` flag and contact support@snyk.io with the contents of the output.';\n }\n}\n","import * as debugLib from 'debug';\nimport * as child_process from 'child_process';\nimport * as os from 'os';\nimport envPaths from 'env-paths';\nimport * as fs from 'fs';\nimport { spinner } from '../spinner';\nimport { makeRequest } from '../request';\nimport config from '../../lib/config';\nimport * as path from 'path';\nimport * as crypto from 'crypto';\nimport {\n createIgnorePattern,\n verifyServiceMappingExists,\n} from './service-mappings';\nimport { EXIT_CODES } from '../../cli/exit-codes';\n\nconst cachePath = config.CACHE_PATH ?? envPaths('snyk').cache;\nconst debug = debugLib('drift');\n\nexport const driftctlVersion = 'v0.22.0';\n\nexport const DCTL_EXIT_CODES = {\n EXIT_IN_SYNC: 0,\n EXIT_NOT_IN_SYNC: 1,\n EXIT_ERROR: 2,\n};\n\nconst driftctlChecksums = {\n 'driftctl_windows_386.exe':\n 'bc51261061cea3d3c71d8ce9449e6f052b73d6faa98debe8d714362b30bdaa1f',\n driftctl_darwin_amd64:\n '8f268f57c5ba9e78f7c9f228bc7a4690b8d7671a721ef3adfa1e87da71a71c6f',\n driftctl_linux_386:\n 'b4bbeffe76e0b5bd461e5034886dea1256b90e90136b6bdb8f4f89a4fd2ea792',\n driftctl_linux_amd64:\n '6bd0f400aa717dc44e860c59394901a1256177d06e1eba198ce5adc21aa64d60',\n driftctl_linux_arm64:\n '8e3bbff72db5105de3bfb203537ab47dbca5240db28192f12a5b032b33f8a1cc',\n 'driftctl_windows_arm64.exe':\n '781dbc12bd6bdae32637fd1a69579f8744d72de702485f3068c81972cc6d5966',\n driftctl_darwin_arm64:\n '8ae04ef9cfc7ec364638e85a4e00e03484d6057b54dd51b17c3d51ebdd70cec5',\n 'driftctl_windows_arm.exe':\n '039f5cfb5244c832ae1c2b6fcf25a4004a1abbd5b8a366030d9cd3832214136f',\n driftctl_linux_arm:\n 'a71dfdb6a18af1d99e6234ab18a07b436c46f24939d4bab6357af4c18ce00987',\n 'driftctl_windows_amd64.exe':\n '6084cce4a8753a7efa57c71ac56165d80011bfc21a16e07372981e8c004a636b',\n};\n\nconst dctlBaseUrl = 'https://github.com/snyk/driftctl/releases/download/';\nconst driftctlPath = path.join(cachePath, 'driftctl_' + driftctlVersion);\nconst driftctlDefaultOptions = ['--no-version-check'];\n\nexport interface DriftctlGenDriftIgnoreOptions {\n input?: string;\n output?: string;\n 'exclude-changed'?: boolean;\n 'exclude-missing'?: boolean;\n 'exclude-unmanaged'?: boolean;\n}\n\ninterface DriftCTLOptions {\n quiet?: true;\n filter?: string;\n to?: string;\n headers?: string;\n 'tfc-token'?: string;\n 'tfc-endpoint'?: string;\n 'tf-provider-version'?: string;\n strict?: true;\n deep?: true;\n 'only-managed'?: true;\n 'only-unmanaged'?: true;\n driftignore?: string;\n 'tf-lockfile'?: string;\n 'config-dir'?: string;\n json?: boolean;\n 'json-file-output'?: string;\n html?: boolean;\n 'html-file-output'?: string;\n service?: string;\n from?: string; // snyk cli args parsing does not support variadic args so this will be coma separated values\n}\n\nexport const parseGenDriftIgnoreFlags = (\n options: DriftctlGenDriftIgnoreOptions,\n): string[] => {\n const args: string[] = ['gen-driftignore', ...driftctlDefaultOptions];\n\n if (options.input) {\n args.push('--input');\n args.push(options.input);\n }\n\n if (options.output) {\n args.push('--output');\n args.push(options.output);\n }\n\n if (options['exclude-changed']) {\n args.push('--exclude-changed');\n }\n\n if (options['exclude-missing']) {\n args.push('--exclude-missing');\n }\n\n if (options['exclude-unmanaged']) {\n args.push('--exclude-unmanaged');\n }\n\n return args;\n};\n\nexport const parseDescribeFlags = (options: DriftCTLOptions): string[] => {\n const args: string[] = ['scan', ...driftctlDefaultOptions];\n\n if (options.quiet) {\n args.push('--quiet');\n }\n\n if (options.filter) {\n args.push('--filter');\n args.push(options.filter);\n }\n\n if (options.json) {\n args.push('--output');\n args.push('json://stdout');\n }\n\n if (options['json-file-output']) {\n args.push('--output');\n args.push('json://' + options['json-file-output']);\n }\n\n if (options.html) {\n args.push('--output');\n args.push('html://stdout');\n }\n\n if (options['html-file-output']) {\n args.push('--output');\n args.push('html://' + options['html-file-output']);\n }\n\n if (options.headers) {\n args.push('--headers');\n args.push(options.headers);\n }\n\n if (options['tfc-token']) {\n args.push('--tfc-token');\n args.push(options['tfc-token']);\n }\n\n if (options['tfc-endpoint']) {\n args.push('--tfc-endpoint');\n args.push(options['tfc-endpoint']);\n }\n\n if (options['tf-provider-version']) {\n args.push('--tf-provider-version');\n args.push(options['tf-provider-version']);\n }\n\n if (options.strict) {\n args.push('--strict');\n }\n\n if (options.deep) {\n args.push('--deep');\n }\n\n if (options['only-managed']) {\n args.push('--only-managed');\n }\n\n if (options['only-unmanaged']) {\n args.push('--only-unmanaged');\n }\n\n if (options.driftignore) {\n args.push('--driftignore');\n args.push(options.driftignore);\n }\n\n if (options['tf-lockfile']) {\n args.push('--tf-lockfile');\n args.push(options['tf-lockfile']);\n }\n\n let configDir = cachePath;\n createIfNotExists(cachePath);\n if (options['config-dir']) {\n configDir = options['config-dir'];\n }\n args.push('--config-dir');\n args.push(configDir);\n\n if (options.from) {\n const froms = options.from.split(',');\n for (const f of froms) {\n args.push('--from');\n args.push(f);\n }\n }\n\n let to = 'aws+tf';\n if (options.to) {\n to = options.to;\n }\n args.push('--to');\n args.push(to);\n\n if (options.service) {\n const services = options.service.split(',');\n verifyServiceMappingExists(services);\n args.push('--ignore');\n args.push(createIgnorePattern(services));\n }\n\n debug(args);\n\n return args;\n};\n\nexport function translateExitCode(exitCode: number) {\n switch (exitCode) {\n case DCTL_EXIT_CODES.EXIT_IN_SYNC:\n return 0;\n case DCTL_EXIT_CODES.EXIT_NOT_IN_SYNC:\n return EXIT_CODES.VULNS_FOUND;\n case DCTL_EXIT_CODES.EXIT_ERROR:\n return EXIT_CODES.ERROR;\n default:\n debug('driftctl returned %d', exitCode);\n return EXIT_CODES.ERROR;\n }\n}\n\nexport async function driftctl(args: string[]): Promise<number> {\n debug('running driftctl %s ', args.join(' '));\n\n const path = await findOrDownload();\n\n const exitCode = await launch(path, args);\n\n return translateExitCode(exitCode);\n}\n\nasync function launch(path: string, args: string[]): Promise<number> {\n return new Promise<number>((resolve, reject) => {\n const child = child_process.spawn(path, args, { stdio: 'inherit' });\n\n child.on('error', (error) => {\n reject(error);\n });\n\n child.on('exit', (code) => {\n if (code == null) {\n //failed to find why this could happen...\n reject(new Error('Process was terminated'));\n } else {\n resolve(code);\n }\n });\n });\n}\n\nasync function findOrDownload(): Promise<string> {\n let dctl = await findDriftCtl();\n if (dctl === '') {\n try {\n createIfNotExists(cachePath);\n dctl = driftctlPath;\n await download(driftctlUrl(), dctl);\n } catch (err) {\n return Promise.reject(err);\n }\n }\n return dctl;\n}\n\nexport async function findDriftCtl(): Promise<string> {\n // lookup in custom path contained in env var DRIFTCTL_PATH\n let dctlPath = config.DRIFTCTL_PATH;\n if (dctlPath != null) {\n const exists = await isExe(dctlPath);\n if (exists) {\n debug('Found driftctl in $DRIFTCTL_PATH: %s', dctlPath);\n return dctlPath;\n }\n }\n\n // lookup in app cache\n dctlPath = driftctlPath;\n const exists = await isExe(dctlPath);\n if (exists) {\n debug('Found driftctl in cache: %s', dctlPath);\n return dctlPath;\n }\n debug('driftctl not found');\n\n return '';\n}\n\nasync function download(url, destination: string): Promise<boolean> {\n debug('downloading driftctl into %s', destination);\n\n const payload = {\n method: 'GET',\n url: url,\n output: destination,\n follow: 3,\n };\n\n await spinner('Downloading...');\n return new Promise<boolean>((resolve, reject) => {\n makeRequest(payload, function(err, res, body) {\n try {\n if (err) {\n reject(\n new Error('Could not download driftctl from ' + url + ': ' + err),\n );\n return;\n }\n if (res.statusCode !== 200) {\n reject(\n new Error(\n 'Could not download driftctl from ' + url + ': ' + res.statusCode,\n ),\n );\n return;\n }\n\n validateChecksum(body);\n\n fs.writeFileSync(destination, body);\n debug('File saved: ' + destination);\n\n fs.chmodSync(destination, 0o744);\n resolve(true);\n } finally {\n spinner.clearAll();\n }\n });\n });\n}\n\nfunction validateChecksum(body: string) {\n // only validate if we downloaded the official driftctl binary\n if (config.DRIFTCTL_URL || config.DRIFTCTL_PATH) {\n return;\n }\n\n const computedHash = crypto\n .createHash('sha256')\n .update(body)\n .digest('hex');\n const givenHash = driftctlChecksums[driftctlFileName()];\n\n if (computedHash != givenHash) {\n throw new Error('Downloaded file has inconsistent checksum...');\n }\n}\n\nfunction driftctlFileName(): string {\n let platform = 'linux';\n switch (os.platform()) {\n case 'darwin':\n platform = 'darwin';\n break;\n case 'win32':\n platform = 'windows';\n break;\n }\n\n let arch = 'amd64';\n switch (os.arch()) {\n case 'ia32':\n case 'x32':\n arch = '386';\n break;\n case 'arm':\n arch = 'arm';\n break;\n case 'arm64':\n arch = 'arm64';\n break;\n }\n\n let ext = '';\n switch (os.platform()) {\n case 'win32':\n ext = '.exe';\n break;\n }\n\n return `driftctl_${platform}_${arch}${ext}`;\n}\n\nfunction driftctlUrl(): string {\n if (config.DRIFTCTL_URL) {\n return config.DRIFTCTL_URL;\n }\n\n return `${dctlBaseUrl}/${driftctlVersion}/${driftctlFileName()}`;\n}\n\nfunction isExe(dctlPath: string): Promise<boolean> {\n return new Promise<boolean>((resolve) => {\n fs.access(dctlPath, fs.constants.X_OK, (err) => {\n if (err) {\n resolve(false);\n return;\n }\n resolve(true);\n });\n });\n}\n\nfunction createIfNotExists(path: string) {\n if (!fs.existsSync(path)) {\n fs.mkdirSync(path, { recursive: true });\n }\n}\n","import { CustomError } from '../errors';\nimport { IaCErrorCodes } from '../../cli/commands/test/iac-local-execution/types';\nimport { getErrorStringCode } from '../../cli/commands/test/iac-local-execution/error-utils';\n\nexport const services2resources = new Map<string, Array<string>>([\n // Amazon\n [\n 'aws_s3',\n [\n 'aws_s3_bucket',\n 'aws_s3_bucket_analytics_configuration',\n 'aws_s3_bucket_inventory',\n 'aws_s3_bucket_metric',\n 'aws_s3_bucket_notification',\n 'aws_s3_bucket_policy',\n ],\n ],\n [\n 'aws_ec2',\n [\n 'aws_instance',\n 'aws_key_pair',\n 'aws_ami',\n 'aws_ebs_snapshot',\n 'aws_ebs_volume',\n 'aws_eip',\n 'aws_eip_association',\n 'aws_volume_attachment',\n 'aws_launch_configuration',\n 'aws_launch_template',\n ],\n ],\n ['aws_lambda', ['aws_lambda_function', 'aws_lambda_event_source_mapping']],\n [\n 'aws_rds',\n [\n 'aws_db_instance',\n 'aws_db_subnet_group',\n 'aws_rds_cluster',\n 'aws_rds_cluster_endpoint',\n 'aws_rds_cluster_instance',\n ],\n ],\n ['aws_route53', ['aws_route53_record', 'aws_route53_zone']],\n [\n 'aws_iam',\n [\n 'aws_iam_access_key',\n 'aws_iam_policy',\n 'aws_iam_policy_attachment',\n 'aws_iam_role',\n 'aws_iam_role_policy',\n 'aws_iam_role_policy_attachment',\n 'aws_iam_user',\n 'aws_iam_user_policy',\n 'aws_iam_user_policy_attachment',\n ],\n ],\n [\n 'aws_vpc',\n [\n 'aws_security_group',\n 'aws_security_group_rule',\n 'aws_subnet',\n 'aws_default_vpc',\n 'aws_vpc',\n 'aws_default_security_group',\n 'aws_route_table',\n 'aws_default_route_table',\n 'aws_route',\n 'aws_route_table_association',\n 'aws_nat_gateway',\n 'aws_internet_gateway',\n ],\n ],\n [\n 'aws_api_gateway',\n [\n 'aws_api_gateway_resource',\n 'aws_api_gateway_rest_api',\n 'aws_api_gateway_account',\n 'aws_api_gateway_api_key',\n 'aws_api_gateway_authorizer',\n 'aws_api_gateway_base_path_mapping',\n 'aws_api_gateway_domain_name',\n 'aws_api_gateway_gateway_response',\n 'aws_api_gateway_integration',\n 'aws_api_gateway_integration_response',\n 'aws_api_gateway_method',\n 'aws_api_gateway_method_response',\n 'aws_api_gateway_method_settings',\n 'aws_api_gateway_model',\n 'aws_api_gateway_request_validator',\n 'aws_api_gateway_rest_api_policy',\n 'aws_api_gateway_stage',\n 'aws_api_gateway_vpc_link',\n ],\n ],\n [\n 'aws_apigatewayv2',\n [\n 'aws_apigatewayv2_api',\n 'aws_apigatewayv2_api_mapping',\n 'aws_apigatewayv2_authorizer',\n 'aws_apigatewayv2_deployment',\n 'aws_apigatewayv2_domain_name',\n 'aws_apigatewayv2_integration',\n 'aws_apigatewayv2_integration_response',\n 'aws_apigatewayv2_model',\n 'aws_apigatewayv2_route',\n 'aws_apigatewayv2_route_response',\n 'aws_apigatewayv2_stage',\n 'aws_apigatewayv2_vpc_link',\n ],\n ],\n ['aws_sqs', ['aws_sqs_queue', 'aws_sqs_queue_policy']],\n [\n 'aws_sns',\n ['aws_sns_topic', 'aws_sns_topic_policy', 'aws_sns_topic_subscription'],\n ],\n ['aws_ecr', ['aws_ecr_repository']],\n ['aws_cloudfront', ['aws_cloudfront_distribution']],\n ['aws_kms', ['aws_kms_key', 'aws_kms_alias']],\n ['aws_dynamodb', ['aws_dynamodb_table']],\n // Azure\n ['azure_base', ['azurerm_resource_group']],\n ['azure_compute', ['azurerm_image', 'azurerm_ssh_public_key']],\n ['azure_storage', ['azurerm_storage_account', 'azurerm_storage_container']],\n [\n 'azure_network',\n [\n 'azurerm_resource_group',\n 'azurerm_subnet',\n 'azurerm_public_ip',\n 'azurerm_firewall',\n 'azurerm_route',\n 'azurerm_route_table',\n 'azurerm_network_security_group',\n ],\n ],\n ['azure_container', ['azurerm_container_registry']],\n [\n 'azure_database',\n ['azurerm_postgresql_server', 'azurerm_postgresql_database'],\n ],\n ['azure_loadbalancer', ['azurerm_lb', 'azurerm_lb_rule']],\n [\n 'azure_private_dns',\n [\n 'azurerm_private_dns_a_record',\n 'azurerm_private_dns_aaaa_record',\n 'azurerm_private_dns_cname_record',\n 'azurerm_private_dns_mx_record',\n 'azurerm_private_dns_ptr_record',\n 'azurerm_private_dns_srv_record',\n 'azurerm_private_dns_txt_record',\n 'azurerm_private_dns_zone',\n ],\n ],\n\n // Google\n [\n 'google_cloud_platform',\n [\n 'google_project_iam_binding',\n 'google_project_iam_member',\n 'google_project_iam_policy',\n ],\n ],\n [\n 'google_cloud_storage',\n [\n 'google_storage_bucket',\n 'google_storage_bucket_iam_binding',\n 'google_storage_bucket_iam_member',\n 'google_storage_bucket_iam_policy',\n ],\n ],\n [\n 'google_compute_engine',\n [\n 'google_compute_address',\n 'google_compute_disk',\n 'google_compute_global_address',\n 'google_compute_firewall',\n 'google_compute_health_check',\n 'google_compute_image',\n 'google_compute_instance',\n 'google_compute_instance_group',\n 'google_compute_network',\n 'google_compute_node_group',\n 'google_compute_router',\n 'google_compute_subnetwork',\n ],\n ],\n ['google_cloud_dns', ['google_dns_managed_zone']],\n [\n 'google_cloud_bigtable',\n ['google_bigtable_instance', 'google_bigtable_table'],\n ],\n [\n 'google_cloud_bigquery',\n ['google_bigquery_table', 'google_bigquery_dataset'],\n ],\n ['google_cloud_functions', ['google_cloudfunctions_function']],\n ['google_cloud_sql', ['google_sql_database_instance']],\n ['google_cloud_run', ['google_cloud_run_service']],\n]);\n\nexport function verifyServiceMappingExists(services: string[]): void {\n if (services.length == 0) {\n throw new InvalidServiceError('');\n }\n for (const s of services) {\n if (!services2resources.has(s)) {\n throw new InvalidServiceError(\n `We were unable to match service \"${s}\". Please provide a valid service name: ${existingServiceNames()}`,\n );\n }\n }\n}\n\nfunction existingServiceNames(): string {\n let res = '';\n for (const s of services2resources.keys()) {\n res += `${s},`;\n }\n return res.substring(0, res.length - 1);\n}\n\nexport function createIgnorePattern(services: string[]): string {\n return createIgnorePatternWithMap(services, services2resources);\n}\n\nexport function createIgnorePatternWithMap(\n services: string[],\n serviceMap: Map<string, Array<string>>,\n): string {\n let res = '*';\n const seenResources = new Set<string>();\n for (const s of services) {\n const resourcePatterns = serviceMap.get(s);\n for (const rp of resourcePatterns || []) {\n // A resource might belong to multiple services, skip it if already processed\n if (seenResources.has(rp)) {\n continue;\n }\n res += `,!${rp}`;\n seenResources.add(rp);\n }\n }\n return res;\n}\n\nexport class InvalidServiceError extends CustomError {\n constructor(msg: string) {\n super(msg);\n this.code = IaCErrorCodes.InvalidServiceError;\n this.strCode = getErrorStringCode(this.code);\n this.userMessage = msg;\n }\n}\n"],"names":[],"sourceRoot":""}
|
|
@@ -2656,10 +2656,10 @@
|
|
|
2656
2656
|
},
|
|
2657
2657
|
{
|
|
2658
2658
|
"name": "snyk-mvn-plugin",
|
|
2659
|
-
"version": "2.26.
|
|
2659
|
+
"version": "2.26.4",
|
|
2660
2660
|
"author": "snyk.io",
|
|
2661
2661
|
"repository": "https://github.com/snyk/snyk-mvn-plugin",
|
|
2662
|
-
"source": "https://registry.npmjs.org/snyk-mvn-plugin/-/snyk-mvn-plugin-2.26.
|
|
2662
|
+
"source": "https://registry.npmjs.org/snyk-mvn-plugin/-/snyk-mvn-plugin-2.26.4.tgz",
|
|
2663
2663
|
"license": "Apache-2.0",
|
|
2664
2664
|
"licenseText": "Copyright 2017 Snyk Ltd.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n"
|
|
2665
2665
|
},
|