Documentation ¶
Index ¶
- Constants
- Variables
- func ActionString(action uint8) string
- func CountVulTrait(traits []*VulTrait) (int, int)
- func FillVulDetails(cvedb CVEDBType, baseOS string, vts []*VulTrait, showTag string) []*api.RESTVulnerability
- func FindProcessInProfile(list []*share.CLUSProcessProfileEntry, p *share.CLUSProcessProfileEntry) (int, bool)
- func FindSensorInDlpGroup(list []*share.CLUSDlpSetting, p *share.CLUSDlpSetting) (int, bool)
- func FindSensorInWafGroup(list []*share.CLUSWafSetting, p *share.CLUSWafSetting) (int, bool)
- func FsmonFilterToRest(path, regex string) string
- func GatherVulTrait(traits []*VulTrait) ([]string, []string)
- func GetAvailablePolicyID(ids utils.Set, cfgType share.TCfgType) uint32
- func GetComplianceMeta() ([]api.RESTBenchMeta, map[string]api.RESTBenchMeta)
- func GetInternalDlpRuleName(rulename, sensorname string) string
- func GetInternalWafRuleName(rulename, sensorname string) string
- func GetOrigDlpRuleName(rulename string) string
- func GetOrigWafRuleName(rulename string) string
- func GetScannerDB() *share.CLUSScannerDB
- func GetSecretBenchMessage(stype, loc, evidence string) string
- func GetSetIDBenchMessage(stype, loc, evidence string) string
- func ImageBench2REST(cmds []string, secrets []*api.RESTScanSecret, setids []*api.RESTScanSetIdPerm, ...) []*api.RESTBenchItem
- func LevelToPrio(level string) (syslog.Priority, bool)
- func LevelToString(level string) string
- func MergeDlpSensors(list []*share.CLUSDlpSetting, p *share.CLUSDlpSetting) ([]*share.CLUSDlpSetting, bool)
- func MergeProcess(list []*share.CLUSProcessProfileEntry, p *share.CLUSProcessProfileEntry, ...) ([]*share.CLUSProcessProfileEntry, bool)
- func MergeWafSensors(list []*share.CLUSWafSetting, p *share.CLUSWafSetting) ([]*share.CLUSWafSetting, bool)
- func OEMIgnoreImageRepo(img *share.CLUSImage) bool
- func OEMIgnoreWorkload(wl *share.CLUSWorkload) bool
- func OEMLicenseValidate(info *api.RESTLicenseInfo) bool
- func OEMPlatformVersionURL() string
- func PolicyActionRESTString(action uint8) string
- func PolicyActionString(action uint8) string
- func PolicyRuleIdToCfgType(id uint32) share.TCfgType
- func PriorityToString(prio syslog.Priority) string
- func ScanModule2REST(m *share.ScanModule) *api.RESTScanModule
- func ScanRepoResult2REST(result *share.ScanResult, tagMap map[string][]string) *api.RESTScanRepoReport
- func ScanSecrets2REST(s *share.ScanSecretLog) *api.RESTScanSecret
- func ScanSetIdPerm2REST(p *share.ScanSetIdPermLog) *api.RESTScanSetIdPerm
- func ScanVul2REST(cvedb CVEDBType, baseOS string, vul *share.ScanVulnerability) *api.RESTVulnerability
- func SetScannerDB(newDB *share.CLUSScannerDB)
- func SeverityString(severity uint8) (string, string)
- func ThreatName(id uint32) string
- type CVEDBType
- type DecryptUnmarshaller
- type EmptyMarshaller
- type EncryptMarshaller
- type LocalDevice
- type LogAuditInfo
- type LogEventInfo
- type LogIncidentInfo
- type LogThreatInfo
- type MarshalInvalidTypeError
- type Marshaller
- type MaskMarshaller
- type RPCEndpoint
- type RegTestMeg
- type Syslogger
- type Unmarshaller
- type VPFInterface
- type VulTrait
- type Webhook
- type WorkloadFilter
Constants ¶
View Source
const DLPRuleTag string = "_nvCtR."
View Source
const DefaultAdminPass string = "admin"
View Source
const DefaultAdminUser string = "admin"
View Source
const DefaultIdleTimeout uint32 = 300
View Source
const DlpPrefix string = "DLP."
View Source
const NetworkViolation string = "Network.Violation"
For name match in response rule
View Source
const OEMDefaultUserLocale string = "en"
View Source
const ScanPlatformID = "platform"
View Source
const WAFRuleTag string = "_nVwAfCtR."
View Source
const WafPrefix string = "WAF."
Variables ¶
View Source
var DefaultFileMonitorConfig share.CLUSFileMonitorProfile = share.CLUSFileMonitorProfile{ Filters: fsmon.ImportantFiles, FiltersCRD: make([]share.CLUSFileMonitorFilter, 0), }
View Source
var DefaultSystemConfig = share.CLUSSystemConfig{ NewServicePolicyMode: share.PolicyModeLearn, NewServiceProfileBaseline: share.ProfileBasic, UnusedGroupAging: share.UnusedGroupAgingDefault, CLUSSyslogConfig: share.CLUSSyslogConfig{ SyslogIP: nil, SyslogServer: "", SyslogIPProto: syscall.IPPROTO_UDP, SyslogPort: api.SyslogDefaultUDPPort, SyslogLevel: api.LogLevelINFO, SyslogEnable: false, SyslogCategories: defaultSyslogCategory, SyslogInJSON: false, }, AuthOrder: []string{}, ClusterName: defaultClusterName, Webhooks: []share.CLUSWebhook{}, ControllerDebug: []string{}, TapProxymesh: true, XffEnabled: true, }
View Source
var ErrAtomicWriteFail error = errors.New("Atomic write failed")
View Source
var ErrObjectAccessDenied error = errors.New("Access denied")
View Source
var ErrObjectExists error = errors.New("Object exists")
View Source
var ErrObjectNotFound error = errors.New("Object not found")
View Source
var ErrUnsupported error = errors.New("Unsupported action")
View Source
var LogAuditMap = map[share.TLogAudit]LogAuditInfo{ share.CLUSAuditComplianceContainerBenchViolation: {api.EventNameComplianceContainerBenchViolation, api.LogLevelWARNING}, share.CLUSAuditComplianceContainerFileBenchViolation: {api.EventNameComplianceContainerFileBenchViolation, api.LogLevelWARNING}, share.CLUSAuditComplianceHostBenchViolation: {api.EventNameComplianceHostBenchViolation, api.LogLevelWARNING}, share.CLUSAuditAdmCtrlK8sReqAllowed: {api.EventNameAdmCtrlK8sReqAllowed, api.LogLevelINFO}, share.CLUSAuditAdmCtrlK8sReqViolation: {api.EventNameAdmCtrlK8sReqViolation, api.LogLevelWARNING}, share.CLUSAuditAdmCtrlK8sReqDenied: {api.EventNameAdmCtrlK8sReqDenied, api.LogLevelCRIT}, share.CLUSAuditComplianceContainerCustomCheckViolation: {api.EventNameComplianceContainerCustomCheckViolation, api.LogLevelWARNING}, share.CLUSAuditComplianceHostCustomCheckViolation: {api.EventNameComplianceHostCustomCheckViolation, api.LogLevelWARNING}, share.CLUSAuditAwsLambdaScanWarning: {api.EventNameAwsLambdaScan, api.LogLevelWARNING}, share.CLUSAuditAwsLambdaScanNormal: {api.EventNameAwsLambdaScan, api.LogLevelINFO}, share.CLUSAuditComplianceImageBenchViolation: {api.EventNameComplianceImageBenchViolation, api.LogLevelWARNING}, }
View Source
var LogEventMap = map[share.TLogEvent]LogEventInfo{ share.CLUSEvWorkloadStart: {api.EventNameContainerStart, api.EventCatWorkload, api.LogLevelINFO}, share.CLUSEvWorkloadStop: {api.EventNameContainerStop, api.EventCatWorkload, api.LogLevelINFO}, share.CLUSEvWorkloadSecured: {api.EventNameContainerSecured, api.EventCatWorkload, api.LogLevelINFO}, share.CLUSEvWorkloadRemove: {api.EventNameContainerRemove, api.EventCatWorkload, api.LogLevelINFO}, share.CLUSEvAgentStart: {api.EventNameAgentStart, api.EventCatAgent, api.LogLevelINFO}, share.CLUSEvAgentStop: {api.EventNameAgentStop, api.EventCatAgent, api.LogLevelINFO}, share.CLUSEvAgentJoin: {api.EventNameAgentJoin, api.EventCatAgent, api.LogLevelINFO}, share.CLUSEvAgentDisconnect: {api.EventNameAgentDisconnect, api.EventCatAgent, api.LogLevelNOTICE}, share.CLUSEvAgentConnect: {api.EventNameAgentConnect, api.EventCatAgent, api.LogLevelNOTICE}, share.CLUSEvAgentKicked: {api.EventNameAgentKicked, api.EventCatAgent, api.LogLevelWARNING}, share.CLUSEvControllerStart: {api.EventNameControllerStart, api.EventCatController, api.LogLevelINFO}, share.CLUSEvControllerStop: {api.EventNameControllerStop, api.EventCatController, api.LogLevelINFO}, share.CLUSEvControllerJoin: {api.EventNameControllerJoin, api.EventCatController, api.LogLevelINFO}, share.CLUSEvControllerDisconnect: {api.EventNameControllerDisconnect, api.EventCatController, api.LogLevelNOTICE}, share.CLUSEvControllerConnect: {api.EventNameControllerConnect, api.EventCatController, api.LogLevelNOTICE}, share.CLUSEvControllerLeadLost: {api.EventNameControllerLeadLost, api.EventCatController, api.LogLevelWARNING}, share.CLUSEvControllerLeadElect: {api.EventNameControllerLeadElect, api.EventCatController, api.LogLevelNOTICE}, share.CLUSEvAuthLogin: {api.EventNameAuthLogin, api.EventCatAuth, api.LogLevelINFO}, share.CLUSEvAuthLogout: {api.EventNameAuthLogout, api.EventCatAuth, api.LogLevelINFO}, share.CLUSEvAuthTimeout: {api.EventNameAuthTimeout, api.EventCatAuth, api.LogLevelNOTICE}, share.CLUSEvAuthLoginFailed: {api.EventNameAuthLoginFailed, api.EventCatAuth, api.LogLevelWARNING}, share.CLUSEvAuthLoginBlocked: {api.EventNameAuthLoginBlocked, api.EventCatAuth, api.LogLevelNOTICE}, share.CLUSEvAuthLoginUnblocked: {api.EventNameAuthLoginUnblocked, api.EventCatAuth, api.LogLevelINFO}, share.CLUSEvAuthUserPwdResetByAdmin: {api.EventNameAuthUserPwdRestByAdmin, api.EventCatAuth, api.LogLevelINFO}, share.CLUSEvAuthAccessDenied: {api.EventNameAuthAccessDenied, api.EventCatAuth, api.LogLevelWARNING}, share.CLUSEvRESTWrite: {api.EventNameRESTWrite, api.EventCatREST, api.LogLevelINFO}, share.CLUSEvRESTRead: {api.EventNameRESTRead, api.EventCatREST, api.LogLevelINFO}, share.CLUSEvScannerJoin: {api.EventNameScannerJoin, api.EventCatScan, api.LogLevelINFO}, share.CLUSEvScannerUpdate: {api.EventNameScannerUpdate, api.EventCatScan, api.LogLevelINFO}, share.CLUSEvScannerLeave: {api.EventNameScannerLeave, api.EventCatScan, api.LogLevelINFO}, share.CLUSEvScanFail: {api.EventNameScanFail, api.EventCatScan, api.LogLevelNOTICE}, share.CLUSEvScanSucceed: {api.EventNameScanSucceed, api.EventCatScan, api.LogLevelINFO}, share.CLUSEvBenchDockerFail: {api.EventNameBenchDockerFail, api.EventCatBench, api.LogLevelNOTICE}, share.CLUSEvBenchKubeFail: {api.EventNameBenchKubeFail, api.EventCatBench, api.LogLevelNOTICE}, share.CLUSEvLicenseUpdate: {api.EventNameLicenseUpdate, api.EventCatLicense, api.LogLevelINFO}, share.CLUSEvLicenseExpire: {api.EventNameLicenseExpire, api.EventCatLicense, api.LogLevelWARNING}, share.CLUSEvLicenseRemove: {api.EventNameLicenseRemove, api.EventCatLicense, api.LogLevelWARNING}, share.CLUSEvLicenseEnforcerLimitReached: {api.EventNameLicenseEnforcerLimitReached, api.EventCatLicense, api.LogLevelWARNING}, share.CLUSEvWorkloadQuarantined: {api.EventNameContainerQuarantined, api.EventCatWorkload, api.LogLevelINFO}, share.CLUSEvWorkloadUnquarantined: {api.EventNameContainerUnquarantined, api.EventCatWorkload, api.LogLevelINFO}, share.CLUSEvAdmCtrlK8sConfigured: {api.EventNameAdmCtrlK8sConfigured, api.EventCatAdmCtrl, api.LogLevelNOTICE}, share.CLUSEvAdmCtrlK8sConfigFailed: {api.EventNameAdmCtrlK8sConfigFailed, api.EventCatAdmCtrl, api.LogLevelCRIT}, share.CLUSEvInitCfgMapDone: {api.EventNameInitCfgMapDone, api.EventCatConfigMap, api.LogLevelINFO}, share.CLUSEvInitCfgMapError: {api.EventNameInitCfgMapError, api.EventCatConfigMap, api.LogLevelERR}, share.CLUSEvCrdImported: {api.EventNameCrdImported, api.EventCatCrd, api.LogLevelINFO}, share.CLUSEvCrdRemoved: {api.EventNameCrdRemoved, api.EventCatCrd, api.LogLevelINFO}, share.CLUSEvCrdErrDetected: {api.EventNameCrdErrDetected, api.EventCatCrd, api.LogLevelERR}, share.CLUSEvFedPromote: {api.EventNameFedPromote, api.EventCatFed, api.LogLevelINFO}, share.CLUSEvFedDemote: {api.EventNameFedDemote, api.EventCatFed, api.LogLevelINFO}, share.CLUSEvFedJoin: {api.EventNameFedJoin, api.EventCatFed, api.LogLevelINFO}, share.CLUSEvFedLeave: {api.EventNameFedLeave, api.EventCatFed, api.LogLevelNOTICE}, share.CLUSEvFedKick: {api.EventNameFedKick, api.EventCatFed, api.LogLevelINFO}, share.CLUSEvFedPolicySync: {api.EventNameFedPolicySync, api.EventCatFed, api.LogLevelINFO}, share.CLUSEvImport: {api.EventNameImport, api.EventCatConfig, api.LogLevelNOTICE}, share.CLUSEvExport: {api.EventNameExport, api.EventCatConfig, api.LogLevelNOTICE}, share.CLUSEvImportFail: {api.EventNameImportFail, api.EventCatConfig, api.LogLevelERR}, share.CLUSEvExportFail: {api.EventNameExportFail, api.EventCatConfig, api.LogLevelERR}, share.CLUSEvCloudScanRet: {api.EventNameCloudScanNormal, api.EventCatCloud, api.LogLevelINFO}, share.CLUSEvCloudScanAlert: {api.EventNameCloudScanAlert, api.EventCatCloud, api.LogLevelWARNING}, share.CLUSEvCloudScanFail: {api.EventNameCloudScanFail, api.EventCatCloud, api.LogLevelERR}, share.CLUSEvGroupAutoRemove: {api.EventNameGroupAutoRemove, api.EventCatGroup, api.LogLevelINFO}, share.CLUSEvMemoryPressureAgent: {api.EventNameMemoryPressureAgent, api.EventCatAgent, api.LogLevelWARNING}, share.CLUSEvMemoryPressureController: {api.EventNameMemoryPressureController, api.EventCatController, api.LogLevelWARNING}, }
View Source
var LogIncidentMap = map[share.TLogIncident]LogIncidentInfo{ share.CLUSIncidHostPrivilEscalate: {api.EventNameHostPrivilEscalate, api.LogLevelCRIT}, share.CLUSIncidContainerPrivilEscalate: {api.EventNameContainerPrivilEscalate, api.LogLevelCRIT}, share.CLUSIncidHostSuspiciousProcess: {api.EventNameHostSuspiciousProcess, api.LogLevelWARNING}, share.CLUSIncidContainerSuspiciousProcess: {api.EventNameContainerSuspiciousProcess, api.LogLevelWARNING}, share.CLUSIncidHostFileAccessViolation: {api.EventNameHostFileAccessViolation, api.LogLevelWARNING}, share.CLUSIncidContainerFileAccessViolation: {api.EventNameContainerFileAccessViolation, api.LogLevelWARNING}, share.CLUSIncidHostPackageUpdated: {api.EventNameHostPackageUpdated, api.LogLevelWARNING}, share.CLUSIncidContainerPackageUpdated: {api.EventNameContainerPackageUpdated, api.LogLevelWARNING}, share.CLUSIncidHostTunnel: {api.EventNameHostTunnelDetected, api.LogLevelWARNING}, share.CLUSIncidContainerTunnel: {api.EventNameContainerTunnelDetected, api.LogLevelWARNING}, share.CLUSIncidContainerProcessViolation: {api.EventNameProcessProfileViolation, api.LogLevelWARNING}, share.CLUSIncidHostProcessViolation: {api.EventNameHostProcessProfileViolation, api.LogLevelWARNING}, }
View Source
var LogThreatMap = map[uint32]LogThreatInfo{ C.THRT_ID_SYN_FLOOD: {"TCP.SYN.Flood"}, C.THRT_ID_ICMP_FLOOD: {"ICMP.Flood"}, C.THRT_ID_IP_SRC_SESSION: {"Source.IP.Session.Limit"}, C.THRT_ID_BAD_PACKET: {"Invalid.Packet.Format"}, C.THRT_ID_IP_TEARDROP: {"IP.Fragment.Teardrop"}, C.THRT_ID_TCP_SYN_DATA: {"TCP.SYN.With.Data"}, C.THRT_ID_TCP_SPLIT_HDSHK: {"TCP.Split.Handshake"}, C.THRT_ID_TCP_NODATA: {"TCP.No.Client.Data"}, C.THRT_ID_TCP_SMALL_WINDOW: {"TCP.Small.Window"}, C.THRT_ID_TCP_SMALL_MSS: {"TCP.SACK.DDoS.With.Small.MSS"}, C.THRT_ID_PING_DEATH: {"Ping.Death"}, C.THRT_ID_DNS_LOOP_PTR: {"DNS.Loop.Pointer"}, C.THRT_ID_SSH_VER_1: {"SSH.Version.1"}, C.THRT_ID_SSL_HEARTBLEED: {"SSL.Heartbleed"}, C.THRT_ID_SSL_CIPHER_OVF: {"SSL.Cipher.Overflow"}, C.THRT_ID_SSL_VER_2OR3: {"SSL.Version.2or3"}, C.THRT_ID_SSL_TLS_1DOT0: {"SSL.TLS1.0"}, C.THRT_ID_HTTP_NEG_LEN: {"HTTP.Negative.Body.Length"}, C.THRT_ID_HTTP_SMUGGLING: {"HTTP.Request.Smuggling"}, C.THRT_ID_HTTP_SLOWLORIS: {"HTTP.Request.Slowloris"}, C.THRT_ID_DNS_OVERFLOW: {"DNS.Stack.Overflow"}, C.THRT_ID_MYSQL_ACCESS_DENY: {"MySQL.Access.Deny"}, C.THRT_ID_DNS_ZONE_TRANSFER: {"DNS.Zone.Transfer"}, C.THRT_ID_ICMP_TUNNELING: {"ICMP.Tunneling"}, C.THRT_ID_DNS_TYPE_NULL: {"DNS.Type.Null"}, C.THRT_ID_SQL_INJECTION: {"SQL.Injection"}, C.THRT_ID_APACHE_STRUTS_RCE: {"Apache.Struts.Remote.Code.Execution"}, C.THRT_ID_DNS_TUNNELING: {"DNS.Tunneling"}, C.THRT_ID_K8S_EXTIP_MITM: {"K8S.externalIPs.MitM"}, }
View Source
var OEMClusterSecurityRuleGroup = "neuvector.com"
View Source
var OEMSecurityRuleGroup = "neuvector.com"
Functions ¶
func ActionString ¶
func CountVulTrait ¶
func FillVulDetails ¶
func FindProcessInProfile ¶
func FindProcessInProfile(list []*share.CLUSProcessProfileEntry, p *share.CLUSProcessProfileEntry) (int, bool)
func FindSensorInDlpGroup ¶
func FindSensorInDlpGroup(list []*share.CLUSDlpSetting, p *share.CLUSDlpSetting) (int, bool)
func FindSensorInWafGroup ¶
func FindSensorInWafGroup(list []*share.CLUSWafSetting, p *share.CLUSWafSetting) (int, bool)
func FsmonFilterToRest ¶
func GatherVulTrait ¶
func GetAvailablePolicyID ¶
First try to find the next largest policy ID of unlearned policies. If it cannot be located, try to find the smallest one. Return 0 if all IDs are used.
func GetComplianceMeta ¶
func GetComplianceMeta() ([]api.RESTBenchMeta, map[string]api.RESTBenchMeta)
func GetInternalDlpRuleName ¶
func GetInternalWafRuleName ¶
func GetOrigDlpRuleName ¶
func GetOrigWafRuleName ¶
func GetScannerDB ¶
func GetScannerDB() *share.CLUSScannerDB
func GetSecretBenchMessage ¶
func GetSetIDBenchMessage ¶
func ImageBench2REST ¶
func ImageBench2REST(cmds []string, secrets []*api.RESTScanSecret, setids []*api.RESTScanSetIdPerm, tagMap map[string][]string) []*api.RESTBenchItem
func LevelToString ¶
func MergeDlpSensors ¶
func MergeDlpSensors(list []*share.CLUSDlpSetting, p *share.CLUSDlpSetting) ([]*share.CLUSDlpSetting, bool)
func MergeProcess ¶
func MergeProcess(list []*share.CLUSProcessProfileEntry, p *share.CLUSProcessProfileEntry, bForcedUpdate bool) ([]*share.CLUSProcessProfileEntry, bool)
func MergeWafSensors ¶
func MergeWafSensors(list []*share.CLUSWafSetting, p *share.CLUSWafSetting) ([]*share.CLUSWafSetting, bool)
func OEMIgnoreImageRepo ¶
func OEMIgnoreWorkload ¶
func OEMIgnoreWorkload(wl *share.CLUSWorkload) bool
func OEMLicenseValidate ¶
func OEMLicenseValidate(info *api.RESTLicenseInfo) bool
func OEMPlatformVersionURL ¶
func OEMPlatformVersionURL() string
func PolicyActionRESTString ¶
func PolicyActionString ¶
func PolicyRuleIdToCfgType ¶
func PriorityToString ¶
func ScanModule2REST ¶
func ScanModule2REST(m *share.ScanModule) *api.RESTScanModule
func ScanRepoResult2REST ¶
func ScanRepoResult2REST(result *share.ScanResult, tagMap map[string][]string) *api.RESTScanRepoReport
func ScanSecrets2REST ¶
func ScanSecrets2REST(s *share.ScanSecretLog) *api.RESTScanSecret
func ScanSetIdPerm2REST ¶
func ScanSetIdPerm2REST(p *share.ScanSetIdPermLog) *api.RESTScanSetIdPerm
func ScanVul2REST ¶
func ScanVul2REST(cvedb CVEDBType, baseOS string, vul *share.ScanVulnerability) *api.RESTVulnerability
Functions can be used in both controllers and scanner
func SetScannerDB ¶
func SetScannerDB(newDB *share.CLUSScannerDB)
func SeverityString ¶
func ThreatName ¶
Types ¶
type CVEDBType ¶
type CVEDBType map[string]*share.ScanVulnerability
type DecryptUnmarshaller ¶
type DecryptUnmarshaller struct{}
func (DecryptUnmarshaller) Uncloak ¶
func (m DecryptUnmarshaller) Uncloak(data interface{}) error
func (DecryptUnmarshaller) Unmarshal ¶
func (m DecryptUnmarshaller) Unmarshal(raw []byte, data interface{}) error
type EmptyMarshaller ¶
type EmptyMarshaller struct{}
func (EmptyMarshaller) Marshal ¶
func (m EmptyMarshaller) Marshal(data interface{}) ([]byte, error)
type EncryptMarshaller ¶
type EncryptMarshaller struct{}
func (EncryptMarshaller) Marshal ¶
func (m EncryptMarshaller) Marshal(data interface{}) ([]byte, error)
type LocalDevice ¶
type LocalDevice struct { Host *share.CLUSHost Ctrler *share.CLUSController }
type LogAuditInfo ¶
type LogEventInfo ¶
type LogIncidentInfo ¶
type LogThreatInfo ¶
type LogThreatInfo struct {
Name string
}
Threat attributes are separated into two places. Eventually they will be generated from a single source
type MarshalInvalidTypeError ¶
type MarshalInvalidTypeError struct {
// contains filtered or unexported fields
}
func (MarshalInvalidTypeError) Error ¶
func (e MarshalInvalidTypeError) Error() string
type Marshaller ¶
type MaskMarshaller ¶
type MaskMarshaller struct{}
func (MaskMarshaller) Marshal ¶
func (m MaskMarshaller) Marshal(data interface{}) ([]byte, error)
type RPCEndpoint ¶
type RegTestMeg ¶
type RegTestMeg struct {
// contains filtered or unexported fields
}
type Syslogger ¶
type Syslogger struct {
// contains filtered or unexported fields
}
func NewSyslogger ¶
func NewSyslogger(cfg *share.CLUSSyslogConfig) *Syslogger
type Unmarshaller ¶
type VPFInterface ¶
type VPFInterface interface { GetUpdatedTime() time.Time FilterVulnerabilities(vuls []*api.RESTVulnerability, idns []api.RESTIDName, showTag string) []*api.RESTVulnerability FilterVulTraits(traits []*VulTrait, idns []api.RESTIDName) utils.Set // contains filtered or unexported methods }
func MakeVulnerabilityProfileFilter ¶
func MakeVulnerabilityProfileFilter(vf *api.RESTVulnerabilityProfile) VPFInterface
type VulTrait ¶
type VulTrait struct { Name string // contains filtered or unexported fields }
These are the unique attributes of vul. that can be different in different workload, other info can get from cvedb
func ExtractVulnerability ¶
func ExtractVulnerability(vuls []*share.ScanVulnerability) []*VulTrait
func (VulTrait) IsFiltered ¶
type Webhook ¶
type Webhook struct {
// contains filtered or unexported fields
}
func NewWebHook ¶
type WorkloadFilter ¶
Click to show internal directories.
Click to hide internal directories.