Skip to content

Commit 96170d0

Browse files
committed
bump trivy to v0.57.1
Signed-off-by: Nikita Pivkin <[email protected]>
1 parent f43f05b commit 96170d0

File tree

28 files changed

+1460
-770
lines changed

28 files changed

+1460
-770
lines changed

cmd/trivy-aws/main.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import (
77

88
func main() {
99
if err := run(); err != nil {
10-
log.Fatal(err.Error())
10+
log.Fatal("Fatal error", log.Err(err))
1111
}
1212
}
1313

go.mod

+131-92
Large diffs are not rendered by default.

go.sum

+452-266
Large diffs are not rendered by default.

internal/adapters/cloud/aws/adapt.go

+26-35
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,20 @@ package aws
33
import (
44
"context"
55
"fmt"
6+
"slices"
67

7-
"github.com/aquasecurity/trivy-aws/pkg/concurrency"
8-
"github.com/aquasecurity/trivy-aws/pkg/errs"
9-
"github.com/aquasecurity/trivy/pkg/iac/types"
10-
11-
"github.com/aquasecurity/trivy/pkg/iac/debug"
12-
8+
"github.com/aws/aws-sdk-go-v2/aws"
9+
"github.com/aws/aws-sdk-go-v2/aws/arn"
10+
"github.com/aws/aws-sdk-go-v2/config"
1311
"github.com/aws/aws-sdk-go-v2/service/sts"
1412

1513
"github.com/aquasecurity/trivy-aws/internal/adapters/cloud/options"
14+
"github.com/aquasecurity/trivy-aws/pkg/concurrency"
15+
"github.com/aquasecurity/trivy-aws/pkg/errs"
1616
"github.com/aquasecurity/trivy-aws/pkg/progress"
1717
"github.com/aquasecurity/trivy/pkg/iac/state"
18-
"github.com/aws/aws-sdk-go-v2/aws"
19-
"github.com/aws/aws-sdk-go-v2/aws/arn"
20-
"github.com/aws/aws-sdk-go-v2/config"
18+
"github.com/aquasecurity/trivy/pkg/iac/types"
19+
"github.com/aquasecurity/trivy/pkg/log"
2120
)
2221

2322
var registeredAdapters []ServiceAdapter
@@ -44,27 +43,24 @@ type RootAdapter struct {
4443
accountID string
4544
currentService string
4645
region string
47-
debugWriter debug.Logger
46+
logger *log.Logger
4847
concurrencyStrategy concurrency.Strategy
4948
}
5049

51-
func NewRootAdapter(ctx context.Context, cfg aws.Config, tracker progress.ServiceTracker) *RootAdapter {
50+
func NewRootAdapter(ctx context.Context, cfg aws.Config, tracker progress.ServiceTracker, logger *log.Logger) *RootAdapter {
5251
return &RootAdapter{
5352
ctx: ctx,
5453
tracker: tracker,
5554
sessionCfg: cfg,
5655
region: cfg.Region,
56+
logger: logger,
5757
}
5858
}
5959

6060
func (a *RootAdapter) Region() string {
6161
return a.region
6262
}
6363

64-
func (a *RootAdapter) Debug(format string, args ...interface{}) {
65-
a.debugWriter.Log(format, args...)
66-
}
67-
6864
func (a *RootAdapter) ConcurrencyStrategy() concurrency.Strategy {
6965
return a.concurrencyStrategy
7066
}
@@ -81,6 +77,10 @@ func (a *RootAdapter) Tracker() progress.ServiceTracker {
8177
return a.tracker
8278
}
8379

80+
func (a *RootAdapter) Logger() *log.Logger {
81+
return a.logger
82+
}
83+
8484
func (a *RootAdapter) CreateMetadata(resource string) types.Metadata {
8585

8686
// some services don't require region/account id in the ARN
@@ -136,7 +136,7 @@ func Adapt(ctx context.Context, state *state.State, opt options.Options) error {
136136
c := &RootAdapter{
137137
ctx: ctx,
138138
tracker: opt.ProgressTracker,
139-
debugWriter: opt.DebugWriter.Extend("adapt", "aws"),
139+
logger: log.WithPrefix("adapt-aws"),
140140
concurrencyStrategy: opt.ConcurrencyStrategy,
141141
}
142142

@@ -148,15 +148,15 @@ func Adapt(ctx context.Context, state *state.State, opt options.Options) error {
148148
c.sessionCfg = cfg
149149

150150
if opt.Region != "" {
151-
c.Debug("Using region '%s'", opt.Region)
151+
c.logger.Info("Using region", log.String("region", opt.Region))
152152
c.sessionCfg.Region = opt.Region
153153
}
154154
if opt.Endpoint != "" {
155-
c.Debug("Using endpoint '%s'", opt.Endpoint)
155+
c.logger.Info("Using endpoint", log.String("endpoint", opt.Endpoint))
156156
c.sessionCfg.EndpointResolverWithOptions = createResolver(opt.Endpoint)
157157
}
158158

159-
c.Debug("Discovering caller identity...")
159+
c.logger.Debug("Discovering caller identity...")
160160
stsClient := sts.NewFromConfig(c.sessionCfg)
161161
result, err := stsClient.GetCallerIdentity(ctx, &sts.GetCallerIdentityInput{})
162162
if err != nil {
@@ -166,13 +166,13 @@ func Adapt(ctx context.Context, state *state.State, opt options.Options) error {
166166
return fmt.Errorf("missing account id for aws account")
167167
}
168168
c.accountID = *result.Account
169-
c.Debug("AWS account ID: %s", c.accountID)
169+
c.logger.Info("AWS account ID", log.String("ID", c.accountID))
170170

171171
if len(opt.Services) == 0 {
172-
c.Debug("Preparing to run for all %d registered services...", len(registeredAdapters))
172+
c.logger.Info("Preparing to run for all registered services...", log.Int("count", len(registeredAdapters)))
173173
opt.ProgressTracker.SetTotalServices(len(registeredAdapters))
174174
} else {
175-
c.Debug("Preparing to run for %d filtered services...", len(opt.Services))
175+
c.logger.Info("Preparing to run for filtered services...", log.Int("count", len(opt.Services)))
176176
opt.ProgressTracker.SetTotalServices(len(opt.Services))
177177
}
178178

@@ -181,16 +181,16 @@ func Adapt(ctx context.Context, state *state.State, opt options.Options) error {
181181
var adapterErrors []error
182182

183183
for _, adapter := range registeredAdapters {
184-
if len(opt.Services) != 0 && !contains(opt.Services, adapter.Name()) {
184+
if len(opt.Services) != 0 && !slices.Contains(opt.Services, adapter.Name()) {
185185
continue
186186
}
187187
c.currentService = adapter.Name()
188-
c.Debug("Running adapter for %s...", adapter.Name())
188+
c.logger.Debug("Running adapter", log.String("service", adapter.Name()))
189189
opt.ProgressTracker.StartService(adapter.Name())
190190

191191
if err := adapter.Adapt(c, state); err != nil {
192-
c.Debug("Error occurred while running adapter for %s: %s", adapter.Name(), err)
193-
adapterErrors = append(adapterErrors, fmt.Errorf("failed to run adapter for %s: %w", adapter.Name(), err))
192+
c.logger.Error("Failed to adapt", log.String("service", adapter.Name()), log.Err(err))
193+
adapterErrors = append(adapterErrors, fmt.Errorf("failed to adapt service %s: %w", adapter.Name(), err))
194194
}
195195
opt.ProgressTracker.FinishService()
196196
}
@@ -201,12 +201,3 @@ func Adapt(ctx context.Context, state *state.State, opt options.Options) error {
201201

202202
return nil
203203
}
204-
205-
func contains(services []string, service string) bool {
206-
for _, s := range services {
207-
if s == service {
208-
return true
209-
}
210-
}
211-
return false
212-
}

internal/adapters/cloud/aws/elasticache/adapt.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"github.com/aquasecurity/trivy/pkg/iac/providers/aws/elasticache"
66
"github.com/aquasecurity/trivy/pkg/iac/state"
77
trivyTypes "github.com/aquasecurity/trivy/pkg/iac/types"
8+
"github.com/aquasecurity/trivy/pkg/log"
89
api "github.com/aws/aws-sdk-go-v2/service/elasticache"
910
"github.com/aws/aws-sdk-go-v2/service/elasticache/types"
1011

@@ -124,7 +125,7 @@ func (a *adapter) getReplicationGroups() ([]elasticache.ReplicationGroup, error)
124125
for _, apiGroup := range apiGroups {
125126
group, err := a.adaptReplicationGroup(apiGroup)
126127
if err != nil {
127-
a.Debug("Failed to adapt replication group '%s': %s", *apiGroup.ARN, err)
128+
a.Logger().Error("Failed to adapt replication group", log.String("ARN", *apiGroup.ARN), log.Err(err))
128129
continue
129130
}
130131
groups = append(groups, *group)
@@ -178,7 +179,7 @@ func (a *adapter) getSecurityGroups() ([]elasticache.SecurityGroup, error) {
178179
for _, apiGroup := range apiGroups {
179180
group, err := a.adaptSecurityGroup(apiGroup)
180181
if err != nil {
181-
a.Debug("Failed to adapt security group '%s': %s", *apiGroup.ARN, err)
182+
a.Logger().Error("Failed to adapt security group", log.String("ARN", *apiGroup.ARN), log.Err(err))
182183
continue
183184
}
184185
groups = append(groups, *group)

internal/adapters/cloud/aws/emr/adapt.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"github.com/aquasecurity/trivy/pkg/iac/providers/aws/emr"
66
"github.com/aquasecurity/trivy/pkg/iac/state"
77
trivyTypes "github.com/aquasecurity/trivy/pkg/iac/types"
8+
"github.com/aquasecurity/trivy/pkg/log"
89
api "github.com/aws/aws-sdk-go-v2/service/emr"
910
"github.com/aws/aws-sdk-go-v2/service/emr/types"
1011

@@ -131,7 +132,8 @@ func (a *adapter) getSecurityConfigurations() ([]emr.SecurityConfiguration, erro
131132
for _, apiConfig := range apiConfigs {
132133
config, err := a.adaptConfig(apiConfig)
133134
if err != nil {
134-
a.Debug("Failed to adapt security configuration '%s': %s", *apiConfig.Name, err)
135+
a.Logger().Error("Failed to adapt security configuration",
136+
log.String("name", *apiConfig.Name), log.Err(err))
135137
continue
136138
}
137139
configs = append(configs, *config)

internal/adapters/cloud/aws/iam/group.go

+5-2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam"
77
"github.com/aquasecurity/trivy/pkg/iac/state"
88
"github.com/aquasecurity/trivy/pkg/iac/types"
9+
"github.com/aquasecurity/trivy/pkg/log"
910
iamapi "github.com/aws/aws-sdk-go-v2/service/iam"
1011
iamtypes "github.com/aws/aws-sdk-go-v2/service/iam/types"
1112

@@ -57,14 +58,16 @@ func (a *adapter) adaptGroup(apiGroup iamtypes.Group, state *state.State) (*iam.
5758
for {
5859
policiesOutput, err := a.api.ListAttachedGroupPolicies(a.Context(), input)
5960
if err != nil {
60-
a.Debug("Failed to locate policies attached to group '%s': %s", *apiGroup.GroupName, err)
61+
a.Logger().Error("Failed to locate policies attached to group",
62+
log.String("name", *apiGroup.GroupName), log.Err(err))
6163
break
6264
}
6365

6466
for _, apiPolicy := range policiesOutput.AttachedPolicies {
6567
policy, err := a.adaptAttachedPolicy(apiPolicy)
6668
if err != nil {
67-
a.Debug("Failed to adapt policy attached to group '%s': %s", *apiGroup.GroupName, err)
69+
a.Logger().Error("Failed to adapt policy attached to group",
70+
log.String("name", *apiGroup.GroupName), log.Err(err))
6871
continue
6972
}
7073
policies = append(policies, *policy)

internal/adapters/cloud/aws/iam/iam.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam"
66
"github.com/aquasecurity/trivy/pkg/iac/state"
77
"github.com/aquasecurity/trivy/pkg/iac/types"
8+
"github.com/aquasecurity/trivy/pkg/log"
89
iamapi "github.com/aws/aws-sdk-go-v2/service/iam"
910
)
1011

@@ -64,7 +65,7 @@ func (a *adapter) adaptPasswordPolicy(state *state.State) error {
6465

6566
output, err := a.api.GetAccountPasswordPolicy(a.Context(), &iamapi.GetAccountPasswordPolicyInput{})
6667
if err != nil {
67-
a.Debug("Failed to adapt account password policy: %s", err)
68+
a.Logger().Error("Failed to adapt account password policy", log.Err(err))
6869
return nil
6970
}
7071
a.Tracker().SetTotalResources(1)

internal/adapters/cloud/aws/iam/role.go

+5-2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam"
77
"github.com/aquasecurity/trivy/pkg/iac/state"
88
"github.com/aquasecurity/trivy/pkg/iac/types"
9+
"github.com/aquasecurity/trivy/pkg/log"
910
iamapi "github.com/aws/aws-sdk-go-v2/service/iam"
1011
iamtypes "github.com/aws/aws-sdk-go-v2/service/iam/types"
1112

@@ -55,14 +56,16 @@ func (a *adapter) adaptRole(apiRole iamtypes.Role) (*iam.Role, error) {
5556
for {
5657
policiesOutput, err := a.api.ListAttachedRolePolicies(a.Context(), input)
5758
if err != nil {
58-
a.Debug("Failed to locate policies attached to role '%s': %s", *apiRole.RoleName, err)
59+
a.Logger().Error("Failed to locate policies attached to role",
60+
log.String("name", *apiRole.RoleName), log.Err(err))
5961
break
6062
}
6163

6264
for _, apiPolicy := range policiesOutput.AttachedPolicies {
6365
policy, err := a.adaptAttachedPolicy(apiPolicy)
6466
if err != nil {
65-
a.Debug("Failed to adapt policy attached to role '%s': %s", *apiRole.RoleName, err)
67+
a.Logger().Error("Failed to adapt policy attached to role",
68+
log.String("name", *apiRole.RoleName), log.Err(err))
6669
continue
6770
}
6871
policies = append(policies, *policy)

internal/adapters/cloud/aws/iam/user.go

+5-2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam"
99
"github.com/aquasecurity/trivy/pkg/iac/state"
1010
trivyTypes "github.com/aquasecurity/trivy/pkg/iac/types"
11+
"github.com/aquasecurity/trivy/pkg/log"
1112
iamapi "github.com/aws/aws-sdk-go-v2/service/iam"
1213
iamtypes "github.com/aws/aws-sdk-go-v2/service/iam/types"
1314

@@ -83,14 +84,16 @@ func (a *adapter) getUserPolicies(apiUser iamtypes.User) []iam.Policy {
8384
for {
8485
policiesOutput, err := a.api.ListAttachedUserPolicies(a.Context(), input)
8586
if err != nil {
86-
a.Debug("Failed to locate policies attached to user '%s': %s", *apiUser.UserName, err)
87+
a.Logger().Error("Failed to locate policies attached to user",
88+
log.String("name", *apiUser.UserName), log.Err(err))
8789
break
8890
}
8991

9092
for _, apiPolicy := range policiesOutput.AttachedPolicies {
9193
policy, err := a.adaptAttachedPolicy(apiPolicy)
9294
if err != nil {
93-
a.Debug("Failed to adapt policy attached to user '%s': %s", *apiUser.UserName, err)
95+
a.Logger().Error("Failed to adapt policy attached to user",
96+
log.String("name", *apiUser.UserName), log.Err(err))
9497
continue
9598
}
9699
policies = append(policies, *policy)

internal/adapters/cloud/aws/rds/rds.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"github.com/aquasecurity/trivy/pkg/iac/providers/aws/rds"
55
"github.com/aquasecurity/trivy/pkg/iac/state"
66
trivyTypes "github.com/aquasecurity/trivy/pkg/iac/types"
7+
"github.com/aquasecurity/trivy/pkg/log"
78
awssdk "github.com/aws/aws-sdk-go-v2/aws"
89
rdsApi "github.com/aws/aws-sdk-go-v2/service/rds"
910
rdsTypes "github.com/aws/aws-sdk-go-v2/service/rds/types"
@@ -48,7 +49,7 @@ func (a *adapter) Adapt(root *aws.RootAdapter, state *state.State) error {
4849

4950
state.AWS.RDS.Classic, err = a.getClassic()
5051
if err != nil {
51-
a.Debug("Failed to retrieve classic resource: %s", err)
52+
a.Logger().Error("Failed to retrieve classic resource", log.Err(err))
5253
return nil
5354
}
5455

internal/adapters/cloud/aws/redshift/adapt.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"github.com/aquasecurity/trivy/pkg/iac/providers/aws/redshift"
77
"github.com/aquasecurity/trivy/pkg/iac/state"
88
trivyTypes "github.com/aquasecurity/trivy/pkg/iac/types"
9+
"github.com/aquasecurity/trivy/pkg/log"
910
awssdk "github.com/aws/aws-sdk-go-v2/aws"
1011
api "github.com/aws/aws-sdk-go-v2/service/redshift"
1112
redshiftTypes "github.com/aws/aws-sdk-go-v2/service/redshift/types"
@@ -56,7 +57,7 @@ func (a *adapter) Adapt(root *aws.RootAdapter, state *state.State) error {
5657
// this can error is classic resources are used where disabled
5758
state.AWS.Redshift.SecurityGroups, err = a.getSecurityGroups()
5859
if err != nil {
59-
a.Debug("Failed to adapt security groups: %s", err)
60+
a.Logger().Error("Failed to adapt security groups", log.Err(err))
6061
return nil
6162
}
6263

0 commit comments

Comments
 (0)