@critiq/rules 0.2.0 → 0.3.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/README.md +3 -2
- package/catalog.yaml +798 -0
- package/package.json +1 -1
- package/rules/cfn/cfn.correctness.attributedefinitions-keyschemas-mismatch.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.base64-validation-of-parameters.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.basic-cloudformation-resource-check.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.basic-cloudformation-template-configuration.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.cannot-reference-resources-in-the-conditions-block-of-the-template.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-at-least-one-essential-container-is-specified.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-deletionpolicy-values-for-resources.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-dependson-values-for-resources.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-ec2-ebs-properties.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-elastic-cache-redis-cluster-settings.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-events-rule-targets-are-less-than-or-equal-to-5.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-fargate-service-scheduling-strategy.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-fn-and-structure-for-validity.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-fn-equals-structure-for-validity.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-fn-if-structure-for-validity.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-fn-not-structure-for-validity.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-fn-or-structure-for-validity.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-for-subscriptionfilters-have-beyond-2-attachments-to-a-cloudwatch-log-group.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-if-a-json-object-is-within-size-limits.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-if-a-list-has-between-min-and-max-number-of-values-specified.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-if-a-list-has-duplicate-values.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-if-a-number-is-between-min-and-max.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-if-a-string-has-between-min-and-max-number-of-values-specified.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-if-eol-lambda-function-runtimes-are-used.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-if-properties-have-a-valid-value.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-if-property-values-adhere-to-a-specific-pattern.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-if-refing-to-a-iam-resource-with-path-set.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-if-refs-exist.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-if-serverless-resources-have-serverless-transform.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-if-the-referenced-conditions-are-defined.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-minimum-90-period-is-met-between-backupplan-cold-and-delete.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-properties-that-are-mutually-exclusive.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-properties-that-are-required-together.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-properties-that-need-at-least-one-of-a-list-of-properties.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-properties-that-need-only-one-of-a-list-of-properties.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-resource-properties-values.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-state-machine-definition-for-proper-syntax.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-that-modules-resources-are-valid.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-the-configuration-of-a-resources-updatepolicy.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-updatereplacepolicy-values-for-resources.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-values-of-properties-for-valid-refs-and-getatts.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.cidr-validation-of-parameters.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.cloudfront-aliases.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.codepipeline-stage-actions.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.codepipeline-stages.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.conditions-have-appropriate-properties.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.default-value-cannot-use-refs.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.default-value-is-within-parameter-constraints.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.error-processing-rule-on-the-template.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.findinmap-validation-of-configuration.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.getatt-validation-of-parameters.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.getaz-validation-of-parameters.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.importvalue-validation-of-parameters.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.join-validation-of-parameters.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.length-validation-of-parameters.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.mapping-attribute-limit-not-exceeded.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.mapping-keys-are-strings-and-alphanumeric.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.mapping-limit-not-exceeded.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.mapping-name-limit-not-exceeded.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.mappings-are-appropriately-configured.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.mappings-have-appropriate-names.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.metadata-interface-have-appropriate-properties.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.output-description-limit-not-exceeded.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.output-limit-not-exceeded.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.output-name-limit-not-exceeded.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.outputs-descriptions-can-only-be-strings.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.outputs-have-appropriate-names.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.outputs-have-appropriate-properties.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.outputs-have-required-properties.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.outputs-have-values-of-strings.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.parameter-limit-not-exceeded.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.parameter-name-limit-not-exceeded.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.parameter-value-limit-not-exceeded.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.parameters-have-appropriate-names.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.parameters-have-appropriate-properties.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.parameters-have-appropriate-type.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.property-is-required-based-on-another-properties-value.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.property-is-unwanted-based-on-another-properties-value.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.rds-instance-type-is-compatible-with-the-rds-type.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.recordset-hostedzonename-is-a-superdomain-of-name.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.ref-validation-of-value.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.required-resource-properties-are-missing.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.resource-dependencies-are-not-circular.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.resource-ec2-security-group-ingress-properties.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.resource-elb-properties.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.resource-limit-not-exceeded.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.resource-name-limit-not-exceeded.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.resource-properties-are-invalid.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.resource-schema.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.resource-subnetroutetableassociation-properties.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.resources-have-appropriate-names.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.select-validation-of-parameters.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.snapstart-supports-the-configured-runtime.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.split-validation-of-parameters.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.sub-is-required-if-a-variable-is-used-in-a-string.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.sub-validation-of-parameters.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.template-description-can-only-be-a-string.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.template-description-limit.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.template-size-limit.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.tojsonstring-validation-of-parameters.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.unique-resource-and-parameter-names.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.validate-accesscontrol-are-set-with-ownershipcontrols.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.validate-aws-event-scheduleexpression-format.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.validate-parameters-for-in-a-nested-stack.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.validate-route53-recordsets.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.validate-the-configuration-of-the-metadata-section.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.validates-foreach-functions.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.validation-not-function-configuration.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.validationdomain-is-superdomain-of-domainname.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.arns-should-use-correctly-placed-pseudo-parameters.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.availability-zone-parameters-should-not-be-hardcoded.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.check-iam-resource-policies-syntax.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.check-if-a-list-that-allows-duplicates-has-any-duplicates.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.check-if-conditions-are-used.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.check-if-eol-lambda-function-runtimes-are-used-w2531.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.check-if-imageid-parameters-have-the-correct-type.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.check-if-mappings-are-used.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.check-if-parameters-are-used.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.check-if-parameters-have-a-valid-value-based-on-an-allowed-pattern.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.check-if-parameters-have-a-valid-value.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.check-obsolete-dependson-configuration-for-resources.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.check-outputs-using-importvalue.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.check-required-properties-for-lambda-if-the-deployment-package-is-a-zip-file.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.check-resources-with-auto-expiring-content-have-explicit-retention-period.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.check-resources-with-updatereplacepolicy-deletionpolicy-have-both.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.check-stateful-resources-have-a-set-updatereplacepolicy-deletionpolicy.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.checks-for-legacy-instance-type-generations.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.findinmap-keys-exist-in-the-map.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.fn-equals-will-always-return-true-or-false.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.mapping-attribute-limit.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.mapping-limit.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.mapping-name-limit.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.metadata-interface-parameters-exist.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.output-description-limit.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.output-limit.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.output-name-limit.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.parameter-limit.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.parameter-memory-size-attributes-should-have-max-and-min.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.parameter-name-limit.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.parameter-value-limit.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.ref-getatt-to-resource-that-is-available-when-conditions-are-applied.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.resource-limit.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.resource-name-limit.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.sub-isn-t-needed-if-it-doesn-t-have-a-variable-defined.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.sub-validation-of-parameters-w1019.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.template-description-limit-i1003.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.template-size-limit-i1002.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.use-sub-instead-of-join.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.validate-that-snapstart-is-configured-for-java11-runtimes.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.validate-that-snapstart-is-properly-configured.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.warn-when-properties-are-configured-to-only-work-with-the-package-command.rule.yaml +49 -0
- package/rules/cfn/cfn.security.check-dynamic-references-secure-strings-are-in-supported-locations.rule.yaml +53 -0
- package/rules/cfn/cfn.security.check-for-noecho-references.rule.yaml +53 -0
- package/rules/cfn/cfn.security.check-iam-permission-configuration.rule.yaml +53 -0
- package/rules/cfn/cfn.security.check-if-iam-policies-are-properly-configured.rule.yaml +53 -0
- package/rules/cfn/cfn.security.check-if-password-properties-are-correctly-configured.rule.yaml +53 -0
- package/rules/cfn/cfn.security.controlling-access-to-an-s3-bucket-should-be-done-with-bucket-policies.rule.yaml +53 -0
- package/rules/php/php.correctness.abstract-method-outside-abstract-class.rule.yaml +36 -0
- package/rules/php/php.correctness.break-continue-outside-loop.rule.yaml +36 -0
- package/rules/php/php.correctness.case-insensitive-define.rule.yaml +36 -0
- package/rules/php/php.correctness.default-parameter-not-last.rule.yaml +36 -0
- package/rules/php/php.correctness.deprecated-filter-constant.rule.yaml +36 -0
- package/rules/php/php.correctness.deprecated-libxml-entity-loader.rule.yaml +36 -0
- package/rules/php/php.correctness.deprecated-unset-cast.rule.yaml +36 -0
- package/rules/php/php.correctness.duplicate-declaration.rule.yaml +36 -0
- package/rules/php/php.correctness.empty-array-literal-slot.rule.yaml +36 -0
- package/rules/php/php.correctness.empty-bracket-array-access.rule.yaml +36 -0
- package/rules/php/php.correctness.empty-code-block.rule.yaml +36 -0
- package/rules/php/php.correctness.empty-function-body.rule.yaml +36 -0
- package/rules/php/php.correctness.function-comparison.rule.yaml +36 -0
- package/rules/php/php.correctness.invalid-cookie-options.rule.yaml +36 -0
- package/rules/php/php.correctness.invalid-regex-literal.rule.yaml +36 -0
- package/rules/php/php.correctness.missing-member-visibility.rule.yaml +36 -0
- package/rules/php/php.correctness.nested-function-declaration.rule.yaml +36 -0
- package/rules/php/php.correctness.nested-switch.rule.yaml +36 -0
- package/rules/php/php.correctness.redundant-string-cast-concat.rule.yaml +36 -0
- package/rules/php/php.correctness.self-assignment.rule.yaml +36 -0
- package/rules/php/php.correctness.todo-fixme-marker.rule.yaml +36 -0
- package/rules/php/php.correctness.unknown-magic-method.rule.yaml +36 -0
- package/rules/php/php.correctness.useless-post-increment.rule.yaml +36 -0
- package/rules/php/php.correctness.useless-unset.rule.yaml +36 -0
- package/rules/php/php.performance.expensive-loop-condition.rule.yaml +36 -0
- package/rules/php/php.security.unsafe-new-static.rule.yaml +42 -0
- package/rules/ruby/ruby.bug-risk.assignment-in-condition.rule.yaml +42 -0
- package/rules/ruby/ruby.bug-risk.deprecated-uri-escape.rule.yaml +42 -0
- package/rules/ruby/ruby.bug-risk.division-by-zero.rule.yaml +42 -0
- package/rules/ruby/ruby.bug-risk.duplicate-hash-keys.rule.yaml +42 -0
- package/rules/ruby/ruby.bug-risk.exception-class-overwritten.rule.yaml +42 -0
- package/rules/ruby/ruby.bug-risk.raw-sql-without-squish.rule.yaml +42 -0
- package/rules/ruby/ruby.security.debugger-call.rule.yaml +53 -0
- package/rules/ruby/ruby.security.dynamic-code-execution.rule.yaml +54 -0
- package/rules/ruby/ruby.security.insecure-json-load.rule.yaml +53 -0
- package/rules/ruby/ruby.security.kernel-open.rule.yaml +53 -0
- package/rules/ruby/ruby.security.plaintext-password-in-callback.rule.yaml +46 -0
- package/rules/ruby/ruby.security.rails-link-to-blank-without-noopener.rule.yaml +48 -0
- package/rules/ruby/ruby.security.rails-output-unsafe.rule.yaml +47 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.check-fn-if-structure-for-validity
|
|
5
|
+
title: "Check fn::if structure for validity"
|
|
6
|
+
summary: "Check fn::if structure for validity"
|
|
7
|
+
rationale: "cfn-lint reports E1028 when Check fn::if structure for validity."
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E1028
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e1028
|
|
15
|
+
- rules-catalog
|
|
16
|
+
stability: stable
|
|
17
|
+
appliesTo: file
|
|
18
|
+
detection:
|
|
19
|
+
kind: pattern
|
|
20
|
+
scope:
|
|
21
|
+
languages:
|
|
22
|
+
- all
|
|
23
|
+
paths:
|
|
24
|
+
include:
|
|
25
|
+
- "**/*.yaml"
|
|
26
|
+
- "**/*.yml"
|
|
27
|
+
- "**/*.json"
|
|
28
|
+
exclude:
|
|
29
|
+
- "**/node_modules/**"
|
|
30
|
+
match:
|
|
31
|
+
fact:
|
|
32
|
+
kind: cfn.lint.finding
|
|
33
|
+
bind: finding
|
|
34
|
+
where:
|
|
35
|
+
- path: ruleId
|
|
36
|
+
equals: E1028
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: correctness.configuration
|
|
40
|
+
severity: high
|
|
41
|
+
confidence: 0.9
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: "Check fn::if structure for validity"
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E1028."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E1028 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.check-fn-not-structure-for-validity
|
|
5
|
+
title: "Check fn::not structure for validity"
|
|
6
|
+
summary: "Check fn::not structure for validity"
|
|
7
|
+
rationale: "cfn-lint reports E8005 when Check fn::not structure for validity."
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E8005
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e8005
|
|
15
|
+
- rules-catalog
|
|
16
|
+
stability: stable
|
|
17
|
+
appliesTo: file
|
|
18
|
+
detection:
|
|
19
|
+
kind: pattern
|
|
20
|
+
scope:
|
|
21
|
+
languages:
|
|
22
|
+
- all
|
|
23
|
+
paths:
|
|
24
|
+
include:
|
|
25
|
+
- "**/*.yaml"
|
|
26
|
+
- "**/*.yml"
|
|
27
|
+
- "**/*.json"
|
|
28
|
+
exclude:
|
|
29
|
+
- "**/node_modules/**"
|
|
30
|
+
match:
|
|
31
|
+
fact:
|
|
32
|
+
kind: cfn.lint.finding
|
|
33
|
+
bind: finding
|
|
34
|
+
where:
|
|
35
|
+
- path: ruleId
|
|
36
|
+
equals: E8005
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: correctness.configuration
|
|
40
|
+
severity: high
|
|
41
|
+
confidence: 0.9
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: "Check fn::not structure for validity"
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E8005."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E8005 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.check-fn-or-structure-for-validity
|
|
5
|
+
title: "Check fn::or structure for validity"
|
|
6
|
+
summary: "Check fn::or structure for validity"
|
|
7
|
+
rationale: "cfn-lint reports E8006 when Check fn::or structure for validity."
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E8006
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e8006
|
|
15
|
+
- rules-catalog
|
|
16
|
+
stability: stable
|
|
17
|
+
appliesTo: file
|
|
18
|
+
detection:
|
|
19
|
+
kind: pattern
|
|
20
|
+
scope:
|
|
21
|
+
languages:
|
|
22
|
+
- all
|
|
23
|
+
paths:
|
|
24
|
+
include:
|
|
25
|
+
- "**/*.yaml"
|
|
26
|
+
- "**/*.yml"
|
|
27
|
+
- "**/*.json"
|
|
28
|
+
exclude:
|
|
29
|
+
- "**/node_modules/**"
|
|
30
|
+
match:
|
|
31
|
+
fact:
|
|
32
|
+
kind: cfn.lint.finding
|
|
33
|
+
bind: finding
|
|
34
|
+
where:
|
|
35
|
+
- path: ruleId
|
|
36
|
+
equals: E8006
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: correctness.configuration
|
|
40
|
+
severity: high
|
|
41
|
+
confidence: 0.9
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: "Check fn::or structure for validity"
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E8006."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E8006 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.check-for-subscriptionfilters-have-beyond-2-attachments-to-a-cloudwatch-log-group
|
|
5
|
+
title: Check for subscriptionfilters have beyond 2 attachments to a cloudwatch log group
|
|
6
|
+
summary: Check for subscriptionfilters have beyond 2 attachments to a cloudwatch log group
|
|
7
|
+
rationale: cfn-lint reports E2529 when Check for subscriptionfilters have beyond 2 attachments to a cloudwatch log group.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E2529
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e2529
|
|
15
|
+
- rules-catalog
|
|
16
|
+
stability: stable
|
|
17
|
+
appliesTo: file
|
|
18
|
+
detection:
|
|
19
|
+
kind: pattern
|
|
20
|
+
scope:
|
|
21
|
+
languages:
|
|
22
|
+
- all
|
|
23
|
+
paths:
|
|
24
|
+
include:
|
|
25
|
+
- "**/*.yaml"
|
|
26
|
+
- "**/*.yml"
|
|
27
|
+
- "**/*.json"
|
|
28
|
+
exclude:
|
|
29
|
+
- "**/node_modules/**"
|
|
30
|
+
match:
|
|
31
|
+
fact:
|
|
32
|
+
kind: cfn.lint.finding
|
|
33
|
+
bind: finding
|
|
34
|
+
where:
|
|
35
|
+
- path: ruleId
|
|
36
|
+
equals: E2529
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: correctness.configuration
|
|
40
|
+
severity: high
|
|
41
|
+
confidence: 0.9
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Check for subscriptionfilters have beyond 2 attachments to a cloudwatch log group
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E2529."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E2529 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.check-if-a-json-object-is-within-size-limits
|
|
5
|
+
title: Check if a json object is within size limits
|
|
6
|
+
summary: Check if a json object is within size limits
|
|
7
|
+
rationale: cfn-lint reports E3502 when Check if a json object is within size limits.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E3502
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e3502
|
|
15
|
+
- rules-catalog
|
|
16
|
+
stability: stable
|
|
17
|
+
appliesTo: file
|
|
18
|
+
detection:
|
|
19
|
+
kind: pattern
|
|
20
|
+
scope:
|
|
21
|
+
languages:
|
|
22
|
+
- all
|
|
23
|
+
paths:
|
|
24
|
+
include:
|
|
25
|
+
- "**/*.yaml"
|
|
26
|
+
- "**/*.yml"
|
|
27
|
+
- "**/*.json"
|
|
28
|
+
exclude:
|
|
29
|
+
- "**/node_modules/**"
|
|
30
|
+
match:
|
|
31
|
+
fact:
|
|
32
|
+
kind: cfn.lint.finding
|
|
33
|
+
bind: finding
|
|
34
|
+
where:
|
|
35
|
+
- path: ruleId
|
|
36
|
+
equals: E3502
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: correctness.configuration
|
|
40
|
+
severity: high
|
|
41
|
+
confidence: 0.9
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Check if a json object is within size limits
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E3502."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E3502 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.check-if-a-list-has-between-min-and-max-number-of-values-specified
|
|
5
|
+
title: Check if a list has between min and max number of values specified
|
|
6
|
+
summary: Check if a list has between min and max number of values specified
|
|
7
|
+
rationale: cfn-lint reports E3032 when Check if a list has between min and max number of values specified.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E3032
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e3032
|
|
15
|
+
- rules-catalog
|
|
16
|
+
stability: stable
|
|
17
|
+
appliesTo: file
|
|
18
|
+
detection:
|
|
19
|
+
kind: pattern
|
|
20
|
+
scope:
|
|
21
|
+
languages:
|
|
22
|
+
- all
|
|
23
|
+
paths:
|
|
24
|
+
include:
|
|
25
|
+
- "**/*.yaml"
|
|
26
|
+
- "**/*.yml"
|
|
27
|
+
- "**/*.json"
|
|
28
|
+
exclude:
|
|
29
|
+
- "**/node_modules/**"
|
|
30
|
+
match:
|
|
31
|
+
fact:
|
|
32
|
+
kind: cfn.lint.finding
|
|
33
|
+
bind: finding
|
|
34
|
+
where:
|
|
35
|
+
- path: ruleId
|
|
36
|
+
equals: E3032
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: correctness.configuration
|
|
40
|
+
severity: high
|
|
41
|
+
confidence: 0.9
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Check if a list has between min and max number of values specified
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E3032."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E3032 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.check-if-a-list-has-duplicate-values
|
|
5
|
+
title: Check if a list has duplicate values
|
|
6
|
+
summary: Check if a list has duplicate values
|
|
7
|
+
rationale: cfn-lint reports E3037 when Check if a list has duplicate values.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E3037
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e3037
|
|
15
|
+
- rules-catalog
|
|
16
|
+
stability: stable
|
|
17
|
+
appliesTo: file
|
|
18
|
+
detection:
|
|
19
|
+
kind: pattern
|
|
20
|
+
scope:
|
|
21
|
+
languages:
|
|
22
|
+
- all
|
|
23
|
+
paths:
|
|
24
|
+
include:
|
|
25
|
+
- "**/*.yaml"
|
|
26
|
+
- "**/*.yml"
|
|
27
|
+
- "**/*.json"
|
|
28
|
+
exclude:
|
|
29
|
+
- "**/node_modules/**"
|
|
30
|
+
match:
|
|
31
|
+
fact:
|
|
32
|
+
kind: cfn.lint.finding
|
|
33
|
+
bind: finding
|
|
34
|
+
where:
|
|
35
|
+
- path: ruleId
|
|
36
|
+
equals: E3037
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: correctness.configuration
|
|
40
|
+
severity: high
|
|
41
|
+
confidence: 0.9
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Check if a list has duplicate values
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E3037."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E3037 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.check-if-a-number-is-between-min-and-max
|
|
5
|
+
title: Check if a number is between min and max
|
|
6
|
+
summary: Check if a number is between min and max
|
|
7
|
+
rationale: cfn-lint reports E3034 when Check if a number is between min and max.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E3034
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e3034
|
|
15
|
+
- rules-catalog
|
|
16
|
+
stability: stable
|
|
17
|
+
appliesTo: file
|
|
18
|
+
detection:
|
|
19
|
+
kind: pattern
|
|
20
|
+
scope:
|
|
21
|
+
languages:
|
|
22
|
+
- all
|
|
23
|
+
paths:
|
|
24
|
+
include:
|
|
25
|
+
- "**/*.yaml"
|
|
26
|
+
- "**/*.yml"
|
|
27
|
+
- "**/*.json"
|
|
28
|
+
exclude:
|
|
29
|
+
- "**/node_modules/**"
|
|
30
|
+
match:
|
|
31
|
+
fact:
|
|
32
|
+
kind: cfn.lint.finding
|
|
33
|
+
bind: finding
|
|
34
|
+
where:
|
|
35
|
+
- path: ruleId
|
|
36
|
+
equals: E3034
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: correctness.configuration
|
|
40
|
+
severity: high
|
|
41
|
+
confidence: 0.9
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Check if a number is between min and max
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E3034."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E3034 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.check-if-a-string-has-between-min-and-max-number-of-values-specified
|
|
5
|
+
title: Check if a string has between min and max number of values specified
|
|
6
|
+
summary: Check if a string has between min and max number of values specified
|
|
7
|
+
rationale: cfn-lint reports E3033 when Check if a string has between min and max number of values specified.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E3033
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e3033
|
|
15
|
+
- rules-catalog
|
|
16
|
+
stability: stable
|
|
17
|
+
appliesTo: file
|
|
18
|
+
detection:
|
|
19
|
+
kind: pattern
|
|
20
|
+
scope:
|
|
21
|
+
languages:
|
|
22
|
+
- all
|
|
23
|
+
paths:
|
|
24
|
+
include:
|
|
25
|
+
- "**/*.yaml"
|
|
26
|
+
- "**/*.yml"
|
|
27
|
+
- "**/*.json"
|
|
28
|
+
exclude:
|
|
29
|
+
- "**/node_modules/**"
|
|
30
|
+
match:
|
|
31
|
+
fact:
|
|
32
|
+
kind: cfn.lint.finding
|
|
33
|
+
bind: finding
|
|
34
|
+
where:
|
|
35
|
+
- path: ruleId
|
|
36
|
+
equals: E3033
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: correctness.configuration
|
|
40
|
+
severity: high
|
|
41
|
+
confidence: 0.9
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Check if a string has between min and max number of values specified
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E3033."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E3033 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.check-if-eol-lambda-function-runtimes-are-used
|
|
5
|
+
title: Check if eol lambda function runtimes are used
|
|
6
|
+
summary: Check if eol lambda function runtimes are used
|
|
7
|
+
rationale: cfn-lint reports E2531 when Check if eol lambda function runtimes are used.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E2531
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e2531
|
|
15
|
+
- rules-catalog
|
|
16
|
+
stability: stable
|
|
17
|
+
appliesTo: file
|
|
18
|
+
detection:
|
|
19
|
+
kind: pattern
|
|
20
|
+
scope:
|
|
21
|
+
languages:
|
|
22
|
+
- all
|
|
23
|
+
paths:
|
|
24
|
+
include:
|
|
25
|
+
- "**/*.yaml"
|
|
26
|
+
- "**/*.yml"
|
|
27
|
+
- "**/*.json"
|
|
28
|
+
exclude:
|
|
29
|
+
- "**/node_modules/**"
|
|
30
|
+
match:
|
|
31
|
+
fact:
|
|
32
|
+
kind: cfn.lint.finding
|
|
33
|
+
bind: finding
|
|
34
|
+
where:
|
|
35
|
+
- path: ruleId
|
|
36
|
+
equals: E2531
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: correctness.configuration
|
|
40
|
+
severity: high
|
|
41
|
+
confidence: 0.9
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Check if eol lambda function runtimes are used
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E2531."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E2531 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.check-if-properties-have-a-valid-value
|
|
5
|
+
title: Check if properties have a valid value
|
|
6
|
+
summary: Check if properties have a valid value
|
|
7
|
+
rationale: cfn-lint reports E3030 when Check if properties have a valid value.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E3030
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e3030
|
|
15
|
+
- rules-catalog
|
|
16
|
+
stability: stable
|
|
17
|
+
appliesTo: file
|
|
18
|
+
detection:
|
|
19
|
+
kind: pattern
|
|
20
|
+
scope:
|
|
21
|
+
languages:
|
|
22
|
+
- all
|
|
23
|
+
paths:
|
|
24
|
+
include:
|
|
25
|
+
- "**/*.yaml"
|
|
26
|
+
- "**/*.yml"
|
|
27
|
+
- "**/*.json"
|
|
28
|
+
exclude:
|
|
29
|
+
- "**/node_modules/**"
|
|
30
|
+
match:
|
|
31
|
+
fact:
|
|
32
|
+
kind: cfn.lint.finding
|
|
33
|
+
bind: finding
|
|
34
|
+
where:
|
|
35
|
+
- path: ruleId
|
|
36
|
+
equals: E3030
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: correctness.configuration
|
|
40
|
+
severity: high
|
|
41
|
+
confidence: 0.9
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Check if properties have a valid value
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E3030."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E3030 finding in this CloudFormation template.
|
package/rules/cfn/cfn.correctness.check-if-property-values-adhere-to-a-specific-pattern.rule.yaml
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.check-if-property-values-adhere-to-a-specific-pattern
|
|
5
|
+
title: Check if property values adhere to a specific pattern
|
|
6
|
+
summary: Check if property values adhere to a specific pattern
|
|
7
|
+
rationale: cfn-lint reports E3031 when Check if property values adhere to a specific pattern.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E3031
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e3031
|
|
15
|
+
- rules-catalog
|
|
16
|
+
stability: stable
|
|
17
|
+
appliesTo: file
|
|
18
|
+
detection:
|
|
19
|
+
kind: pattern
|
|
20
|
+
scope:
|
|
21
|
+
languages:
|
|
22
|
+
- all
|
|
23
|
+
paths:
|
|
24
|
+
include:
|
|
25
|
+
- "**/*.yaml"
|
|
26
|
+
- "**/*.yml"
|
|
27
|
+
- "**/*.json"
|
|
28
|
+
exclude:
|
|
29
|
+
- "**/node_modules/**"
|
|
30
|
+
match:
|
|
31
|
+
fact:
|
|
32
|
+
kind: cfn.lint.finding
|
|
33
|
+
bind: finding
|
|
34
|
+
where:
|
|
35
|
+
- path: ruleId
|
|
36
|
+
equals: E3031
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: correctness.configuration
|
|
40
|
+
severity: high
|
|
41
|
+
confidence: 0.9
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Check if property values adhere to a specific pattern
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E3031."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E3031 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.check-if-refing-to-a-iam-resource-with-path-set
|
|
5
|
+
title: Check if refing to a iam resource with path set
|
|
6
|
+
summary: Check if refing to a iam resource with path set
|
|
7
|
+
rationale: cfn-lint reports E3050 when Check if refing to a iam resource with path set.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E3050
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e3050
|
|
15
|
+
- rules-catalog
|
|
16
|
+
stability: stable
|
|
17
|
+
appliesTo: file
|
|
18
|
+
detection:
|
|
19
|
+
kind: pattern
|
|
20
|
+
scope:
|
|
21
|
+
languages:
|
|
22
|
+
- all
|
|
23
|
+
paths:
|
|
24
|
+
include:
|
|
25
|
+
- "**/*.yaml"
|
|
26
|
+
- "**/*.yml"
|
|
27
|
+
- "**/*.json"
|
|
28
|
+
exclude:
|
|
29
|
+
- "**/node_modules/**"
|
|
30
|
+
match:
|
|
31
|
+
fact:
|
|
32
|
+
kind: cfn.lint.finding
|
|
33
|
+
bind: finding
|
|
34
|
+
where:
|
|
35
|
+
- path: ruleId
|
|
36
|
+
equals: E3050
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: correctness.configuration
|
|
40
|
+
severity: high
|
|
41
|
+
confidence: 0.9
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Check if refing to a iam resource with path set
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E3050."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E3050 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.check-if-refs-exist
|
|
5
|
+
title: Check if refs exist
|
|
6
|
+
summary: Check if refs exist
|
|
7
|
+
rationale: cfn-lint reports E1012 when Check if refs exist.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E1012
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e1012
|
|
15
|
+
- rules-catalog
|
|
16
|
+
stability: stable
|
|
17
|
+
appliesTo: file
|
|
18
|
+
detection:
|
|
19
|
+
kind: pattern
|
|
20
|
+
scope:
|
|
21
|
+
languages:
|
|
22
|
+
- all
|
|
23
|
+
paths:
|
|
24
|
+
include:
|
|
25
|
+
- "**/*.yaml"
|
|
26
|
+
- "**/*.yml"
|
|
27
|
+
- "**/*.json"
|
|
28
|
+
exclude:
|
|
29
|
+
- "**/node_modules/**"
|
|
30
|
+
match:
|
|
31
|
+
fact:
|
|
32
|
+
kind: cfn.lint.finding
|
|
33
|
+
bind: finding
|
|
34
|
+
where:
|
|
35
|
+
- path: ruleId
|
|
36
|
+
equals: E1012
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: correctness.configuration
|
|
40
|
+
severity: high
|
|
41
|
+
confidence: 0.9
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Check if refs exist
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E1012."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E1012 finding in this CloudFormation template.
|