πŸ“ github.com/org/backend-api Β· branch: main
πŸ• Generated: 2024-07-22 14:38:42 πŸ“‹ Review ID: rev_a3f8c2d1 πŸ”§ Analyzers: Semgrep Β· Bandit Β· LLM
24
Total Issues
3
Critical
7
High
βœ— FAIL
Quality Gate

🚨 Critical Security Issues

CRITICAL
Command Injection (B602) β€” subprocess shell=True
app/utils/executor.py : Line 48–49
βœ“ Tip: use list args instead of string concat, remove shell=True
CRITICAL
SQL Injection β€” directly concatenating user input into query
app/db/queries.py : Line 23
βœ“ Tip: use parameterized query, e.g. cursor.execute(sql, (param,))
CRITICAL
Hardcoded Credential β€” JWT Secret stored in plaintext
app/config.py : Line 12
βœ“ Tip: use env var os.environ["JWT_SECRET"]

⚠️ High Severity Issues (7)

HIGH
Insecure Deserialization β€” pickle.loads() on untrusted data
app/cache/serializer.py : Line 35
HIGH
SSL Verification Disabled β€” requests.get(url, verify=False)
app/clients/http.py : Line 18
5 more High issues…
# πŸ›‘οΈ CodeGuardian AI Security Review Report **Repository**: github.com/org/backend-api **Branch**: main **Generated**: 2024-07-22 14:38:42 **Review ID**: rev_a3f8c2d1 ## Summary | Metric | Value | |------|------| | Total Issues | 24 | | Critical | 3 | High | 7 | Medium | 9 | Low | 5 | | Quality Gate | ❌ FAIL ## Critical Issues ### 1. Command Injection (B602) - **File**: `app/utils/executor.py:48` - **Source**: bandit - **Description**: subprocess uses shell=True, user input unfiltered - **Fix**: use list args `subprocess.run(["cmd", arg])` ### 2. SQL Injection - **File**: `app/db/queries.py:23` - **Source**: semgrep (sql-injection) - **Description**: SQL query directly concatenates user input - **Fix**: use parameterized query ### 3. Hardcoded Credential - **File**: `app/config.py:12` - **Source**: llm - **Description**: JWT_SECRET hardcoded in source code - **Fix**: use environment variable --- *Generated by CodeGuardian AI v0.3*
πŸ“„
Generate PDF Report
PDF report is rendered server-side by WeasyPrint, containing the full issue list,
code snippets, fix suggestions, and statistics charts.
GET /api/v1/reviews/rev_a3f8c2d1/report?format=pdf