* private key analyzer initial impl - basic structure * Impl analyzePermission method for PrivateKey analyzer. export few private functions for reusability in analyzers * add permissions.yaml and generate permissions * permissions fix * AnalyzeAndPrintPermissions impl * analyzer test pushed * Impl analyzer func called from detector. added and regenerated permissions. * filter empty strings in result and generate expected_output for test * some refactoring * comment added for better readability. * fixed code breaking changes in detectors due to exporting private functions. * log insufficient information message on no certificate results
32 lines
916 B
Go
32 lines
916 B
Go
package privatekey
|
|
|
|
import (
|
|
"strings"
|
|
)
|
|
|
|
func Normalize(in string) string {
|
|
in = strings.ReplaceAll(in, `"`, "")
|
|
in = strings.ReplaceAll(in, `'`, "")
|
|
in = strings.ReplaceAll(in, "\t", "")
|
|
in = strings.ReplaceAll(in, `\t`, "")
|
|
in = strings.ReplaceAll(in, `\\t`, "")
|
|
in = strings.ReplaceAll(in, `\n`, "\n")
|
|
in = strings.ReplaceAll(in, `\\r\\n`, "\n")
|
|
in = strings.ReplaceAll(in, `\r\n`, "\n")
|
|
in = strings.ReplaceAll(in, "\r\n", "\n")
|
|
in = strings.ReplaceAll(in, `\\r`, "\n")
|
|
in = strings.ReplaceAll(in, "\r", "\n")
|
|
in = strings.ReplaceAll(in, `\r`, "\n")
|
|
in = strings.ReplaceAll(in, `\\n`, "\n")
|
|
in = strings.ReplaceAll(in, `\n\n`, "\n")
|
|
in = strings.ReplaceAll(in, "\n\n", "\n")
|
|
in = strings.ReplaceAll(in, `\\`, "\n")
|
|
|
|
cleaned := strings.Builder{}
|
|
parts := strings.Split(in, "\n")
|
|
for _, line := range parts {
|
|
cleaned.WriteString(strings.TrimSpace(line) + "\n")
|
|
}
|
|
return cleaned.String()
|
|
}
|