github.com/google/osv-scalibr@v0.4.1/inventory/secret.go (about)

     1  // Copyright 2025 Google LLC
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //      http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  package inventory
    16  
    17  import (
    18  	"time"
    19  
    20  	"github.com/google/osv-scalibr/veles"
    21  )
    22  
    23  // Secret (i.e. a credential) found via the Veles secret scanning library.
    24  // Scalibr handles secrets transparently, only Veles cares about what concrete
    25  // type they are.
    26  type Secret struct {
    27  	Secret   veles.Secret
    28  	Location string
    29  
    30  	Validation SecretValidationResult
    31  }
    32  
    33  // SecretValidationResult is the result of validating a given Secret with the
    34  // corresponding Veles Validator via Enrichment.
    35  type SecretValidationResult struct {
    36  	// At is the time at which the validation was performed.
    37  	At time.Time
    38  	// Status is the ValidationStatus obtained from the Validation.
    39  	Status veles.ValidationStatus
    40  	// Err is only set in case Status is ValidationFailed. In that case, it
    41  	// contains the error encountered during validation.
    42  	Err error
    43  }