@@ -13,13 +13,13 @@ NC='\033[0m'
1313# Allowed public API key (used in socket-lib).
1414ALLOWED_PUBLIC_KEY=" sktsec_t_--RAN5U4ivauy4w37-6aoKyYPDt5ZbaT5JBVMqiwKo_api"
1515
16- echo " ${GREEN} Running Socket Security checks...${NC} "
16+ echo -e " ${GREEN} Running Socket Security checks...${NC} "
1717
1818# Get list of staged files.
1919STAGED_FILES=$( git diff --cached --name-only --diff-filter=ACM)
2020
2121if [ -z " $STAGED_FILES " ]; then
22- echo " ${GREEN} ✓ No files to check${NC} "
22+ echo -e " ${GREEN} ✓ No files to check${NC} "
2323 exit 0
2424fi
2525
@@ -28,23 +28,23 @@ ERRORS=0
2828# Check for .DS_Store files.
2929echo " Checking for .DS_Store files..."
3030if echo " $STAGED_FILES " | grep -q ' \.DS_Store' ; then
31- echo " ${RED} ✗ ERROR: .DS_Store file detected!${NC} "
31+ echo -e " ${RED} ✗ ERROR: .DS_Store file detected!${NC} "
3232 echo " $STAGED_FILES " | grep ' \.DS_Store'
3333 ERRORS=$(( ERRORS + 1 ))
3434fi
3535
3636# Check for log files.
3737echo " Checking for log files..."
3838if echo " $STAGED_FILES " | grep -E ' \.log$' | grep -v ' test.*\.log' ; then
39- echo " ${RED} ✗ ERROR: Log file detected!${NC} "
39+ echo -e " ${RED} ✗ ERROR: Log file detected!${NC} "
4040 echo " $STAGED_FILES " | grep -E ' \.log$' | grep -v ' test.*\.log'
4141 ERRORS=$(( ERRORS + 1 ))
4242fi
4343
4444# Check for .env files.
4545echo " Checking for .env files..."
4646if echo " $STAGED_FILES " | grep -E ' ^\.env(\.local)?$' ; then
47- echo " ${RED} ✗ ERROR: .env or .env.local file detected!${NC} "
47+ echo -e " ${RED} ✗ ERROR: .env or .env.local file detected!${NC} "
4848 echo " $STAGED_FILES " | grep -E ' ^\.env(\.local)?$'
4949 echo " These files should never be committed. Use .env.example instead."
5050 ERRORS=$(( ERRORS + 1 ))
@@ -61,7 +61,7 @@ for file in $STAGED_FILES; do
6161
6262 # Check for common user path patterns.
6363 if grep -E ' (/Users/[^/\s]+/|/home/[^/\s]+/|C:\\Users\\[^\\]+\\)' " $file " 2> /dev/null | grep -q . ; then
64- echo " ${RED} ✗ ERROR: Hardcoded personal path found in: $file ${NC} "
64+ echo -e " ${RED} ✗ ERROR: Hardcoded personal path found in: $file ${NC} "
6565 grep -n -E ' (/Users/[^/\s]+/|/home/[^/\s]+/|C:\\Users\\[^\\]+\\)' " $file " | head -3
6666 echo " Replace with relative paths or environment variables."
6767 ERRORS=$(( ERRORS + 1 ))
@@ -74,7 +74,7 @@ echo "Checking for API keys..."
7474for file in $STAGED_FILES ; do
7575 if [ -f " $file " ]; then
7676 if grep -E ' sktsec_[a-zA-Z0-9_-]+' " $file " 2> /dev/null | grep -v " $ALLOWED_PUBLIC_KEY " | grep -v ' your_api_key_here' | grep -v ' SOCKET_SECURITY_API_KEY=' | grep -v ' fake-token' | grep -v ' test-token' | grep -q . ; then
77- echo " ${YELLOW} ⚠ WARNING: Potential API key found in: $file ${NC} "
77+ echo -e " ${YELLOW} ⚠ WARNING: Potential API key found in: $file ${NC} "
7878 grep -n ' sktsec_' " $file " | grep -v " $ALLOWED_PUBLIC_KEY " | grep -v ' your_api_key_here' | grep -v ' fake-token' | grep -v ' test-token' | head -3
7979 echo " If this is a real API key, DO NOT COMMIT IT."
8080 fi
@@ -92,32 +92,32 @@ for file in $STAGED_FILES; do
9292
9393 # Check for AWS keys.
9494 if grep -iE ' (aws_access_key|aws_secret|AKIA[0-9A-Z]{16})' " $file " 2> /dev/null | grep -q . ; then
95- echo " ${RED} ✗ ERROR: Potential AWS credentials found in: $file ${NC} "
95+ echo -e " ${RED} ✗ ERROR: Potential AWS credentials found in: $file ${NC} "
9696 grep -n -iE ' (aws_access_key|aws_secret|AKIA[0-9A-Z]{16})' " $file " | head -3
9797 ERRORS=$(( ERRORS + 1 ))
9898 fi
9999
100100 # Check for GitHub tokens.
101101 if grep -E ' gh[ps]_[a-zA-Z0-9]{36}' " $file " 2> /dev/null | grep -q . ; then
102- echo " ${RED} ✗ ERROR: Potential GitHub token found in: $file ${NC} "
102+ echo -e " ${RED} ✗ ERROR: Potential GitHub token found in: $file ${NC} "
103103 grep -n -E ' gh[ps]_[a-zA-Z0-9]{36}' " $file " | head -3
104104 ERRORS=$(( ERRORS + 1 ))
105105 fi
106106
107107 # Check for private keys.
108108 if grep -E ' -----BEGIN (RSA |EC |DSA )?PRIVATE KEY-----' " $file " 2> /dev/null | grep -q . ; then
109- echo " ${RED} ✗ ERROR: Private key found in: $file ${NC} "
109+ echo -e " ${RED} ✗ ERROR: Private key found in: $file ${NC} "
110110 ERRORS=$(( ERRORS + 1 ))
111111 fi
112112 fi
113113done
114114
115115if [ $ERRORS -gt 0 ]; then
116116 echo " "
117- echo " ${RED} ✗ Security check failed with $ERRORS error(s).${NC} "
117+ echo -e " ${RED} ✗ Security check failed with $ERRORS error(s).${NC} "
118118 echo " Fix the issues above and try again."
119119 exit 1
120120fi
121121
122- echo " ${GREEN} ✓ All security checks passed!${NC} "
122+ echo -e " ${GREEN} ✓ All security checks passed!${NC} "
123123exit 0
0 commit comments