
애플리케이션 보안 취약점에 대한 개발자 중심 지식 베이스로, 안전하지 않은 코드와 안전한 코드 예제, 예방 지침, 그리고 다양한 언어와 프레임워크에 걸친 OWASP/CWE 매핑을 제공합니다.
VulnVault는 일반적이고 치명적인 애플리케이션 보안 취약점에 대한 실용적이고 개발자 중심의 지식 베이스로, 코드부터 빌드, 인프라, 배포까지 전체 라이프사이클을 다룹니다.
명확한 설명, 현실적인 취약 코드 대 안전한 코드 예제, 그리고 여러 프로그래밍 언어와 프레임워크에 걸친 실행 가능한 지침을 제공하여 팀이 기본적으로 안전한 애플리케이션을 구축할 수 있도록 돕습니다.
🎯 목표: 안전한 코딩을 이해하기 쉽고, 접근 가능하며, 반복 가능하게 만들어 조직의 애플리케이션 보안 태세를 향상시킵니다.
대부분의 보안 지침은 다음 중 하나입니다:
VulnVault는 다음과 같은 방식으로 그 간극을 메웁니다:
이 저장소는 다음 사용자를 위해 설계되었습니다:
VulnVault는 도구나 표준이 아닌 취약점 카테고리별로 구성되어 있습니다.
각 취약점은 일반적으로 다음을 포함합니다:
예제는 인위적인 코드 조각이 아닌 현실적인 애플리케이션 패턴을 사용하여 작성되었습니다.
현재 범위는 다음과 같으며 (계속 확장 중):
각 예제는 ❌ 취약한 구현과 ✅ 안전한 구현을 나란히 대비합니다.
String query = "SELECT * FROM users WHERE username = '" + username + "'";
왜 중요한가: 신뢰할 수 없는 입력이 쿼리에 직접 연결되어 공격자가 SQL 로직을 조작할 수 있습니다.
String query = "SELECT * FROM users WHERE username = ?";
PreparedStatement ps = connection.prepareStatement(query);
ps.setString(1, username);
ResultSet rs = ps.executeQuery();
📚 학습 및 참고 개발 중 안전한 코딩 핸드북으로 사용하세요.
🔍 코드 리뷰 PR 댓글에 관련 VulnVault 페이지를 직접 링크하세요.
🧪 보안 테스트 SAST, DAST 또는 침투 테스트에서 발견된 사항이 실제로 악용 가능한지 검증하세요.
🎓 교육 및 온보딩 예제를 사용하여 신입 사원과 주니어 개발자의 역량을 향상시키세요.
🛡 AppSec 프로그램 활성화 지침을 내부 표준, 위협 모델, 위험 허용 범위에 맞추세요.
기여는 환영하며 권장합니다. 다음과 같은 방법으로 기여할 수 있습니다:
기여를 위한 원칙:
VulnVault는 의도적으로 다음에 집중합니다:
이것은 취약점 스캐너가 아니라 보안 활성화 자산입니다.
이 저장소의 예제는 교육 목적으로만 제공됩니다. 취약한 예제를 프로덕션 시스템에 배포하지 마세요.
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.
실제 보안 리뷰, 침투 테스트, 그리고 프로덕션 시스템을 구축하고 보호하면서 얻은 교훈에서 영감을 받았습니다.
🔐 설계 단계부터 안전한 소프트웨어를 구축하세요.