configuration/constants/detector.constants.ts
configuration/constants/detector.constants.ts is a file in Secrets. 37 lines of code and 23 definitions.
export const DETECTOR_KINDS = ["address", "bearer", "credential", "database", "jwt", "key", "ssh", "token"] as const;
export const EXCLUSION_REASONS = ["third-party-rule-text", "binary", "rendered-media", "backup"] as const;
export const DETECTOR_SUFFIX = ".predicate.ts";
export const TOKEN_SHAPES = [
{ alphabet: "alnum", minRest: 20, prefixes: ["sk-"] },
{ alphabet: "alnum", minRest: 36, prefixes: ["ghp_", "gho_", "ghs_", "ghu_", "ghr_"] },
{ alphabet: "alnumDash", minRest: 20, prefixes: ["glpat-"] },
{ alphabet: "alnumDash", minRest: 10, prefixes: ["xoxb-", "xoxp-", "xoxa-", "xoxs-"] },
{ alphabet: "upperDigit", minRest: 16, prefixes: ["AKIA", "ASIA"] },
] as const;
export const PEM_OPENING = "-----BEGIN";
export const PRIVATE_KEY_MARK = "PRIVATE KEY";
export const SSH_PREFIXES: readonly string[] = ["ssh-rsa ", "ssh-ed25519 ", "ssh-dss ", "ecdsa-sha2-nistp256 "];
export const SSH_MIN_BODY = 16;
export const DATABASE_SCHEMES: readonly string[] = [
"mongodb://",
"mongodb+srv://",
"postgres://",
"postgresql://",
"mysql://",
"redis://",
"amqp://",
];
export const BEARER_PREFIX = "Bearer ";
export const BEARER_MIN_LENGTH = 20;
export const JWT_OPENING = "eyJ";
export const JWT_SEGMENTS = 3;
export const JWT_MIN_SEGMENT = 8;
export const JWT_SEPARATOR = ".";
export const SCHEME_MARK = "://";
export const AUTHORITY_ENDS: ReadonlySet<string> = new Set(["/", "?", "#"]);
export const CREDENTIAL_AT = "@";
export const CREDENTIAL_COLON = ":";
export const BASE64_URL_MARKS: ReadonlySet<string> = new Set(["-", "_"]);
export const DASH = "-";
export const LOCAL_ADDRESSES: ReadonlySet<string> = new Set(["::", "0.0.0.0", "::1"]);
export const LOOPBACK_V4_PREFIX = "127.";