 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
- type Affects
- type BaseMetricV2
- type BaseMetricV3
- type CPEMatch
- type CPEName
- type CPEReference
- type CPEReferenceType
- type CPEResponse
- type CPEResult
- type CVE
- type CVECPEName
- type CVEDataMeta
- type CVEFinding
- type CVEItem
- type CVEReference
- type CVEReferences
- type CVEResponse
- type CVEResult
- type CVSSV2
- type CVSSV3
- type Configurations
- type Description
- type Entry
- type Finding
- type FindingRequest
- type Host
- type Impact
- type LangString
- type Node
- type Port
- type ProblemType
- type ProblemTypeData
- type Product
- type RiskScore
- type Service
- type SiriusAgent
- type Star
- type Task
- type TaskResponse
- type TerminalHistory
- type Title
- type Vendor
- type VendorData
- type VendorProduct
- type Version
- type VersionData
- type Vulnerability
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BaseMetricV2 ¶ added in v0.0.3
type BaseMetricV2 struct {
	CVSSV2                  CVSSV2  `json:"cvssV2"`
	Severity                string  `json:"severity"`
	ExploitabilityScore     float64 `json:"exploitabilityScore"`
	ImpactScore             float64 `json:"impactScore"`
	AcInsufInfo             bool    `json:"acInsufInfo"`
	ObtainAllPrivilege      bool    `json:"obtainAllPrivilege"`
	ObtainUserPrivilege     bool    `json:"obtainUserPrivilege"`
	ObtainOtherPrivilege    bool    `json:"obtainOtherPrivilege"`
	UserInteractionRequired bool    `json:"userInteractionRequired"`
}
    type BaseMetricV3 ¶ added in v0.0.3
type CPEMatch ¶ added in v0.0.3
type CPEMatch struct {
	Vulnerable            bool         `json:"vulnerable"`
	CPE22URI              string       `json:"cpe22Uri,omitempty"`
	CPE23URI              string       `json:"cpe23Uri"`
	VersionStartExcluding string       `json:"versionStartExcluding,omitempty"`
	VersionStartIncluding string       `json:"versionStartIncluding,omitempty"`
	VersionEndExcluding   string       `json:"versionEndExcluding,omitempty"`
	VersionEndIncluding   string       `json:"versionEndIncluding,omitempty"`
	CPEName               []CVECPEName `json:"cpe_name,omitempty"`
}
    CPEMatch is the CPE Match string or range as defined in the NIST API schema.
type CPEName ¶ added in v0.0.3
type CPEName struct {
	CPE23URI         string         `json:"cpe23Uri"`
	LastModifiedDate string         `json:"lastModifiedDate"`
	Deprecated       bool           `json:"deprecated,omitempty"`
	DeprecatedBy     []string       `json:"deprecatedBy,omitempty"`
	Titles           []Title        `json:"titles,omitempty"`
	Refs             []CPEReference `json:"refs,omitempty"`
	Vulnerabilities  []string       `json:"vulnerabilities,omitempty"`
}
    CPE name
type CPEReference ¶ added in v0.0.3
type CPEReference struct {
	Ref  string           `json:"ref"`
	Type CPEReferenceType `json:"type,omitempty"`
}
    Internet resource for CPE
type CPEReferenceType ¶ added in v0.0.3
type CPEReferenceType string
var ( ADVISORY CPEReferenceType = "Advisory" CHANGE_LOG CPEReferenceType = "Change Log" PRODUCT CPEReferenceType = "Product" PROJECT CPEReferenceType = "Project" VENDOR CPEReferenceType = "Vendor" VERSION CPEReferenceType = "Version" )
type CPEResponse ¶ added in v0.0.3
type CVE ¶ added in v0.0.3
type CVE struct {
	DataType    string        `json:"data_type"`
	DataFormat  string        `json:"data_format"`
	DataVersion string        `json:"data_version"`
	CVEDataMeta CVEDataMeta   `json:"cve_data_meta"`
	Affects     *Affects      `json:"affects,omitempty"`
	ProblemType ProblemType   `json:"problemtype"`
	References  CVEReferences `json:"references"`
	Description Description   `json:"description"`
}
    CVE as defined in the NIST API schema.
type CVECPEName ¶ added in v0.0.3
type CVECPEName struct {
	CPE22URI         string `json:"cpe22Uri,omitempty"`
	CPE23URI         string `json:"cpe23Uri"`
	LastModifiedDate string `json:"lastModifiedDate,omitempty"`
}
    CPEName is the CPE name as defined in the NIST API schema.
type CVEDataMeta ¶ added in v0.0.3
type CVEFinding ¶ added in v0.0.3
type CVEFinding struct {
	CVEDataType         string  `json:"cvedatatype"`
	CVEDataFormat       string  `json:"cvedataformat"`
	CVEDataVersion      string  `json:"cvedataversion"`
	CVEDataNumberOfCVEs *string `json:"cvedatanumberofcves,omitempty"`
	CVEDataTimestamp    string  `json:"cvedatatimestamp"`
	CVEDataMeta         CVEDataMeta
	Description         Description `json:"description"`
}
    type CVEItem ¶ added in v0.0.3
type CVEItem struct {
	CVE              CVE            `json:"cve"`
	Configurations   Configurations `json:"configurations,omitempty"`
	Impact           *Impact        `json:"impact,omitempty"`
	PublishedDate    *string        `json:"publishedDate,omitempty"`
	LastModifiedDate *string        `json:"lastModifiedDate,omitempty"`
}
    CVEITEM defines a vulnerability in the NVD data feed as defined in the NIST API schema.
type CVEReference ¶ added in v0.0.3
type CVEReferences ¶ added in v0.0.3
type CVEReferences struct {
	// ReferenceData has a minimum of 0 and a maximum of 500
	// items according to the NIST API schema.
	ReferenceData []CVEReference `json:"reference_data"`
}
    type CVEResponse ¶ added in v0.0.3
type CVEResult ¶ added in v0.0.3
type CVEResult struct {
	CVEDataType         string     `json:"CVE_data_type"`
	CVEDataFormat       string     `json:"CVE_data_format"`
	CVEDataVersion      string     `json:"CVE_data_version"`
	CVEDataNumberOfCVEs *string    `json:"CVE_data_numberOfCVEs,omitempty"`
	CVEDataTimestamp    string     `json:"CVE_data_timestamp"`
	CVEItems            *[]CVEItem `json:"CVE_Items,omitempty"`
}
    type CVSSV2 ¶ added in v0.0.3
type CVSSV2 struct {
	Version                    string  `json:"version"`
	VectorString               string  `json:"vectorString"`
	AccessVector               string  `json:"accessVector"`
	AccessComplexity           string  `json:"accessComplexity"`
	Authentication             string  `json:"authentication"`
	ConfidentialityImpact      string  `json:"confidentialityImpact"`
	IntegrityImpact            string  `json:"integrityImpact"`
	AvailabilityImpact         string  `json:"availabilityImpact"`
	BaseScore                  float64 `json:"baseScore"`
	Exploitability             string  `json:"exploitability"`
	RemediationLevel           string  `json:"remediationLevel"`
	ReportConfidence           string  `json:"reportConfidence"`
	TemporalScore              float64 `json:"temporalScore"`
	CollateralDamagePotential  string  `json:"collateralDamagePotential"`
	TargetDistribution         string  `json:"targetDistribution"`
	ConfidentialityRequirement string  `json:"confidentialityRequirement"`
	IntegrityRequirement       string  `json:"integrityRequirement"`
	AvailabilityRequirement    string  `json:"availabilityRequirement"`
	EnvironmentalScore         float64 `json:"environmentalScore"`
}
    type CVSSV3 ¶ added in v0.0.3
type CVSSV3 struct {
	Version                       string  `json:"version"`
	VectorString                  string  `json:"vectorString"`
	AttackVector                  string  `json:"attackVector"`
	AttackComplexity              string  `json:"attackComplexity"`
	PrivilegesRequired            string  `json:"privilegesRequired"`
	UserInteraction               string  `json:"userInteraction"`
	Scope                         string  `json:"scope"`
	ConfidentialityImpact         string  `json:"confidentialityImpact"`
	IntegrityImpact               string  `json:"integrityImpact"`
	AvailabilityImpact            string  `json:"availabilityImpact"`
	BaseScore                     float64 `json:"baseScore"`
	BaseSeverity                  string  `json:"baseSeverity"`
	ExploitCodeMaturity           string  `json:"exploitCodeMaturity"`
	RemediationLevel              string  `json:"remediationLevel"`
	ReportConfidence              string  `json:"reportConfidence"`
	TemporalScore                 float64 `json:"temporalScore"`
	TemporalSeverity              string  `json:"temporalSeverity"`
	ConfidentialityRequirement    string  `json:"confidentialityRequirement"`
	IntegrityRequirement          string  `json:"integrityRequirement"`
	AvailabilityRequirement       string  `json:"availabilityRequirement"`
	ModifiedAttackVector          string  `json:"modifiedAttackVector"`
	ModifiedAttackComplexity      string  `json:"modifiedAttackComplexity"`
	ModifiedPrivilegesRequired    string  `json:"modifiedPrivilegesRequired"`
	ModifiedUserInteraction       string  `json:"modifiedUserInteraction"`
	ModifiedScope                 string  `json:"modifiedScope"`
	ModifiedConfidentialityImpact string  `json:"modifiedConfidentialityImpact"`
	ModifiedIntegrityImpact       string  `json:"modifiedIntegrityImpact"`
	ModifiedAvailabilityImpact    string  `json:"modifiedAvailabilityImpact"`
	EnvironmentalScore            float64 `json:"environmentalScore"`
	EnvironmentalSeverity         string  `json:"environmentalSeverity"`
}
    type Configurations ¶ added in v0.0.3
type Configurations struct {
	CVEDataVersion string `json:"CVE_data_version"`
	Nodes          []Node `json:"nodes,omitempty"`
}
    Configurations defines the set of product configurations for a NVD applicability statement as defined in the NIST API schema.
type Description ¶ added in v0.0.3
type Description struct {
	// DescriptionData has a minimum of 0 items according to
	// the NIST API schema.
	Value string `json:"value"`
}
    type FindingRequest ¶ added in v0.0.3
type Host ¶ added in v0.0.3
type Host struct {
	HID             string          `gorm:"primaryKey" json:"hid"`
	OS              string          `json:"os"`
	OSVersion       string          `json:"osversion"`
	IP              string          `json:"ip"`
	Hostname        string          `json:"hostname"`
	Ports           []Port          `json:"ports"`
	Services        []Service       `json:"services,omitempty"`
	Vulnerabilities []Vulnerability `json:"vulnerabilities,omitempty"`
	CPE             []string        `json:"cpe"`
	Users           []string        `json:"users"`
	Notes           []string        `json:"notes"`
	Agent           *SiriusAgent    `json:"agent,omitempty"`
}
    type Impact ¶ added in v0.0.3
type Impact struct {
	BaseMetricV3 BaseMetricV3 `json:"baseMetricV3,omitempty"`
	BaseMetricV2 BaseMetricV2 `json:"baseMetricV2,omitempty"`
}
    Impact scores for a vulnerability as found on NVD as defined in the NIST API schema.
type LangString ¶ added in v0.0.3
type Node ¶ added in v0.0.3
type Node struct {
	Operator string     `json:"operator,omitempty"`
	Negate   bool       `json:"negate,omitempty"`
	Children []Node     `json:"children,omitempty"`
	CPEMatch []CPEMatch `json:"cpe_match,omitempty"`
}
    Node is a node or sub-node in an NVD applicability statement as defined in the NIST API schema.
type ProblemType ¶ added in v0.0.3
type ProblemType struct {
	// ProblemTypeData has a minimum of 0 items according to the
	// NIST API schema.
	ProblemTypeData []ProblemTypeData `json:"problemtype_data"`
}
    type ProblemTypeData ¶ added in v0.0.3
type ProblemTypeData struct {
	// Description has a minimum of 0 items according to the
	// NIST API schema.
	Description []LangString `json:"description"`
}
    type RiskScore ¶ added in v0.0.3
type RiskScore struct {
	CVSSV3 BaseMetricV3 `json:"CVSSV3,omitempty"`
	CVSSV2 BaseMetricV2 `json:"CVSSV2,omitempty"`
}
    type SiriusAgent ¶ added in v0.0.3
type TaskResponse ¶ added in v0.0.3
type TerminalHistory ¶ added in v0.0.3
type Vendor ¶ added in v0.0.3
type Vendor struct {
	// VendorData has a minimum of 0 items according to the
	// NIST API schema.
	VendorData []VendorData `json:""`
}
    type VendorData ¶ added in v0.0.3
type VendorData struct {
	VendorName string        `json:"vendor_name"`
	Product    VendorProduct `json:"product"`
}
    type VendorProduct ¶ added in v0.0.3
type VendorProduct struct {
	// ProductData has a minimum of 1 item according to the
	// NIST API schema.
	ProductData []Product `json:"product_data"`
}
    type Version ¶ added in v0.0.3
type Version struct {
	// VersionData has a minimum of 1 item according to the
	// NIST API schema.
	VersionData []VersionData `json:"version_data"`
}
    type VersionData ¶ added in v0.0.3
type Vulnerability ¶ added in v0.0.3
type Vulnerability struct {
	VID         string  `json:"vid"`
	Description string  `json:"description"`
	Title       string  `json:"title"`
	RiskScore   float64 `json:"riskScore,omitempty"`
	// Enhanced metadata fields for script detection
	CVEID       string   `json:"cve_id,omitempty"`
	CVSSScore   float64  `json:"cvss_score,omitempty"`
	CVSSVector  string   `json:"cvss_vector,omitempty"`
	Severity    string   `json:"severity,omitempty"`
	Remediation string   `json:"remediation,omitempty"`
	Category    string   `json:"category,omitempty"`
	Tags        []string `json:"tags,omitempty"`
	Confidence  float64  `json:"confidence,omitempty"`
	// Additional metadata as JSON
	Metadata map[string]interface{} `json:"metadata,omitempty"`
}
    ========================= Vulnerability =========================