main
1id: bash-unsafe-rm-rf
2message: Potentially dangerous 'rm -rf' usage - ensure variable is not empty
3severity: warning
4language: Bash
5note: |
6 Always check variables are non-empty before rm -rf:
7 [[ -n "$VAR" ]] && rm -rf "$VAR"
8 Or use safer alternatives like find with -delete
9
10 Note: This rule may produce false positives when multiple conditions are chained.
11rule:
12 pattern: rm -rf $VAR
13 not:
14 inside:
15 any:
16 - pattern: |
17 if [[ -n "$VAR" ]]; then
18 $$$
19 fi
20 - pattern: |
21 if [ -n "$VAR" ]; then
22 $$$
23 fi
24 - pattern: |
25 [[ -n "$VAR" ]] && $$$