github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/rules/cloud/policies/aws/lambda/enable_tracing.go (about) 1 package lambda 2 3 import ( 4 "github.com/khulnasoft-lab/defsec/internal/rules" 5 "github.com/khulnasoft-lab/defsec/pkg/providers" 6 "github.com/khulnasoft-lab/defsec/pkg/providers/aws/lambda" 7 "github.com/khulnasoft-lab/defsec/pkg/scan" 8 "github.com/khulnasoft-lab/defsec/pkg/severity" 9 "github.com/khulnasoft-lab/defsec/pkg/state" 10 ) 11 12 var CheckEnableTracing = rules.Register( 13 scan.Rule{ 14 AVDID: "AVD-AWS-0066", 15 Provider: providers.AWSProvider, 16 Service: "lambda", 17 ShortCode: "enable-tracing", 18 Summary: "Lambda functions should have X-Ray tracing enabled", 19 Impact: "Without full tracing enabled it is difficult to trace the flow of logs", 20 Resolution: "Enable tracing", 21 Explanation: `X-Ray tracing enables end-to-end debugging and analysis of all function activity. This will allow for identifying bottlenecks, slow downs and timeouts.`, 22 Links: []string{ 23 "https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html", 24 }, 25 Terraform: &scan.EngineMetadata{ 26 GoodExamples: terraformEnableTracingGoodExamples, 27 BadExamples: terraformEnableTracingBadExamples, 28 Links: terraformEnableTracingLinks, 29 RemediationMarkdown: terraformEnableTracingRemediationMarkdown, 30 }, 31 CloudFormation: &scan.EngineMetadata{ 32 GoodExamples: cloudFormationEnableTracingGoodExamples, 33 BadExamples: cloudFormationEnableTracingBadExamples, 34 Links: cloudFormationEnableTracingLinks, 35 RemediationMarkdown: cloudFormationEnableTracingRemediationMarkdown, 36 }, 37 Severity: severity.Low, 38 }, 39 func(s *state.State) (results scan.Results) { 40 for _, function := range s.AWS.Lambda.Functions { 41 if function.Metadata.IsUnmanaged() { 42 continue 43 } 44 if function.Tracing.Mode.NotEqualTo(lambda.TracingModeActive) { 45 results.Add( 46 "Function does not have tracing enabled.", 47 function.Tracing.Mode, 48 ) 49 } else { 50 results.AddPassed(&function) 51 } 52 } 53 return 54 }, 55 )