๐Ÿ—‚๏ธ github.com/org/backend-api
๐Ÿ“‹ GIT_REPO ยท FULL mode ๐ŸŒฟ branch: main rev_a3f8c2d1-5678-90ab-cdef ๐Ÿ• 2024-07-22 14:32:10
COMPLETED
โœ“
Git Clone
โœ“
Static Analysis
โœ“
AST Parse
โœ“
RAG Retrieval
โœ“
LLM Review
โœ“
Result Merge
โœ“
Report Gen
โœ“
Notify
24
Total Issues
3
Critical
7
High
9
Medium
โœ— FAIL
Quality Gate
All (24) Critical (3) High (7) Medium (9) Low (5)
CRITICAL bandit B602 โ€ข security
subprocess call uses shell=True, command injection risk
app/utils/executor.py : Line 47–49
๐Ÿ’ก Tip: use list args subprocess.run(['cmd', arg]) and remove shell=True
CRITICAL semgrep sql-injection โ€ข security
SQL query directly concatenates user input, SQL injection risk
app/db/queries.py : Line 23
๐Ÿ’ก Tip: use parameterized query cursor.execute("SELECT * FROM users WHERE id = %s", (user_id,))
CRITICAL llm โ€ข security
JWT Secret hardcoded in source code, credential leak risk
app/config.py : Line 12
๐Ÿ’ก Tip: read from env var JWT_SECRET = os.environ["JWT_SECRET"]
HIGH semgrep insecure-deserialize โ€ข security
Using pickle.loads() to deserialize untrusted data
app/cache/serializer.py : Line 35
๐Ÿ’ก Tip: use json.loads() or msgpack instead
HIGH bandit B501 โ€ข security
SSL verification disabled (verify=False), MITM attack risk
app/clients/http.py : Line 18
๐Ÿ’ก Tip: remove verify=False or provide correct CA cert path
MEDIUM eslint no-eval โ€ข security
eval() used for dynamic code execution, XSS risk
static/js/utils.js : Line 104
18 more issues ยท View All โ†’
API๏ผšGET /api/v1/reviews/rev_a3f8c2d1/report?format=html|markdown|pdf
{
  "id": "rev_a3f8c2d1-5678-90ab-cdef",
  "type": "GIT_REPO",
  "target": "https://github.com/org/backend-api",
  "branch": "main",
  "mode": "FULL",
  "status": "COMPLETED",
  "languages": ["python", "javascript"],
  "ruleset_id": null,
  "issues_count": 24,
  "critical_count": 3,
  "high_count": 7,
  "quality_gate_status": "FAIL",
  "created_at": "2024-07-22T14:32:10Z",
  "updated_at": "2024-07-22T14:38:42Z"
}