Skip to content

AutoFiC/llm-vs-sast

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

23 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

llm-vs-sast

논문을 μž‘μ„±ν•˜κΈ° 전에 LLM λͺ¨λΈκ³Ό SAST λ„κ΅¬μ˜ μ„±λŠ₯을 λΉ„κ΅ν•˜λŠ” Repositoryμž…λ‹ˆλ‹€.

Python CodeBERT Status

πŸ›  개발 ν™˜κ²½

πŸ§‘πŸ»β€πŸ’» Language : Python 3.11.x
πŸ”­ Virtual Environment : venv
πŸ‘Ύ IDE : Visual Studio Code / PyCharm / Jupyter Notebook
πŸ“¦ Package Manager : pip
🌟 Essential Library : requirements.txt

️πŸ₯‡ 개발 ν™˜κ²½ ꡬ좕 -> (Windows)

# Python Version Check
python --version
python3 --version
# λ§Œμ•½ 파이썬 버전이 3.11.xκ°€ μ•„λ‹Œ 경우, κΈ°μ‘΄ νŒŒμ΄μ¬μ„ μ§€μš°μ§€ μ•Šκ³  Python 3.11.x 버전을 μΆ”κ°€λ‘œ μ„€μΉ˜ν•©λ‹ˆλ‹€.
py -3.11 --version

# Git Clone
git clone https://github.com/AutoFiC/llm-vs-sast.git
cd llm-vs-sast

# Directory Create
mkdir "본인이름"
cd "본인이름"

# Virtual Environment Create
python -m venv .venv
python3 -m venv .venv
py -3.11 venv .venv

# Activate Virtual Environment
.venv\Scripts\activate

# Essential Library install
pip install -r requirements.txt

πŸ₯ˆ 개발 ν™˜κ²½ ꡬ좕 -> (Mac/Ubuntu)

# Python Version Check
python --version
python3 --version
# λ§Œμ•½ 파이썬 버전이 3.11.xκ°€ μ•„λ‹Œ 경우, κΈ°μ‘΄ νŒŒμ΄μ¬μ„ μ§€μš°μ§€ μ•Šκ³  Python 3.11.x 버전을 μΆ”κ°€λ‘œ μ„€μΉ˜ν•©λ‹ˆλ‹€.
brew install python@3.11

# Git Clone
git clone https://github.com/AutoFiC/llm-vs-sast.git
cd llm-vs-sast

# Directory Create
mkdir "본인이름"
cd "본인이름"

# Virtual Environment Create
python -m venv .venv
python3 -m venv .venv
python3.11 -m venv .venv

# Activate Virtual Environment
source .venv/bin/activate

# Essential Library install
pip install --upgrade pip
pip install -r requirements.txt

πŸ₯‰ 디렉토리 ꡬ성

llm-vs-sast
β”œβ”€ hongseo
β”‚  β”œβ”€ 1. Get Datasets (데이터 μ€€λΉ„ κ³Όμ •)
β”‚  β”‚  └─ Vulnerability_Data_Original.zip (μ „μ²˜λ¦¬ 이전 데이터-115개 κ°œλ³„ 파일)
β”‚  β”œβ”€ 2. javascript_cve_parsing (데이터 μˆ˜μ§‘ κ³Όμ •)
β”‚  β”‚  β”œβ”€ CVE-crawling-github.py (CVE 크둀링 ν›„ github 레퍼런슀만 μΆ”μΆœ)
β”‚  β”‚  └─ README.md
β”‚  β”œβ”€ 3. Preprocessing (데이터 μ „μ²˜λ¦¬ κ³Όμ •)
β”‚  β”‚  β”œβ”€ Javascript-to-AST.py (Javascript -> AST둜 λ³€ν™˜)
β”‚  β”‚  └─ tree-sitter-javascript (AST λ³€ν™˜ 라이브러리)
β”‚  β”œβ”€ 4. Model Test (ν…ŒμŠ€νŠΈ κ³Όμ •)
β”‚  β”‚  β”œβ”€ Input_data
β”‚  β”‚  β”‚  β”œβ”€ function_count_summary.csv (CVE별 ν•¨μˆ˜ 개수)
β”‚  β”‚  β”‚  └─ input_dataset.json (μ „μ²˜λ¦¬λœ 데이터)
β”‚  β”‚  └─ Model test code (λͺ¨λΈ μ‹€ν—˜ μ½”λ“œ)
β”‚  β”‚     β”œβ”€ Gpt4_test.py
β”‚  β”‚     └─ Meta_llama_test.py
β”‚  └─ 5. Results (κ²°λ‘ )
β”‚     β”œβ”€ Cleansing_Metrics.ipynb (μ΅œμ’… λͺ¨λΈ κ²°κ³Ό 병합 및 μ„±λŠ₯ 평가)
β”‚     β”œβ”€ Final Results (μ΅œμ’… λͺ¨λΈ κ²°κ³Ό 병합)
β”‚     β”‚  β”œβ”€ Result.csv
β”‚     β”‚  └─ Result.xlsx
β”‚     └─ Model Results (각 λͺ¨λΈλ³„ κ²°κ³Όκ°’ .jsonl)
β”‚        β”œβ”€ results_gpt3.5.jsonl
β”‚        β”œβ”€ results_gpt4.jsonl
β”‚        β”œβ”€ results_llama3-8b.jsonl
β”‚        β”œβ”€ results_mistral.jsonl
β”‚        └─ results_semgrep.jsonl
β”œβ”€ README.md
└─ requirements.txt

About

Compare SAST with LLM

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published