TechFi 유료 서비스 · 한시적 테스트 개방 중
이 기능은 테크파이(TechFi)의 허가 기업에만 제공되는 유료 서비스입니다. 현재 테스트 목적으로 일시 공개되었으며, 정식 이용 시 도입 문의가 필요합니다.
KISA SW 개발보안 가이드 7대 유형 · 40개 보안약점 사전 + AI 코드 진단 실습
7대 유형
KISA 기준
40개 항목
주요 보안약점
코드 예시
취약/안전 비교
AI 진단
실시간 코드 분석
27개 항목
SQL 삽입
외부 입력값을 적절한 검증 없이 SQL 쿼리에 직접 사용하여 DB를 비정상적으로 조작할 수 있는 취약점
경로 조작 및 자원 삽입
외부 입력값으로 파일 경로를 구성할 때 "../" 등 경로 조작 문자를 통해 허가되지 않은 파일에 접근하는 취약점
XSS (크로스사이트 스크립팅)
검증되지 않은 외부 입력값이 웹 페이지에 그대로 출력되어 악성 스크립트가 피해자 브라우저에서 실행되는 취약점
운영체제 명령어 삽입
외부 입력값이 운영체제 명령어의 일부로 전달되어 공격자가 임의 명령을 실행할 수 있는 취약점
CSRF (크로스사이트 요청 위조)
인증된 사용자의 브라우저를 통해 공격자가 의도한 요청을 서버에 전송하는 취약점
위험한 형식 파일 업로드
실행 가능한 파일(jsp, php, sh 등)을 업로드하여 서버에서 임의 코드를 실행할 수 있는 취약점
오픈 리다이렉트
외부 입력값으로 리다이렉트 URL을 결정하여 피싱 사이트로 이동시키는 취약점
적절한 인증 없는 중요기능 허용
인증 절차 없이 중요한 기능(관리자 페이지, 데이터 변경 등)에 접근할 수 있는 취약점
취약한 암호화 알고리즘 사용
MD5, SHA-1, DES 등 안전하지 않은 암호화 알고리즘을 사용하는 취약점
하드코드된 패스워드
소스코드나 설정 파일에 패스워드, API 키, 비밀 키 등을 직접 하드코딩하는 취약점
적절하지 않은 난수값 사용
보안에 예측 가능한 난수 생성 함수를 사용하여 세션 토큰, 암호화 키 등을 생성하는 취약점
취약한 JWT 검증
JWT alg=none 허용 또는 서명 검증 미흡으로 토큰을 위조할 수 있는 취약점
검사 시점과 사용 시점(TOCTOU)
파일이나 자원의 존재를 확인한 시점과 실제 사용 시점 사이에 상태가 변경되어 발생하는 취약점
경쟁 조건 (Race Condition)
멀티스레드 환경에서 공유 자원에 대한 동기화 없이 접근하여 예기치 않은 결과가 발생하는 취약점
종료되지 않는 반복문 또는 재귀함수
입력값에 따라 반복문이나 재귀 호출이 종료되지 않아 서버 자원을 고갈시키는 취약점
오류 메시지를 통한 정보 노출
예외 발생 시 스택 트레이스, DB 쿼리, 시스템 경로 등 내부 정보가 사용자에게 노출되는 취약점
오류 상황 대응 부재
함수 반환값, 외부 API 응답, 파일 I/O 결과 등의 오류 상황을 확인하지 않아 비정상 동작하는 취약점
부적절한 예외 처리
너무 광범위한 예외를 잡거나, 예외를 무시하거나, 동일한 catch 블록에서 다른 예외를 처리하는 취약점
Null 포인터 역참조
null 참조에 대해 메서드 호출이나 필드 접근을 시도하여 예외가 발생하는 취약점
정수 오버플로우
정수 연산 결과가 표현 가능한 범위를 초과하여 예기치 않은 값이 되는 취약점
메모리 버퍼 오버플로우
할당된 메모리 버퍼 경계를 넘어 데이터를 쓰는 취약점으로 프로그램 흐름을 변경할 수 있음
포맷 스트링 삽입
사용자 입력이 printf 등의 포맷 문자열에 직접 사용되어 메모리를 읽거나 쓸 수 있는 취약점
잘못된 데이터 숨김
private으로 보호되어야 할 중요 데이터가 public으로 선언되어 외부에서 직접 접근 가능한 취약점
제거되지 않고 남은 디버그 코드
개발·테스트용 디버그 코드나 백도어가 프로덕션에 남아 보안 우회가 가능한 취약점
변경 가능한 객체 반환
getter가 내부 배열·컬렉션 객체의 참조를 직접 반환하여 외부에서 내부 상태를 변경할 수 있는 취약점
DNS lookup에 의존한 보안 결정
DNS 조회 결과를 신뢰하여 보안 결정을 내리는 취약점으로 DNS 스푸핑 공격에 취약
취약한 API 사용
보안 취약점이 알려진 deprecated API, 위험한 함수, 또는 안전하지 않은 라이브러리를 사용하는 취약점