OWASP Top 10 - 2021
OWASP(Open Worldwide Application Security Project) Top 10은 가장 널리 인정받는 웹 애플리케이션 보안 위험 목록입니다. VEXLIT은 10개 카테고리 전체의 취약점을 탐지합니다.
VEXLIT 커버리지
6,200개 이상의 규칙으로 OWASP Top 10 전체 카테고리를 98.2% 탐지율로 커버합니다.
A01: 취약한 접근 제어
인증된 사용자가 수행할 수 있는 작업에 대한 제한이 제대로 적용되지 않는 경우가 많습니다. 공격자는 이러한 결함을 이용하여 무단 데이터나 기능에 접근합니다.
// Vulnerable: No authorization check
app.get('/api/admin/users', (req, res) => {
db.query('SELECT * FROM users', (err, rows) => {
res.json(rows);
});
});
// Secure: Role-based access control
app.get('/api/admin/users', requireRole('admin'), (req, res) => {
db.query('SELECT * FROM users', (err, rows) => {
res.json(rows);
});
});A02: 암호화 실패
민감 데이터 노출로 이어지는 암호화 관련 실패입니다. 비밀번호에 MD5/SHA1 같은 취약한 알고리즘 사용, 하드코딩된 암호화 키, TLS 누락 등이 포함됩니다.
A03: 인젝션
사용자 제공 데이터가 명령어나 쿼리의 일부로 인터프리터에 전송됩니다. SQL 인젝션, NoSQL 인젝션, OS 커맨드 인젝션, LDAP 인젝션이 일반적인 예입니다.
A04: 불안전한 설계
애플리케이션 설계에서 누락되거나 비효과적인 보안 제어입니다. 이 카테고리는 구현 버그가 아닌 설계 결함 관련 위험에 초점을 맞춥니다.
A05: 보안 설정 오류
보안 강화 누락, 불필요한 기능 활성화, 기본 계정, 과도하게 정보를 노출하는 오류 메시지, 잘못 설정된 HTTP 헤더 등입니다.
A06: 취약한 컴포넌트
알려진 취약점이 있는 컴포넌트 사용입니다. VEXLIT의 SCA는 12개 패키지 생태계를 스캔하고 OSV, GHSA, NVD 데이터베이스를 확인합니다.
A07: 인증 실패
공격자가 비밀번호, 키 또는 세션 토큰을 탈취할 수 있는 인증 및 세션 관리의 약점입니다.
A08: 소프트웨어 및 데이터 무결성
무결성 위반을 방지하지 않는 코드와 인프라입니다. 안전하지 않은 역직렬화, 신뢰할 수 없는 CI/CD 파이프라인, 검증 없는 자동 업데이트 등이 포함됩니다.
A09: 로깅 및 모니터링
불충분한 로깅, 탐지, 모니터링 및 능동적 대응입니다. 적절한 로깅 없이는 침해를 적시에 탐지할 수 없습니다.
A10: SSRF
서버 측 요청 위조(SSRF)는 웹 애플리케이션이 사용자 제공 URL을 검증하지 않고 원격 리소스를 가져올 때 발생하며, 공격자가 내부 서비스에 접근할 수 있게 합니다.
VEXLIT으로 탐지
하나의 명령어로 코드베이스의 모든 OWASP Top 10 취약점을 탐지하세요.
npx @vexlit/cli scan . --fail-on medium