Documentation ¶
Index ¶
- Constants
- func NewProviderClient(c session.Session) (providers.ProviderClient, error)
- type AnalysisResultData
- func (ard AnalysisResultData) GetCategory() string
- func (ard AnalysisResultData) GetEngineName() string
- func (ard AnalysisResultData) GetMethod() string
- func (ard AnalysisResultData) GetResult() string
- func (ard AnalysisResultData) ResultHasAny(v []string) bool
- func (ard AnalysisResultData) ShouldOutput(sess *session.Session) bool
- type Client
- type Config
- type HostSearchResult
- type HostSearchResultData
- type LastAnalysisResults
- type Provider
- type ProviderClient
- func (c *ProviderClient) CreateTable(data []byte) (*table.Writer, error)
- func (c *ProviderClient) Enabled() bool
- func (c *ProviderClient) FindHost() ([]byte, error)
- func (c *ProviderClient) GetConfig() *session.Session
- func (c *ProviderClient) Initialise() error
- func (c *ProviderClient) Priority() int
Constants ¶
View Source
const ( ProviderName = "virustotal" APIURL = "https://www.virustotal.com" HostIPPath = "/api/v3/ip_addresses" IndentPipeHyphens = " |-----" ResultTTL = 12 * time.Hour )
Variables ¶
This section is empty.
Functions ¶
func NewProviderClient ¶
func NewProviderClient(c session.Session) (providers.ProviderClient, error)
Types ¶
type AnalysisResultData ¶
type AnalysisResultData struct { Method string `json:"method,omitempty"` EngineName string `json:"engine_name,omitempty"` Category string `json:"category,omitempty"` Result string `json:"result,omitempty"` }
func (AnalysisResultData) GetCategory ¶
func (ard AnalysisResultData) GetCategory() string
func (AnalysisResultData) GetEngineName ¶
func (ard AnalysisResultData) GetEngineName() string
func (AnalysisResultData) GetMethod ¶
func (ard AnalysisResultData) GetMethod() string
func (AnalysisResultData) GetResult ¶
func (ard AnalysisResultData) GetResult() string
func (AnalysisResultData) ResultHasAny ¶
func (ard AnalysisResultData) ResultHasAny(v []string) bool
func (AnalysisResultData) ShouldOutput ¶
func (ard AnalysisResultData) ShouldOutput(sess *session.Session) bool
type Client ¶
type Client struct { Config Config HTTPClient *retryablehttp.Client }
func (*Client) GetData ¶
func (c *Client) GetData() (result *HostSearchResult, err error)
type HostSearchResult ¶
type HostSearchResult struct { Raw []byte `json:"raw"` Error string `json:"error"` Data HostSearchResultData `json:"data,omitempty"` }
func (*HostSearchResult) CreateTable ¶
func (ssr *HostSearchResult) CreateTable() *table.Writer
type HostSearchResultData ¶
type HostSearchResultData struct { ID string `json:"id,omitempty"` Type string `json:"type,omitempty"` Links struct { Self string `json:"self,omitempty"` } `json:"links,omitempty"` Attributes struct { LastAnalysisStats struct { Malicious int `json:"malicious,omitempty"` Suspicious int `json:"suspicious,omitempty"` Undetected int `json:"undetected,omitempty"` Harmless int `json:"harmless,omitempty"` Timeout int `json:"timeout,omitempty"` } `json:"last_analysis_stats,omitempty"` LastAnalysisResults LastAnalysisResults `json:"last_analysis_results,omitempty"` LastModificationDate int `json:"last_modification_date,omitempty"` LastAnalysisDate int `json:"last_analysis_date,omitempty"` Whois string `json:"whois,omitempty"` WhoisDate int `json:"whois_date,omitempty"` Reputation int `json:"reputation,omitempty"` Country string `json:"country,omitempty"` TotalVotes struct { Harmless int `json:"harmless,omitempty"` Malicious int `json:"malicious,omitempty"` } `json:"total_votes,omitempty"` Continent string `json:"continent,omitempty"` Asn int `json:"asn,omitempty"` AsOwner string `json:"as_owner,omitempty"` Network string `json:"network,omitempty"` Tags []any `json:"tags,omitempty"` RegionalInternetRegistry string `json:"regional_internet_registry,omitempty"` } `json:"attributes,omitempty"` }
type LastAnalysisResults ¶
type LastAnalysisResults struct { Acronis struct { AnalysisResultData } `json:"Acronis,omitempty"` ZeroXSIF33D struct { AnalysisResultData } `json:"0xSI_f33d,omitempty"` Abusix struct { AnalysisResultData } `json:"Abusix,omitempty"` ADMINUSLabs struct { AnalysisResultData } `json:"ADMINUSLabs,omitempty"` CriminalIP struct { AnalysisResultData } `json:"Criminal IP,omitempty"` AILabsMONITORAPP struct { AnalysisResultData } `json:"AILabs (MONITORAPP),omitempty"` AlienVault struct { AnalysisResultData } `json:"AlienVault,omitempty"` AlphaMountainAi struct { AnalysisResultData } `json:"alphaMountain.ai,omitempty"` AlphaSOC struct { AnalysisResultData } `json:"AlphaSOC,omitempty"` AntiyAVL struct { AnalysisResultData } `json:"Antiy-AVL,omitempty"` ArcSightThreatIntelligence struct { AnalysisResultData } `json:"ArcSight Threat Intelligence,omitempty"` AutoShun struct { AnalysisResultData } `json:"AutoShun,omitempty"` BenkowCc struct { AnalysisResultData } `json:"benkow.cc,omitempty"` BforeAiPreCrime struct { AnalysisResultData } `json:"Bfore.Ai PreCrime,omitempty"` BitDefender struct { AnalysisResultData } `json:"BitDefender,omitempty"` Bkav struct { AnalysisResultData } `json:"Bkav,omitempty"` Blueliv struct { AnalysisResultData } `json:"Blueliv,omitempty"` Certego struct { AnalysisResultData } `json:"Certego,omitempty"` ChongLuaDao struct { AnalysisResultData } `json:"Chong Lua Dao,omitempty"` CINSArmy struct { AnalysisResultData } `json:"CINS Army,omitempty"` Cluster25 struct { AnalysisResultData } `json:"Cluster25,omitempty"` Crdf struct { AnalysisResultData } `json:"CRDF,omitempty"` CSISSecurityGroup struct { AnalysisResultData } `json:"CSIS Security Group,omitempty"` SnortIPSampleList struct { AnalysisResultData } `json:"Snort IP sample list,omitempty"` CMCThreatIntelligence struct { AnalysisResultData } `json:"CMC Threat Intelligence,omitempty"` Cyan struct { AnalysisResultData } `json:"Cyan,omitempty"` Cyble struct { AnalysisResultData } `json:"Cyble,omitempty"` CyRadar struct { AnalysisResultData } `json:"CyRadar,omitempty"` DNS8 struct { AnalysisResultData } `json:"DNS8,omitempty"` DrWeb struct { AnalysisResultData } `json:"Dr.Web,omitempty"` Ermes struct { AnalysisResultData } `json:"Ermes,omitempty"` Eset struct { AnalysisResultData } `json:"ESET,omitempty"` ESTsecurity struct { AnalysisResultData } `json:"ESTsecurity,omitempty"` EmergingThreats struct { AnalysisResultData } `json:"EmergingThreats,omitempty"` Emsisoft struct { AnalysisResultData } `json:"Emsisoft,omitempty"` ForcepointThreatSeeker struct { AnalysisResultData } `json:"Forcepoint ThreatSeeker,omitempty"` Fortinet struct { AnalysisResultData } `json:"Fortinet,omitempty"` GData struct { AnalysisResultData } `json:"G-Data,omitempty"` GoogleSafebrowsing struct { AnalysisResultData } `json:"Google Safebrowsing,omitempty"` GreenSnow struct { AnalysisResultData } `json:"GreenSnow,omitempty"` Gridinsoft struct { AnalysisResultData } `json:"Gridinsoft,omitempty"` HeimdalSecurity struct { AnalysisResultData } `json:"Heimdal Security,omitempty"` HuntIoIntelligence struct { AnalysisResultData } `json:"Hunt.io Intelligence,omitempty"` IPsum struct { AnalysisResultData } `json:"IPsum,omitempty"` JuniperNetworks struct { AnalysisResultData } `json:"Juniper Networks,omitempty"` K7AntiVirus struct { AnalysisResultData } `json:"K7AntiVirus,omitempty"` Kaspersky struct { AnalysisResultData } `json:"Kaspersky,omitempty"` Lionic struct { AnalysisResultData } `json:"Lionic,omitempty"` Lumu struct { AnalysisResultData } `json:"Lumu,omitempty"` MalwarePatrol struct { AnalysisResultData } `json:"MalwarePatrol,omitempty"` MalwareURL struct { AnalysisResultData } `json:"MalwareURL,omitempty"` Malwared struct { AnalysisResultData } `json:"Malwared,omitempty"` Netcraft struct { AnalysisResultData } `json:"Netcraft,omitempty"` OpenPhish struct { AnalysisResultData } `json:"OpenPhish,omitempty"` PhishingDatabase struct { AnalysisResultData } `json:"Phishing Database,omitempty"` PhishFort struct { AnalysisResultData } `json:"PhishFort,omitempty"` PhishLabs struct { AnalysisResultData } `json:"PhishLabs,omitempty"` Phishtank struct { AnalysisResultData } `json:"Phishtank,omitempty"` Prebytes struct { AnalysisResultData } `json:"PREBYTES,omitempty"` PrecisionSec struct { AnalysisResultData } `json:"PrecisionSec,omitempty"` QuickHeal struct { AnalysisResultData } `json:"Quick Heal,omitempty"` Quttera struct { AnalysisResultData } `json:"Quttera,omitempty"` SafeToOpen struct { AnalysisResultData } `json:"SafeToOpen,omitempty"` SansecEComscan struct { AnalysisResultData } `json:"Sansec eComscan,omitempty"` Scantitan struct { AnalysisResultData } `json:"Scantitan,omitempty"` SCUMWAREOrg struct { AnalysisResultData } `json:"SCUMWARE.org,omitempty"` Seclookup struct { AnalysisResultData } `json:"Seclookup,omitempty"` SecureBrain struct { AnalysisResultData } `json:"SecureBrain,omitempty"` Segasec struct { AnalysisResultData } `json:"Segasec,omitempty"` SOCRadar struct { AnalysisResultData } `json:"SOCRadar,omitempty"` Sophos struct { AnalysisResultData } `json:"Sophos,omitempty"` Spam404 struct { AnalysisResultData } `json:"Spam404,omitempty"` StopForumSpam struct { AnalysisResultData } `json:"StopForumSpam,omitempty"` SucuriSiteCheck struct { AnalysisResultData } `json:"Sucuri SiteCheck,omitempty"` ThreatHive struct { AnalysisResultData } `json:"ThreatHive,omitempty"` Threatsourcing struct { AnalysisResultData } `json:"Threatsourcing,omitempty"` Trustwave struct { AnalysisResultData } `json:"Trustwave,omitempty"` Underworld struct { AnalysisResultData } `json:"Underworld,omitempty"` URLhaus struct { AnalysisResultData } `json:"URLhaus,omitempty"` URLQuery struct { AnalysisResultData } `json:"URLQuery,omitempty"` ViettelThreatIntelligence struct { AnalysisResultData } `json:"Viettel Threat Intelligence,omitempty"` Vipre struct { AnalysisResultData } `json:"VIPRE,omitempty"` VXVault struct { AnalysisResultData } `json:"VX Vault,omitempty"` ViriBack struct { AnalysisResultData } `json:"ViriBack,omitempty"` Webroot struct { AnalysisResultData } `json:"Webroot,omitempty"` YandexSafebrowsing struct { AnalysisResultData } `json:"Yandex Safebrowsing,omitempty"` ZeroCERT struct { AnalysisResultData } `json:"ZeroCERT,omitempty"` DesenmascaraMe struct { AnalysisResultData } `json:"desenmascara.me,omitempty"` MalwaresComURLChecker struct { AnalysisResultData } `json:"malwares.com URL checker,omitempty"` Securolytics struct { AnalysisResultData } `json:"securolytics,omitempty"` XcitiumVerdictCloud struct { AnalysisResultData } `json:"Xcitium Verdict Cloud,omitempty"` Zvelo struct { AnalysisResultData } `json:"zvelo,omitempty"` }
func (LastAnalysisResults) GetTableRows ¶
func (LastAnalysisResults) ShouldOutput ¶
func (lra LastAnalysisResults) ShouldOutput(sess *session.Session) bool
type ProviderClient ¶
func (*ProviderClient) CreateTable ¶
func (c *ProviderClient) CreateTable(data []byte) (*table.Writer, error)
func (*ProviderClient) Enabled ¶
func (c *ProviderClient) Enabled() bool
func (*ProviderClient) FindHost ¶
func (c *ProviderClient) FindHost() ([]byte, error)
func (*ProviderClient) GetConfig ¶
func (c *ProviderClient) GetConfig() *session.Session
func (*ProviderClient) Initialise ¶
func (c *ProviderClient) Initialise() error
func (*ProviderClient) Priority ¶
func (c *ProviderClient) Priority() int
Click to show internal directories.
Click to hide internal directories.