threatintel

package
v0.0.0-...-e71afea Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 28, 2024 License: Apache-2.0 Imports: 24 Imported by: 6

Documentation

Index

Constants

View Source
const (

	// database types
	DBTypeVulnerability = "vulnerability"
	DBTypeSecrets       = "secret"
	DBTypeMalware       = "malware"
	DBTypePosture       = "posture"
)
View Source
const (
	Version3 = "3"
	Version5 = "5"
)
View Source
const (
	MalwareRulesStore = "malware"
)
View Source
const (
	SecretsRulesStore = "secrets"
)

Variables

View Source
var (
	ListingJSON          = "listing.json"
	VulnerabilityDBStore = "vulnerability"
	ListingPath          = path.Join(VulnerabilityDBStore, ListingJSON)
)
View Source
var ErrDatabaseNotFound = errors.New("database type not found")
View Source
var (
	PostureControlsStore = "posture"
)

Functions

func DeleteFileMinio

func DeleteFileMinio(ctx context.Context, fName string) error

func DownloadAndPopulateCloudControls

func DownloadAndPopulateCloudControls(ctx context.Context, entry Entry) error

func DownloadMalwareRules

func DownloadMalwareRules(ctx context.Context, entry Entry) error

func DownloadSecretsRules

func DownloadSecretsRules(ctx context.Context, entry Entry) error

func DownloadVulnerabilityDB

func DownloadVulnerabilityDB(ctx context.Context, info Entry) error

func ExposeFile

func ExposeFile(ctx context.Context, fName string, consoleURL string, ttlCache *ttlcache.Cache[string, string]) (string, error)

func FetchMalwareRulesInfo

func FetchMalwareRulesInfo(ctx context.Context) (path, hash string, err error)

func FetchMalwareRulesURL

func FetchMalwareRulesURL(ctx context.Context, consoleURL string, ttlCache *ttlcache.Cache[string, string]) (string, string, error)

func FetchPostureControlsInfo

func FetchPostureControlsInfo(ctx context.Context) (path, hash string, err error)

func FetchSecretsRulesInfo

func FetchSecretsRulesInfo(ctx context.Context) (path, hash string, err error)

func FetchSecretsRulesURL

func FetchSecretsRulesURL(ctx context.Context, consoleURL string, ttlCache *ttlcache.Cache[string, string]) (string, string, error)

func TriggerLoadCloudControls

func TriggerLoadCloudControls(ctx context.Context) error

func UpdateMalwareRulesInfo

func UpdateMalwareRulesInfo(ctx context.Context, hash, path string) error

func UpdatePostureControlsInfo

func UpdatePostureControlsInfo(ctx context.Context, hash, path string) error

func UpdateSecretsRulesInfo

func UpdateSecretsRulesInfo(ctx context.Context, hash, path string) error

func UploadToMinio

func UploadToMinio(ctx context.Context, fb []byte, dbPath, fName string) (string, string, error)

func VulnDBUpdateListing

func VulnDBUpdateListing(ctx context.Context, newFile, newFileCheckSum string, buildTime time.Time) error

Types

type DBUploadRequest

type DBUploadRequest struct {
	Database multipart.File `formData:"database" json:"database" validate:"required" required:"true"`
}

type Database

type Database struct {
	Built    time.Time `json:"built"`
	Version  int       `json:"version"`
	URL      string    `json:"url"`
	Checksum string    `json:"checksum"`
}

type Entry

type Entry struct {
	Built    time.Time `json:"built"`
	Version  string    `json:"version"`
	Type     string    `json:"type"`
	URL      string    `json:"url"`
	Checksum string    `json:"checksum"`
}

type Listing

type Listing struct {
	Available map[string][]Entry `json:"available"`
}

func (*Listing) GetLatest

func (l *Listing) GetLatest(version, dbType string) (Entry, error)

func (*Listing) GetLatestN

func (l *Listing) GetLatestN(version string, dbType ...string) ([]Entry, error)

type VulnerabilityDBListing

type VulnerabilityDBListing struct {
	Available map[string][]Database `json:"available"`
}

func LoadListing

func LoadListing(d []byte) (*VulnerabilityDBListing, error)

func NewVulnerabilityDBListing

func NewVulnerabilityDBListing() *VulnerabilityDBListing

func (*VulnerabilityDBListing) Append

func (v *VulnerabilityDBListing) Append(db Database, version string)

func (*VulnerabilityDBListing) Bytes

func (v *VulnerabilityDBListing) Bytes() ([]byte, error)

func (*VulnerabilityDBListing) Latest

func (v *VulnerabilityDBListing) Latest(version string) *Database

func (*VulnerabilityDBListing) LatestN

func (v *VulnerabilityDBListing) LatestN(version string, num int) (latest []Database, oldest []Database)

func (*VulnerabilityDBListing) Set

func (v *VulnerabilityDBListing) Set(dbs []Database, version string)

func (*VulnerabilityDBListing) Sort

func (v *VulnerabilityDBListing) Sort(version string)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL