Files
Linux-Server-Management-Too…/tools
cschantz cd08803917 Add 10 advanced QA checks based on research - AI code & beginner mistakes
RESEARCH-DRIVEN ENHANCEMENT:
Researched common bash mistakes made by:
- Beginner/green coders
- AI-generated code (ChatGPT, Claude)
- ShellCheck recommendations

ADDED 10 NEW CHECKS (21-30):

CHECK 21: Using [ ] instead of [[ ]] (MEDIUM)
- Single brackets less safe with empty vars
- Common beginner mistake
- [[ ]] handles special chars better

CHECK 22: Looping over ls output (HIGH)
- for f in $(ls) is fatally flawed antipattern
- Breaks with spaces/special characters
- Classic beginner mistake - use globs instead

CHECK 23: Missing set -euo pipefail (MEDIUM)
- Scripts continue silently after errors
- Unset variables expand to empty string
- No error propagation in pipes

CHECK 24: Unused variables (LOW)
- Variables declared but never used
- Common in AI-generated code
- Code smell indicating dead code

CHECK 25: Backticks instead of $() (LOW)
- Deprecated syntax
- Harder to nest
- Modern best practice: use $()

CHECK 26: Missing or wrong shebang (HIGH)
- Script won't execute correctly
- May run in wrong shell
- Critical for portability

CHECK 27: Unchecked command exit status (MEDIUM)
- curl/wget/git/ssh without error checks
- Silent failures in production
- Should use || or && or if checks

CHECK 28: Incorrect comparison operators (HIGH)
- Using -eq for strings or = for numbers
- Type confusion bugs
- Detects likely string vars with -eq

CHECK 29: Unsafe array iteration (MEDIUM)
- ${array[@]} without quotes
- Causes word splitting
- Should be "${array[@]}"

CHECK 30: Hardcoded credentials (CRITICAL)
- Passwords/API keys in code
- Major security vulnerability
- Detects password=, api_key=, etc.

IMPACT:
✓ 30 total checks (was 20)
✓ 106 issues found (was 52)
✓ Script: 1026 lines (was 769)
✓ Covers AI-generated code patterns
✓ Catches beginner antipatterns
✓ Security-focused checks

RESEARCH SOURCES:
- Common Bash Pitfalls (BashPitfalls wiki)
- AI Code Generation Issues (research papers)
- ShellCheck best practices
- Security vulnerability patterns

The QA script now catches the most common mistakes made by
both novice developers and AI code generators, making it a
comprehensive safety net for bash development.
2025-12-04 16:08:21 -05:00
..