Documentation
¶
Overview ¶
Package exploitable implements exploitability tests.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AIUnexploitableTest ¶
type AIUnexploitableTest struct {
reachability.BaseTest
}
AIUnexploitableTest checks if AI analysis determines the vulnerability is unexploitable.
func NewAIUnexploitableTest ¶
func NewAIUnexploitableTest() *AIUnexploitableTest
NewAIUnexploitableTest creates a new test.
func (*AIUnexploitableTest) Evaluate ¶
func (t *AIUnexploitableTest) Evaluate(ctx *reachability.EvalContext) (*reachability.TestResult, error)
Evaluate runs the test. NOTE: This test has inverted semantics - Pass=true means SAFE (unexploitable)
type CommunityBuzzTest ¶
type CommunityBuzzTest struct {
reachability.BaseTest
}
CommunityBuzzTest checks for active exploitation discussion in security community.
func NewCommunityBuzzTest ¶
func NewCommunityBuzzTest() *CommunityBuzzTest
NewCommunityBuzzTest creates a new test.
func (*CommunityBuzzTest) Evaluate ¶
func (t *CommunityBuzzTest) Evaluate(ctx *reachability.EvalContext) (*reachability.TestResult, error)
Evaluate runs the test.
type EPSSLowRiskTest ¶
type EPSSLowRiskTest struct {
reachability.BaseTest
}
EPSSLowRiskTest checks if EPSS indicates low exploitation probability.
func NewEPSSLowRiskTest ¶
func NewEPSSLowRiskTest() *EPSSLowRiskTest
NewEPSSLowRiskTest creates a new test.
func (*EPSSLowRiskTest) Evaluate ¶
func (t *EPSSLowRiskTest) Evaluate(ctx *reachability.EvalContext) (*reachability.TestResult, error)
Evaluate runs the test. Note: Pass=true means EPSS is LOW (risk mitigated), Pass=false means EPSS is HIGH (risk exists).
type ExtensivePatchingTest ¶
type ExtensivePatchingTest struct {
reachability.BaseTest
}
ExtensivePatchingTest checks if the vulnerability required multiple patch iterations.
func NewExtensivePatchingTest ¶
func NewExtensivePatchingTest() *ExtensivePatchingTest
NewExtensivePatchingTest creates a new test.
func (*ExtensivePatchingTest) Evaluate ¶
func (t *ExtensivePatchingTest) Evaluate(ctx *reachability.EvalContext) (*reachability.TestResult, error)
Evaluate runs the test.
type PublicExploitsTest ¶
type PublicExploitsTest struct {
reachability.BaseTest
}
PublicExploitsTest checks for multiple public exploits.
func NewPublicExploitsTest ¶
func NewPublicExploitsTest() *PublicExploitsTest
NewPublicExploitsTest creates a new test.
func (*PublicExploitsTest) Evaluate ¶
func (t *PublicExploitsTest) Evaluate(ctx *reachability.EvalContext) (*reachability.TestResult, error)
Evaluate runs the test.
type WeakCryptographyTest ¶
type WeakCryptographyTest struct {
reachability.BaseTest
}
WeakCryptographyTest checks if the attack path involves weak cryptography.
func NewWeakCryptographyTest ¶
func NewWeakCryptographyTest() *WeakCryptographyTest
NewWeakCryptographyTest creates a new test.
func (*WeakCryptographyTest) Evaluate ¶
func (t *WeakCryptographyTest) Evaluate(ctx *reachability.EvalContext) (*reachability.TestResult, error)
Evaluate runs the test.