Documentation
¶
Overview ¶
Package vulnerability implements the STIX 2.1 Vulnerability object.
The following information comes directly from the STIX 2.1 specification.
A Vulnerability is a weakness or defect in the requirements, designs, or implementations of the computational logic (e.g., code) found in software and some hardware components (e.g., firmware) that can be directly exploited to negatively impact the confidentiality, integrity, or availability of that system.
CVE is a list of information security vulnerabilities and exposures that provides common names for publicly known problems [CVE]. For example, if a piece of malware exploits CVE-2015-12345, a Malware object could be linked to a Vulnerability object that references CVE-2015-12345.
The Vulnerability SDO is primarily used to link to external definitions of vulnerabilities or to describe 0-day vulnerabilities that do not yet have an external definition. Typically, other SDOs assert relationships to Vulnerability objects when a specific vulnerability is targeted and exploited as part of malicious cyber activity. As such, Vulnerability objects can be used as a linkage to the asset management and compliance process.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Vulnerability ¶
type Vulnerability struct {
objects.CommonObjectProperties `bson:",inline"`
properties.NameProperty `bson:",inline"`
properties.DescriptionProperty `bson:",inline"`
}
Vulnerability - This type implements the STIX 2 Vulnerability SDO and defines all of the properties and methods needed to create and work with this object. All of the methods not defined local to this type are inherited from the individual properties.
func Decode ¶ added in v0.6.1
func Decode(data []byte) (*Vulnerability, error)
Decode - This function is a simple wrapper for decoding JSON data. It will decode a slice of bytes into an actual struct and return a pointer to that object along with any errors.
func New ¶
func New() *Vulnerability
New - This function will create a new STIX Vulnerability object and return it as a pointer. It will also initialize the object by setting all of the basic properties.
func (*Vulnerability) Encode ¶ added in v0.6.1
func (o *Vulnerability) Encode() ([]byte, error)
Encode - This method is a simple wrapper for encoding an object into JSON
func (*Vulnerability) EncodeToString ¶ added in v0.6.1
func (o *Vulnerability) EncodeToString() (string, error)
EncodeToString - This method is a simple wrapper for encoding an object into JSON
func (*Vulnerability) GetPropertyList ¶ added in v0.6.1
func (o *Vulnerability) GetPropertyList() []string
GetPropertyList - This method will return a list of all of the properties that are unique to this object. This is used by the custom UnmarshalJSON for this object. It is defined here in this file to make it easy to keep in sync.
func (*Vulnerability) UnmarshalJSON ¶ added in v0.6.1
func (o *Vulnerability) UnmarshalJSON(b []byte) error
UnmarshalJSON - This method will over write the default UnmarshalJSON method to enable custom properties that this library does not know about. It will store them as map where the value of each key is a byte arrays. This way a tool that does know how to deal with them can then further process them after this is done. This will also allow the storage of the raw JSON data.
func (*Vulnerability) Valid ¶ added in v0.6.1
func (o *Vulnerability) Valid() (bool, int, map[string]string)
Valid - This method will verify and test all of the properties on an object to make sure they are valid per the specification. It will return a boolean, an integer that tracks the number of problems found, and a slice of strings that contain the detailed results, whether good or bad.