"2분반-캐슬코더"의 두 판 사이의 차이

cdc wiki
이동: 둘러보기, 검색
(구성원 소개)
(개발 과제의 배경)
41번째 줄: 41번째 줄:
 
VS Code 확장 프로그램으로 배포한다.
 
VS Code 확장 프로그램으로 배포한다.
  
====개발 과제의 배경====
+
● 기존 AI - Coding copilot의 한계 및 보완: GitHub Copilot 등 주요 AI - Coding copilot은 OWASP TOP 10에 해당하는 보안 취약점을 내포한 코드 패턴을 반복적으로 생성하는 문제가 있다. 다음과 같은 구조적인 한계가 존재한다.
내용
+
 
 +
■ AI 모델은 대량의 오픈 소스 코드를 학습하여 코드를 생성한다. 이때, 학습 데이터에 포함된 보안 취약점이 그대로 전파될 수 있다.
 +
 
 +
■ 이렇게 생성된 취약한 코드가 다시 학습 데이터로 사용되면, AI 모델은 점점 더 보안 취약한 코드를 생성하게 되는 악순환이 발생한다.
 +
 
 +
■ 개발자가 AI가 제안한 코드를 신뢰하고 프로젝트에 통합할 경우, 보안 문제가 실제 서비스로 확산 될 가능성이 있다.
 +
 +
이러한 문제는 실증 연구를 통해서도 확인되었다. 논문 Security Weaknesses of Copilot-Generated Code in GitHub Projects: An Empirical Study, (Fu et. al., 2023)에서는 Github Copilot, CodeWhisperer, Codeium이 생성한 소스 코드 스니펫을 분석한 결과, Python 코드의 29.5%, JavaScript 코드의 24.2%가 보안 취약점 발생 가능성이 높음으로 평가되었다. 이는 Common Weakness Enumeration (CWE) 43개 항목에 걸쳐 나타났으며, 대부분의 OWASP Top10 항목에 포함되는 보안 취약점이다. 따라서 CastleCoder는 이러한 보안 취약점을 분석하고 안전한 코드로 리팩토링하고자 한다.
 +
 
 +
● 기존 취약점 탐지 도구의 한계 및 보완: Bandit은 Python 코드의 대표적인 정적 분석 도구지만, 모든 취약점을 완벽히 탐지하지 못한다. 예를 들어, 정상 코드를 취약점으로 잘못 판단하는 ‘오탐’과, 실제 취약점을 놓치는 ‘미탐’이 발생해 신뢰성이 저하된다. 지원 범위 내 취약점 유형에만 대응하므로, 최신 공격 기법이나 도메인 특화 이슈는 탐지에서 제외될 위험이 있다. 따라서 CastleCoder는 OWASP Top 10 기반의 벤치마크를 직접 제작하여 이를 보완하고자 한다.
 +
 
 
====개발 과제의 목표 및 내용====
 
====개발 과제의 목표 및 내용====
 
내용
 
내용

2025년 6월 17일 (화) 21:02 판

프로젝트 개요

기술개발 과제

국문 : 코드 보안 취약점을 점검 및 강화하는 인공지능 코딩 보조 도구

영문 : AI Copilot to detecting and mitigating code security vulnerabilities

과제 팀명

캐슬코더(Castle Coder)

지도교수

이경재 교수님

개발기간

2025년 3월 ~ 2025년 6월 (총 4개월)

구성원 소개

서울시립대학교 컴퓨터과학부 20199200** 박*(팀장)

서울시립대학교 컴퓨터과학부 20209200** 오*찬

서울시립대학교 컴퓨터과학부 20209200** 유*호

서울시립대학교 컴퓨터과학부 20209200** 경*수

서울시립대학교 컴퓨터과학부 20169200** 오*훈

서울시립대학교 환경원예학과 20205200** 김*연

서론

개발 과제의 개요

개발 과제 요약

◇ AI Copilot을 LLM 모델 훈련 및 배포를 통해서 서비스를 제공한다. 현존하는 모델들을 일부 구현, 튜닝 및 훈련을 통하여 발전시킨다. 이를 통해 지능형 코드 추천 기능을 기대할 수 있다.

◇ 지능형 코드 추천에서 보안 취약점이 생겨나지 않도록 취약점 분석 후 수정 기능을 Copilot에 탑재한다.

◇ 사용자가 사용하기 용이하도록 IDE plugin 형식으로 개발하여 vscode extension에 배포한다.

AI 기반 Copilot을 개발하기 위해 LLM 모델을 훈련 및 튜닝하여 지능형 코드 추천 기능을 향상시키고, 보안 취약점이 발생하지 않도록 정적 분석 도구를 활용해 탐지 및 수정 기능을 탑재한다. 이를 위해 오탐을 최소화하고, CWEs를 활용한 분류 및 Copilot chat을 통한 코드 스니펫 수정 기능을 추가하여 보안성과 코드 품질을 동시에 개선한다. 최종적으로, 사용자의 편의성을 고려하여 IDE 플러그인 형태로 개발하고 VS Code 확장 프로그램으로 배포한다.

● 기존 AI - Coding copilot의 한계 및 보완: GitHub Copilot 등 주요 AI - Coding copilot은 OWASP TOP 10에 해당하는 보안 취약점을 내포한 코드 패턴을 반복적으로 생성하는 문제가 있다. 다음과 같은 구조적인 한계가 존재한다.

■ AI 모델은 대량의 오픈 소스 코드를 학습하여 코드를 생성한다. 이때, 학습 데이터에 포함된 보안 취약점이 그대로 전파될 수 있다.

■ 이렇게 생성된 취약한 코드가 다시 학습 데이터로 사용되면, AI 모델은 점점 더 보안 취약한 코드를 생성하게 되는 악순환이 발생한다.

■ 개발자가 AI가 제안한 코드를 신뢰하고 프로젝트에 통합할 경우, 보안 문제가 실제 서비스로 확산 될 가능성이 있다.

이러한 문제는 실증 연구를 통해서도 확인되었다. 논문 Security Weaknesses of Copilot-Generated Code in GitHub Projects: An Empirical Study, (Fu et. al., 2023)에서는 Github Copilot, CodeWhisperer, Codeium이 생성한 소스 코드 스니펫을 분석한 결과, Python 코드의 29.5%, JavaScript 코드의 24.2%가 보안 취약점 발생 가능성이 높음으로 평가되었다. 이는 Common Weakness Enumeration (CWE) 43개 항목에 걸쳐 나타났으며, 대부분의 OWASP Top10 항목에 포함되는 보안 취약점이다. 따라서 CastleCoder는 이러한 보안 취약점을 분석하고 안전한 코드로 리팩토링하고자 한다.

● 기존 취약점 탐지 도구의 한계 및 보완: Bandit은 Python 코드의 대표적인 정적 분석 도구지만, 모든 취약점을 완벽히 탐지하지 못한다. 예를 들어, 정상 코드를 취약점으로 잘못 판단하는 ‘오탐’과, 실제 취약점을 놓치는 ‘미탐’이 발생해 신뢰성이 저하된다. 지원 범위 내 취약점 유형에만 대응하므로, 최신 공격 기법이나 도메인 특화 이슈는 탐지에서 제외될 위험이 있다. 따라서 CastleCoder는 OWASP Top 10 기반의 벤치마크를 직접 제작하여 이를 보완하고자 한다.

개발 과제의 목표 및 내용

내용

관련 기술의 현황

관련 기술의 현황 및 분석(State of art)

  • 전 세계적인 기술현황

내용

  • 특허조사 및 특허 전략 분석

내용

  • 기술 로드맵

내용

시장상황에 대한 분석

  • 경쟁제품 조사 비교

내용

  • 마케팅 전략 제시

내용

개발과제의 기대효과

기술적 기대효과

내용

경제적, 사회적 기대 및 파급효과

내용

기술개발 일정 및 추진체계

개발 일정

내용

구성원 및 추진체계

내용

설계

설계사양

제품의 요구사항

내용

설계 사양

내용

개념설계안

내용

이론적 계산 및 시뮬레이션

내용

상세설계 내용

내용

결과 및 평가

완료 작품의 소개

프로토타입 사진 혹은 작동 장면

내용

포스터

내용

관련사업비 내역서

내용

완료작품의 평가

내용

향후계획

내용

특허 출원 내용

내용