rootscan

Push 전에 보안 취약점을 스캔하고 오픈소스 엔진과 AI가 제안하는 해결책을 확인하세요.

PS C:\Users\User\Desktop\Projects>

분석 중입니다...

보안 취약점을 스캔하고 있습니다

Security Report

AI 기반 보안 취약점 분석 결과

📌 요약 결과

대상 프로젝트:

C:\Users\User\Desktop\Projects\Demo

High: 3Med: 1Low: 0

📝 AI 요약 보고

보안 취약점 스캔 결과를 종합적으로 분석한 결과, 현재 시스템은 보안 위험에 노출되어 있습니다. 특히, 컨테이너 내 프로그램이 루트 권한으로 실행될 위험이 있는 USER 지정 부재, SQL 인젝션 취약점, 그리고 Django 프레임워크의 고위험 CVE 취약점(CVE-2019-19844 등)은 즉각적인 대응이 요구됩니다.

권장 조치: Django를 최신 보안 패치 버전으로 업데이트하고, 컨테이너 내 프로그램 실행 권한을 제한하며, SQL 쿼리 처리 시 매개변수화된 쿼리 사용을 의무화하십시오.

🔍 상세 분석

[ERROR] dockerfile.security.missing-user

Semgrep | Demo/Dockerfile:11

USER 미지정 시 'root' 권한 실행 위험. 공격자가 컨테이너 전체 제어 가능.

[ERROR] sqlalchemy-execute-raw-query

Semgrep | Demo/vulnerable_app.py:12

SQL 인젝션 취약점. SQLAlchemy의 text()와 매개변수화된 쿼리 적용 필요.

[WARNING] eval-detected

Semgrep | Demo/vulnerable_app.py:18

eval() 함수 사용 감지. 외부 입력 시 코드 주입 취약점 위험.

[CRITICAL] CVE-2019-19844

Trivy | Demo/requirements.txt

Django 계정 탈취 취약점. 특수 이메일로 비밀번호 재설정 토큰 탈취 가능. 최신 버전 업데이트 필수.

생성: 2025-12-09 11:32:01

패치 생성 중...

AI가 수정 코드를 작성하고 있습니다

Generated Patches

AI가 자동 생성한 보안 패치

📄 sql_injection_fix.patchvulnerable_app.py
diff --git a/vulnerable_app.py b/vulnerable_app.py
--- a/vulnerable_app.py
+++ b/vulnerable_app.py
@@ -7,9 +7,10 @@
def login(username, password):
- # SQL 인젝션에 취약함
- query = f"SELECT * FROM users WHERE username = '{username}' AND password = '{password}'"
+ # SQL 인젝션 방지 (Parameterized Query)
+ query = "SELECT * FROM users WHERE username = ? AND password = ?"
conn = sqlite3.connect("db.sqlite")
cursor = conn.cursor()
- cursor.execute(query)
+ cursor.execute(query, (username, password))
📄 eval_safe_fix.patchvulnerable_app.py
diff --git a/vulnerable_app.py b/vulnerable_app.py
--- a/vulnerable_app.py
+++ b/vulnerable_app.py
@@ -16,3 +16,6 @@
cmd = input("Command: ")
- # 임의 코드 실행에 취약함
- eval(cmd)
+ # [보안 패치] eval() 함수는 임의 코드 실행 취약점을 유발하므로 제거
+ import ast
+ # 제한된 리터럴만 안전하게 평가
+ try: ast.literal_eval(cmd)
+ except: print("Unsafe command blocked")