App-Envdoctor

 view release on metacpan or  search on metacpan

lib/App/Envdoctor/Scanner.pm  view on Meta::CPAN


# Compatibility group for a non-empty inferred type.
sub _type_group {
    my ($t) = @_;
    return 'numeric' if $t eq 'integer' || $t eq 'float';
    return $t;
}

my $SECRET_NAME = qr/SECRET|TOKEN|PASSWORD|PASSWD|PRIVATE|CREDENTIAL|API_?KEY|ACCESS_?KEY|AUTH/i;
my $WEAK_VALUE
    = qr/^(?:changeme|change_me|placeholder|x{3,}|todo|secret|password|passwd|test|example|sample|dummy|your[_-].*|<.*>|\$\{.*\})$/i;

sub _is_weak_secret {
    my ($v) = @_;
    return 1 if $v eq '' || length($v) < 8;
    return $v =~ $WEAK_VALUE ? 1 : 0;
}

# Levenshtein edit distance.
sub levenshtein {
    my ( $a, $b ) = @_;



( run in 1.748 second using v1.01-cache-2.11-cpan-4ef0a570458 )