๋ฌธ์๋ ์ด๋ฉ์ผ๋ก ๋ฐ์ ์์ฌ์ค๋ฌ์ด URL, ํด๋ฆญํ๊ธฐ ์ ์ ์์ ํ์ง ๋ฏธ๋ฆฌ ํ์ธํ๊ณ ์ถ๋ค๋ ์์ด๋์ด์์ ์์๋ ํ๋ก์ ํธ์ ๋๋ค. Safe-View๋ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ URL์ ๊ฒฉ๋ฆฌ๋ ๊ฐ์ ํ๊ฒฝ(์๋๋ฐ์ค)์์ ๋์ ์ด์ด๋ณด๊ณ , ์ฌ๋ฌ ์ ๋ฌธ API์ AI์ ์ข ํฉ ๋ถ์์ ํตํด ๋ค๊ฐ์ ์ธ ์์ ์ฑ ๋ฆฌํฌํธ๋ฅผ ์ ๊ณตํ๋ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ค.
์๋๋ฐ์ค ๋ถ์: Docker ์ปจํ ์ด๋๋ฅผ ์ด์ฉํ ๊ฒฉ๋ฆฌ๋ ํ๊ฒฝ์์ URL์ ์์ ํ๊ฒ ์คํํ๊ณ ์คํฌ๋ฆฐ์ท์ ์บก์ฒํฉ๋๋ค.
๋ค์ค API ๊ต์ฐจ ๊ฒ์ฆ: VirusTotal, Shodan API๋ฅผ ํตํด ์ ์ฑ ์ฌ๋ถ์ ์๋ฒ ์์น ์ ๋ณด๋ฅผ ๊ต์ฐจ ๋ถ์ํฉ๋๋ค.
AI ์์ฝ ๋ณด๊ณ ์: Google Gemini API๋ฅผ ํ์ฉํ์ฌ ๋ณต์กํ ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ์ผ๋ฐ ์ฌ์ฉ์๊ฐ ์ดํดํ๊ธฐ ์ฌ์ด ์์ฐ์ด ๋ฆฌํฌํธ๋ก ์์ฑํฉ๋๋ค.
์ค์๊ฐ ํผ๋๋ฐฑ: ๋ถ์ ์์ฒญ ํ, ์งํ๋ฅ ๊ณผ ํ์ฌ ๋จ๊ณ๋ฅผ ์ค์๊ฐ์ผ๋ก ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ค๋๋ค.
PDF ๋ณด๊ณ ์ ์์ฑ ๋ฐ ๊ณต์ : ์ ์ฒด ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ์ฒด๊ณ์ ์ธ PDF ๋ฌธ์๋ก ๋ณํํ์ฌ ์ธ๋ถ๋ก ๊ณต์ ํ ์ ์์ต๋๋ค.
๋ถ์ ๊ธฐ๋ก ๋ฐ ์บ์ฑ: ๊ณผ๊ฑฐ ๋ถ์ ๋ด์ญ์ ์กฐํํ๊ณ , ๋์ผํ URL์ ๋ํ ๋น ๋ฅธ ์ฌ๋ถ์์ ์ง์ํฉ๋๋ค.
-
ํด๋ผ์ด์ธํธ (Client): Flutter, Dart
-
์๋ฒ (Server): Python, FastAPI, Uvicorn
-
์๋๋ฐ์ค (Sandbox): Docker, Selenium
-
๋ฐ์ดํฐ๋ฒ ์ด์ค (Database): MongoDB
-
์ธ๋ถ API: VirusTotal, Shodan, Google Gemini
1. ์ ์ ์กฐ๊ฑด
Flutter SDK
Python 3.10+
Docker Desktop
MongoDB Community Edition
2. ์๋ฒ ์คํ (safe-view-backend)
cd safe-view-backend
# ํ์ํ ํจํค์ง ์ค์น
pip install -r requirements.txt
# FastAPI ์๋ฒ ์คํ
uvicorn main:app --reload
์๋ฒ๋ http://127.0.0.1:8000 ์์ ์คํ
3. ํด๋ผ์ด์ธํธ ์คํ (safe-view-app)
cd safe-view-app
# Flutter ์์กด์ฑ ํจํค์ง ์ค์น
flutter pub get
# iOS ์๋ฎฌ๋ ์ดํฐ ๋๋ ์ค์ ๊ธฐ๊ธฐ์์ ์ฑ ์คํ
flutter run