ClearBlue
|
Public Member Functions | |
SrcMustReachSinkVulnerability (const char *Name, BugDescription::BugImportance Importance=BugDescription::BI_MEDIUM, BugDescription::BugClassification Classification=BugDescription::BC_SECURITY, const char *Desc="CUSTOMIZED") | |
Public Member Functions inherited from SailFishVulnerability | |
SailFishVulnerability (VulnerabilityCategoryType CTy, const char *Name, const BugDescription::BugImportance Importance, const BugDescription::BugClassification Classification, const char *Desc) | |
virtual void | setSources (const SymbolicExprGraph *SEG, std::vector< ValueSitePairType > &Sources) |
virtual Vulnerability::SiteType | checkSite (const SEGSiteBase *CurrSite, const VulnerabilityTraceBuilder &TraceHistory) override |
virtual bool | isSource (SEGNodeBase *Node, SEGSiteBase *Site) |
virtual bool | isSink (SEGNodeBase *Node, SEGSiteBase *Site) |
virtual void | setPrerequisites (SymbolicExprGraphSolver *Solver, const SEGSiteBase *CurrSite, const VulnerabilityTraceBuilder &TraceHistory, SMTExprVec &Prerequisites) override |
virtual void | transfer (const SEGSiteBase *Site, const SEGNodeBase *Arg, std::vector< const SEGNodeBase * > &TransferDsts) |
Public Member Functions inherited from Vulnerability | |
virtual bool | checkNode (const SEGNodeBase *CurrNode, const VulnerabilityTraceBuilder &TraceHistory) |
virtual bool | checkTrace (std::shared_ptr< VulnerabilityTrace > &Trace) |
VulnerabilityCategoryType | getCategoryType () const |
bool | isParasitical () const |
void | setParasitical (bool B) |
const char * | getDescription () |
Return the description of the vulnerability. | |
BugDescription::BugImportance | getImportance () const |
BugDescription::BugClassification | getClassification () const |
const char * | getName () |
Return the name of the vulnerability. | |
virtual PSAReportDecoratorDefault * | allocNewDecorator () |
virtual void | destroyDecorator (PSAReportDecoratorDefault *decorator) |
virtual void | getAnalysisUsage (AnalysisUsage &AU) |
virtual void | initializeAnalysis (Pass *P) |
Additional Inherited Members | |
Public Types inherited from Vulnerability | |
enum | SiteType { ST_Return = 1 << 0, ST_Call = 1 << 1, ST_Sink = 1 << 2, ST_Others = 1 << 3 } |
enum | VulnerabilityCategoryType { VCT_Begin, VCT_SinkMustReach, VCT_SinkMustNotReach, VCT_Taint, VCT_End } |
typedef std::pair< const SEGOperandNode *, const SEGSiteBase * > | ValueSitePairType |
Static Public Member Functions inherited from SailFishVulnerability | |
static bool | classof (const Vulnerability *vuln) |