개요
OWASP Noir가 무엇인지, 어떻게 작동하는지, 그리고 목표가 무엇인지 알아보세요. 이 페이지는 프로젝트와 주요 기능에 대한 개괄적인 소개를 제공합니다.
Noir는 소스 코드를 직접 분석하여 정확한 엔드포인트 자산을 식별함으로써 SAST와 DAST 사이의 간극을 메워줍니다. 섀도우 API(Shadow API), 관리되지 않는(Deprecated) 엔드포인트, 그리고 숨겨진 경로 등 기존 도구가 놓치기 쉬운 요소를 정밀하게 탐지합니다.
오래된 문서나 프록시 로그에 의존하는 대신, Noir는 실제 소스 코드를 기반으로 포괄적인 공격 표면 지도를 생성합니다. 이 목록은 화이트박스 테스팅을 수행하는 보안팀과 펜테스터에게 즉시 실행 가능한(Actionable) 엔드포인트 데이터를 제공합니다. 최종적으로 DAST 솔루션과 직접 연동되어 DevSecOps 파이프라인 전체의 테스트 사각지대를 제거합니다.
주요 기능
- 공격 표면 발견: 소스 코드를 분석하여 숨겨진 엔드포인트, Shadow API 및 기타 보안 약점을 포함한 애플리케이션의 전체 공격 표면을 식별합니다.
- AI 기반 분석: LLM을 활용하여 네이티브로 지원되지 않는 언어나 프레임워크에서도 엔드포인트를 탐지하여 포괄적인 커버리지를 보장합니다.
- SAST-DAST 연결: 발견된 엔드포인트를 DAST 도구에 제공하여 정적 코드 분석과 동적 테스트를 연결하고, 더 정확하고 포괄적인 보안 스캔을 가능하게 합니다.
- DevSecOps 지원: ZAP, Burp Suite, Caido 등 인기 보안 도구를 지원하며 CI/CD 파이프라인에 원활하게 통합되도록 설계되었습니다.
- 다양한 출력 형식: JSON, YAML, OpenAPI 명세 등 다양한 형식으로 결과를 제공하여 기존 워크플로우와 쉽게 통합할 수 있습니다.

작동 방식
Noir는 Crystal 프로그래밍 언어로 구축되었으며 코드를 분석하기 위해 함께 작동하는 여러 핵심 구성 요소로 구성됩니다:
- 탐지기: 코드베이스에서 사용되는 기술을 식별합니다.
- 분석기: 코드를 파싱하여 엔드포인트, 매개변수 및 기타 흥미로운 정보를 찾습니다.
- LLM 분석기: AI를 사용하여 지원되지 않거나 익숙하지 않은 프레임워크에서 엔드포인트를 발견합니다.
- 패시브 스캐너 및 태거: 규칙을 사용하여 잠재적 취약점을 식별하고 발견 사항에 컨텍스트 태그를 추가합니다.
- 전달: 추가 분석을 위해 결과를 다른 도구로 전송합니다.
- 출력 빌더: 다양한 형식으로 보고서를 생성합니다.
프로젝트 목표
Noir의 주요 목표는 정적 코드 분석과 동적 보안 테스트 간의 격차를 해소하는 것입니다. 숨겨지거나 문서화되지 않은 엔드포인트를 포함하여 애플리케이션의 포괄적이고 정확한 엔드포인트 목록을 제공함으로써 DAST 도구가 더 철저하고 효과적인 스캔을 수행할 수 있도록 합니다.
Noir는 DevSecOps 파이프라인에서 중요한 연결 고리 역할을 하며, 소스 코드 분석을 보안 도구가 즉시 사용할 수 있는 실행 가능한 엔드포인트 데이터로 변환합니다.
앞으로 더 많은 언어와 프레임워크 지원을 확대하고, 분석 정확도를 개선하며, AI와 LLM을 더욱 활용하여 기능을 향상시킬 계획입니다.
기여하기
OWASP Noir는 커뮤니티 기여로 성장하는 오픈 소스 프로젝트입니다. 도구 개선에 관심이 있으시다면 기여 가이드를 확인해 주세요. 오타 수정부터 주요 새 기능 추가까지 모든 규모의 기여를 환영합니다.
기여자
Noir에 기여해 주신 모든 분께 감사드립니다! ♥️
행동 강령
우리는 환영하고 포용적인 커뮤니티를 육성하기 위해 최선을 다하고 있습니다. GitHub 저장소의 행동 강령을 검토해 주세요.