github.com/khulnasoft-lab/tunnel-db@v0.0.0-20231117205118-74e1113bd007/pkg/vulnsrc/vulnsrc.go (about)

     1  package vulnsrc
     2  
     3  import (
     4  	"github.com/khulnasoft-lab/tunnel-db/pkg/types"
     5  	"github.com/khulnasoft-lab/tunnel-db/pkg/vulnsrc/alma"
     6  	"github.com/khulnasoft-lab/tunnel-db/pkg/vulnsrc/alpine"
     7  	"github.com/khulnasoft-lab/tunnel-db/pkg/vulnsrc/amazon"
     8  	"github.com/khulnasoft-lab/tunnel-db/pkg/vulnsrc/bitnami"
     9  	"github.com/khulnasoft-lab/tunnel-db/pkg/vulnsrc/bundler"
    10  	"github.com/khulnasoft-lab/tunnel-db/pkg/vulnsrc/chainguard"
    11  	"github.com/khulnasoft-lab/tunnel-db/pkg/vulnsrc/composer"
    12  	"github.com/khulnasoft-lab/tunnel-db/pkg/vulnsrc/debian"
    13  	"github.com/khulnasoft-lab/tunnel-db/pkg/vulnsrc/ghsa"
    14  	"github.com/khulnasoft-lab/tunnel-db/pkg/vulnsrc/glad"
    15  	"github.com/khulnasoft-lab/tunnel-db/pkg/vulnsrc/k8svulndb"
    16  	"github.com/khulnasoft-lab/tunnel-db/pkg/vulnsrc/mariner"
    17  	"github.com/khulnasoft-lab/tunnel-db/pkg/vulnsrc/node"
    18  	"github.com/khulnasoft-lab/tunnel-db/pkg/vulnsrc/nvd"
    19  	oracleoval "github.com/khulnasoft-lab/tunnel-db/pkg/vulnsrc/oracle-oval"
    20  	"github.com/khulnasoft-lab/tunnel-db/pkg/vulnsrc/photon"
    21  	"github.com/khulnasoft-lab/tunnel-db/pkg/vulnsrc/redhat"
    22  	redhatoval "github.com/khulnasoft-lab/tunnel-db/pkg/vulnsrc/redhat-oval"
    23  	"github.com/khulnasoft-lab/tunnel-db/pkg/vulnsrc/rocky"
    24  	susecvrf "github.com/khulnasoft-lab/tunnel-db/pkg/vulnsrc/suse-cvrf"
    25  	"github.com/khulnasoft-lab/tunnel-db/pkg/vulnsrc/ubuntu"
    26  	"github.com/khulnasoft-lab/tunnel-db/pkg/vulnsrc/wolfi"
    27  )
    28  
    29  type VulnSrc interface {
    30  	Name() types.SourceID
    31  	Update(dir string) (err error)
    32  }
    33  
    34  var (
    35  	// All holds all data sources
    36  	All = []VulnSrc{
    37  		// NVD
    38  		nvd.NewVulnSrc(),
    39  
    40  		// OS packages
    41  		alma.NewVulnSrc(),
    42  		alpine.NewVulnSrc(),
    43  		redhat.NewVulnSrc(),
    44  		redhatoval.NewVulnSrc(),
    45  		debian.NewVulnSrc(),
    46  		ubuntu.NewVulnSrc(),
    47  		amazon.NewVulnSrc(),
    48  		oracleoval.NewVulnSrc(),
    49  		rocky.NewVulnSrc(),
    50  		susecvrf.NewVulnSrc(susecvrf.SUSEEnterpriseLinux),
    51  		susecvrf.NewVulnSrc(susecvrf.OpenSUSE),
    52  		photon.NewVulnSrc(),
    53  		mariner.NewVulnSrc(),
    54  		wolfi.NewVulnSrc(),
    55  		chainguard.NewVulnSrc(),
    56  		bitnami.NewVulnSrc(),
    57  
    58  		k8svulndb.NewVulnSrc(),
    59  		// Language-specific packages
    60  		bundler.NewVulnSrc(),
    61  		composer.NewVulnSrc(),
    62  		node.NewVulnSrc(),
    63  		ghsa.NewVulnSrc(),
    64  		glad.NewVulnSrc(),
    65  	}
    66  )