Documentation ¶
Index ¶
- func ExtractLineFragment(line, substr string, key bool) string
- func GenerateSubstrings(key string, extractedString [][]string) (substr1Res, substr2Res string)
- func GetAdjacentVulnLines(idx, adj int, lines []string) *[]model.CodeLine
- func GetBracketValues(expr string, list [][]string, restOfString string) [][]string
- func GetLineBySearchLine(pathComponents []string, file *model.FileMetadata) (int, error)
- func SelectLineWithMinimumDistance(distances map[int]int, startingFrom int) int
- type DefaultDetectLineResponse
- type DetectLine
- func (d *DetectLine) Add(detector kindDetectLine, kind model.FileKind) *DetectLine
- func (d *DetectLine) DetectLine(file *model.FileMetadata, searchKey string, logWithFields *zerolog.Logger) model.VulnerabilityLines
- func (d *DetectLine) GetAdjacent(file *model.FileMetadata, line int) model.VulnerabilityLines
- func (d *DetectLine) SetupLogs(logger *zerolog.Logger)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExtractLineFragment ¶
ExtractLineFragment will prepare substr for line detection
func GenerateSubstrings ¶
GenerateSubstrings returns the substrings used for line searching depending on search key '.' is new line '=' is value in the same line '[]' is in the same line
func GetAdjacentVulnLines ¶
GetAdjacentVulnLines is used to get the lines adjacent to the line that contains the vulnerability adj is the amount of lines wanted
func GetBracketValues ¶
GetBracketValues gets values inside "{{ }}" ignoring any "{{" or "}}" inside
func GetLineBySearchLine ¶
func GetLineBySearchLine(pathComponents []string, file *model.FileMetadata) (int, error)
GetLineBySearchLine makes use of the gjson pkg to find the line of a key in the original file with it's path given by a slice of strings
Types ¶
type DefaultDetectLineResponse ¶
type DefaultDetectLineResponse struct { CurrentLine int IsBreak bool FoundAtLeastOne bool ResolvedFile string ResolvedFiles map[string]model.ResolvedFileSplit }
DefaultDetectLineResponse is the default response for struct DetectLine
func (*DefaultDetectLineResponse) DetectCurrentLine ¶
func (d *DefaultDetectLineResponse) DetectCurrentLine(str1, str2 string, recurseCount int, lines []string) (det *DefaultDetectLineResponse, l []string)
DetectCurrentLine uses levenshtein distance to find the most accurate line for the vulnerability
type DetectLine ¶
type DetectLine struct {
// contains filtered or unexported fields
}
DetectLine is a struct that associates a kindDetectLine to its FileKind
func NewDetectLine ¶
func NewDetectLine(outputLines int) *DetectLine
NewDetectLine creates a new DetectLine's reference
func (*DetectLine) Add ¶
func (d *DetectLine) Add(detector kindDetectLine, kind model.FileKind) *DetectLine
Add adds a new kindDetectLine to the caller and returns it
func (*DetectLine) DetectLine ¶
func (d *DetectLine) DetectLine(file *model.FileMetadata, searchKey string, logWithFields *zerolog.Logger) model.VulnerabilityLines
DetectLine will use the correct kindDetectLine according to the files kind if file kind is not in detectors default detect line is called
func (*DetectLine) GetAdjacent ¶
func (d *DetectLine) GetAdjacent(file *model.FileMetadata, line int) model.VulnerabilityLines
GetAdjacent finds and returns the lines adjacent to the line containing the vulnerability
func (*DetectLine) SetupLogs ¶
func (d *DetectLine) SetupLogs(logger *zerolog.Logger)
SetupLogs will change the logger feild to be used in kindDetectLine DetectLine method