@@ -7,16 +7,37 @@ CLIPBOARD_FILE="$CONFIG_HOME/clipboard-commands.regex"
77TOKEN_FILE=" $CONFIG_HOME /live-token-patterns.regex"
88SECRET_PATHS_FILE=" $CONFIG_HOME /secret-paths.regex"
99. " $( dirname " ${BASH_SOURCE[0]} " ) /lib/audit.sh"
10+ . " $( dirname " ${BASH_SOURCE[0]} " ) /lib/patterns.sh"
1011
1112[ -f " $CLIPBOARD_FILE " ] || exit 0
1213
13- if ! printf ' %s\n' " $INPUT " | grep -Eif " $CLIPBOARD_FILE " > /dev/null 2>&1 ; then
14- exit 0
14+ clipboard_match=" false"
15+ case " $INPUT " in
16+ * pbcopy* |* clip.exe* |* Set-Clipboard* |* xclip* |* xsel* |* wl-copy* )
17+ clipboard_match=" true"
18+ ;;
19+ esac
20+
21+ if [ " $clipboard_match " != " true" ]; then
22+ CLEAN_CLIPBOARD_FILE=" $( shield_prepare_pattern_file " $CLIPBOARD_FILE " ) " || exit 1
23+ trap ' rm -f "${CLEAN_CLIPBOARD_FILE:-}" "${CLEAN_TOKEN_FILE:-}" "${CLEAN_SECRET_PATHS_FILE:-}"' EXIT
24+ if ! printf ' %s\n' " $INPUT " | grep -Eif " $CLEAN_CLIPBOARD_FILE " > /dev/null 2>&1 ; then
25+ exit 0
26+ fi
27+ else
28+ trap ' rm -f "${CLEAN_CLIPBOARD_FILE:-}" "${CLEAN_TOKEN_FILE:-}" "${CLEAN_SECRET_PATHS_FILE:-}"' EXIT
29+ fi
30+
31+ if [ -f " $TOKEN_FILE " ]; then
32+ CLEAN_TOKEN_FILE=" $( shield_prepare_pattern_file " $TOKEN_FILE " ) " || exit 1
33+ fi
34+ if [ -f " $SECRET_PATHS_FILE " ]; then
35+ CLEAN_SECRET_PATHS_FILE=" $( shield_prepare_pattern_file " $SECRET_PATHS_FILE " ) " || exit 1
1536fi
1637
17- if [ -f " $TOKEN_FILE " ] && printf ' %s\n' " $INPUT " | grep -Eif " $TOKEN_FILE " > /dev/null 2>&1 ; then
38+ if [ -n " ${CLEAN_TOKEN_FILE :- } " ] && printf ' %s\n' " $INPUT " | grep -Eif " $CLEAN_TOKEN_FILE " > /dev/null 2>&1 ; then
1839 :
19- elif [ -f " $SECRET_PATHS_FILE " ] && printf ' %s\n' " $INPUT " | grep -Eif " $SECRET_PATHS_FILE " > /dev/null 2>&1 ; then
40+ elif [ -n " ${CLEAN_SECRET_PATHS_FILE :- } " ] && printf ' %s\n' " $INPUT " | grep -Eif " $CLEAN_SECRET_PATHS_FILE " > /dev/null 2>&1 ; then
2041 :
2142elif printf ' %s' " $INPUT " | grep -Eqi ' (printenv|gh[[:space:]]+auth[[:space:]]+token|gcloud[[:space:]]+auth[[:space:]]+print-access-token|aws[[:space:]]+configure[[:space:]]+export-credentials|kubectl[[:space:]]+config[[:space:]]+view[[:space:]]+--raw)' ; then
2243 :
0 commit comments