design

package
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 17, 2022 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var FindingEventResult = ResultType("event", func() {
	Attributes(func() {
		Attribute("id", String, "Finding event ID", func() {
			Example("9cf0b778-08cc-49f9-8d57-fa0a560f7522")
		})
		Attribute("finding_id", String, "Finding ID", func() {
			Example("97db1956-b15c-4b50-ae06-fd1e7be57963")
		})
		Attribute("source_id", String, "Source ID", func() {
			Example("490eef40-b689-4bf4-bb38-c6a2d16545d1")
		})
		Attribute("score", Float32, "Finding severity score", func() {
			Example(7.0)
		})
		Attribute("time", String, "Event time", func() {
			Example("2019-06-08 11:16:40")
		})
	})
})
View Source
var FindingResource = MapOf(String, String)
View Source
var FindingResourceGroup = ResultType("resource_group", func() {
	Attributes(func() {
		Attribute("name", String, "Name of the resource group", func() {
			Example("Network Resources")
		})
		Attribute("attributes", ArrayOf(String), "Column names of the resource group in the order that should be rendered", func() {
			Example([]string{"Hostname", "Port", "Protocol", "Service"})
		})
		Attribute("resources", ArrayOf(FindingResource), "List containing the resource rows as hashmap", func() {
			Example([]map[string]string{
				map[string]string{
					"Hostname": "adevinta.com",
					"Port":     "443",
					"Protocol": "tcp",
					"Service":  "www",
				},
			})
		})
	})
})
View Source
var FindingResult = ResultType("finding", func() {
	Attributes(func() {
		Attribute("id", String, "Finding ID", func() {
			Example("97db1956-b15c-4b50-ae06-fd1e7be57963")
		})
		Attribute("issue", IssueResult, "Issue")
		Attribute("target", TargetResult, "Target")
		Attribute("source", SourceResultNoTarget, "Source")
		Attribute("details", String, "Finding details", func() {
			Example("TLSv1 is enabled and the server supports at least one cipher")
		})
		Attribute("impact_details", String, "Finding impact details", func() {
			Example("The remote service encrypts traffic using an older version of TLS.")
		})
		Attribute("status", String, "Finding status. Can be 'OPEN' or 'FIXED'.", func() {
			Example("OPEN")
		})
		Attribute("score", Float32, "Finding severity score", func() {
			Example(7.0)
		})
		Attribute("resources", ArrayOf(FindingResourceGroup), "Other resources associated with the finding")
	})
})
View Source
var IssueResult = ResultType("issue", func() {
	Attributes(func() {
		Attribute("id", String, "Issue ID", func() {
			Example("234ec73f-74c8-400f-be73-27dae8e5ff16")
		})
		Attribute("summary", String, "Issue summary", func() {
			Example("TLS Version 1.0 Protocol Detection")
		})
		Attribute("cwe_id", Int, "Common Weakness Enumeration ID", func() {
			Example(216)
		})
		Attribute("description", String, "Issue description", func() {
			Example("The remote service accepts connections encrypted using TLS 1.0. TLS 1.0 has a" +
				"\nnumber of cryptographic design flaws. Modern implementations of TLS 1.0\nmitigate " +
				"these problems, but newer versions of TLS like 1.1 and 1.2 are\ndesigned against these " +
				"flaws and should be used whenever possible.\n\nPCI DSS v3.2 requires that TLS 1.0 be disabled " +
				"entirely by June 30,\n2018, except for POS POI terminals (and the SSL/TLS termination\npoints " +
				"to which they connect) that can be verified as not being\nsusceptible to any known exploits.")
		})
		Attribute("recommendations", ArrayOf(String), "Recommendations to fix the issue", func() {
			Example([]string{"Enable support for TLS 1.1 and 1.2, and disable support for TLS 1.0."})
		})
		Attribute("reference_links", ArrayOf(String), "Documentation reference for the issue", func() {
			Example([]string{"http://www.example.com"})
		})
		Attribute("labels", ArrayOf(String), "Labels associated with the issue", func() {
			Example([]string{"Web,TLS"})
		})
	})
})
View Source
var IssueStatsResult = ResultType("issue_stats", func() {
	Attributes(func() {
		Attribute("id", String, "Issue ID", func() {
			Example("234ec73f-74c8-400f-be73-27dae8e5ff16")
		})
		Attribute("summary", String, "Issue summary", func() {
			Example("TLS Version 1.0 Protocol Detection")
		})
		Attribute("cwe_id", Int, "Common Weakness Enumeration ID")
		Attribute("description", String, "Issue description", func() {
			Example("The remote service accepts connections encrypted using TLS 1.0. TLS 1.0 has a" +
				"\nnumber of cryptographic design flaws. Modern implementations of TLS 1.0\nmitigate " +
				"these problems, but newer versions of TLS like 1.1 and 1.2 are\ndesigned against these " +
				"flaws and should be used whenever possible.\n\nPCI DSS v3.2 requires that TLS 1.0 be disabled " +
				"entirely by June 30,\n2018, except for POS POI terminals (and the SSL/TLS termination\npoints " +
				"to which they connect) that can be verified as not being\nsusceptible to any known exploits.")
		})
		Attribute("recommendations", ArrayOf(String), "Recommendations to fix the issue", func() {
			Example([]string{"Enable support for TLS 1.1 and 1.2, and disable support for TLS 1.0."})
		})
		Attribute("reference_links", ArrayOf(String), "Documentation reference for the issue", func() {
			Example([]string{"http://www.example.com"})
		})
		Attribute("open", Int, "Number of OPEN findings for this issue", func() {
			Example(1)
		})
		Attribute("fixed", Int, "Number of FIXED findings for this issue", func() {
			Example(3)
		})

	})
})
View Source
var IssueSummaryResult = ResultType("issue_summary", func() {
	Attributes(func() {
		Attribute("issue_id", String, "Issue ID", func() {
			Example("234ec73f-74c8-400f-be73-27dae8e5ff16")
		})
		Attribute("summary", String, "Issue summary", func() {
			Example("TLS Version 1.0 Protocol Detection")
		})
		Attribute("targets_count", Int, "Number of affected targets for issue", func() {
			Example(14)
		})
		Attribute("resources_count", Int, "Number of affected resources for issue", func() {
			Example(28)
		})
		Attribute("max_score", Float32, "Max score for issue", func() {
			Example(5)
		})
	})
})
View Source
var LabelsResult = ResultType("labels", func() {
	Attributes(func() {
		Attribute("labels", ArrayOf(String), "List of labels", func() {
			Example([]string{"Web", "HTTP", "TLS"})
		})
	})
})
View Source
var MTTRResult = ResultType("mttr", func() {
	Attributes(func() {
		Attribute("mttr", Int, func() {
			Example(305)
		})
	})
})
View Source
var SourceResult = ResultType("source", func() {
	Attributes(func() {
		Attribute("id", String, "Source ID", func() {
			Example("8502fa58-6066-4890-8039-6cd936885763")
		})
		Attribute("target_id", String, "Target ID")
		Attribute("name", String, "Source name", func() {
			Example("vulcan")
		})
		Attribute("component", String, "Source component", func() {
			Example("vulcan-tls")
		})
		Attribute("instance", String, "Source instance", func() {
			Example("6087cba3-fade-4fee-81ca-7459e87de098")
		})
		Attribute("options", String, "Source options", func() {
			Example("{\"timeout\":60}")
		})
		Attribute("time", String, "Time on which the source scanned the target", func() {
			Example("2019-06-08 11:16:40")
		})
	})
})
View Source
var SourceResultNoTarget = ResultType("sourceWithNoTarget", func() {
	Attributes(func() {
		Attribute("id", String, "Source ID", func() {
			Example("8502fa58-6066-4890-8039-6cd936885763")
		})
		Attribute("name", String, "Source name", func() {
			Example("vulcan")
		})
		Attribute("component", String, "Source component", func() {
			Example("vulcan-tls")
		})
		Attribute("instance", String, "Source instance", func() {
			Example("6087cba3-fade-4fee-81ca-7459e87de098")
		})
		Attribute("options", String, "Source options", func() {
			Example("{\"timeout\":60}")
		})
		Attribute("time", String, "Time on which the source scanned the target", func() {
			Example("2019-06-08 11:16:40")
		})
	})
})
View Source
var StatsCurrentExposureResult = ResultType("current_exposure", func() {
	Attributes(func() {
		Attribute("percentile_10", Float32, "Percentile 10 of exposure")
		Attribute("percentile_25", Float32, "Percentile 25 of exposure or first quartile")
		Attribute("percentile_50", Float32, "Percentile 50 of exposure or median")
		Attribute("percentile_75", Float32, "Percentile 75 of exposure or third quartile")
		Attribute("percentile_90", Float32, "Percentile 90 of exposure")
		Attribute("mean", Float32, "Mean exposure")
	})
})
View Source
var StatsExposureResult = ResultType("exposure", func() {
	Attributes(func() {
		Attribute("percentile_10", Float32, "Percentile 10 of exposure")
		Attribute("percentile_25", Float32, "Percentile 25 of exposure or first quartile")
		Attribute("percentile_50", Float32, "Percentile 50 of exposure or median")
		Attribute("percentile_75", Float32, "Percentile 75 of exposure or third quartile")
		Attribute("percentile_90", Float32, "Percentile 90 of exposure")
		Attribute("mean", Float32, "Mean exposure")
	})
})
View Source
var StatsSeverityAndTotalResult = ResultType("severity_and_total", func() {
	Attributes(func() {
		Attribute("critical", Int, "Value for critical severity")
		Attribute("high", Int, "Value for high severity")
		Attribute("medium", Int, "Value for medium severity")
		Attribute("low", Int, "Value for low severity")
		Attribute("informational", Int, "Value for informational severity")
		Attribute("total", Int, "Total number of issues")
	})
})
View Source
var StatsSeverityResult = ResultType("severity", func() {
	Attributes(func() {
		Attribute("critical", Int, "Number of critial issues")
		Attribute("high", Int, "Number of high issues")
		Attribute("medium", Int, "Number of medium issues")
		Attribute("low", Int, "Number of low issues")
		Attribute("informational", Int, "Number of informational issues")
	})
})
View Source
var StatsSizeResult = ResultType("size", func() {
	Attributes(func() {
		Attribute("sources", Int, "Number of sources")
		Attribute("targets", Int, "Number of targets")
		Attribute("issues", Int, "Number of issues")
		Attribute("findings", Int, "Number of findings")
		Attribute("finding_events", Int, "Number of finding events")
	})
})
View Source
var TargetResult = ResultType("target", func() {
	Attributes(func() {
		Attribute("id", String, "Target ID", func() {
			Example("8d14bf4b-2cb1-43f2-9c23-f7985c63858a")
		})
		Attribute("identifier", String, "Target identifier", func() {
			Example("www.example.com")
		})
		Attribute("teams", ArrayOf(String), "List of teams associated with target", func() {
			Example([]string{"e84cfeeb-7a2b-442b-b1cf-15af8b4a52d3"})
		})
	})
})
View Source
var TargetSummaryResult = ResultType("target_summary", func() {
	Attributes(func() {
		Attribute("target_id", String, "Target ID", func() {
			Example("8d14bf4b-2cb1-43f2-9c23-f7985c63858a")
		})
		Attribute("identifier", String, "Target identifier", func() {
			Example("www.example.com")
		})
		Attribute("findings_count", Int, "Number of findings for target", func() {
			Example(14)
		})
		Attribute("issues_count", Int, "Number of issues for target", func() {
			Example(10)
		})
		Attribute("max_score", Float32, "Max score for target", func() {
			Example(5)
		})
	})
})
View Source
var TeamAuth = APIKeySecurity("authorization", func() {
	Description("Value must be 'TEAM team=myteam'")
})

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL