
noir v1.3.1
코드의 모든 엔드포인트를 찾아내고, 섀도우 API를 노출하고, 공격 표면을 매핑하세요.
코드에 있는 모든 엔드포인트를 찾아내고, 섀도 API를 드러내며, 공격 표면을 매핑하세요.
문서 • 설치 • 사용법 • Github Action • 기여 • 변경 이력
Noir는 소스 코드를 읽고 애플리케이션이 노출하는 엔드포인트 — 경로, 메서드, 파라미터, 헤더, 쿠키, 그리고 그 뒤에 있는 소스 파일 — 를 추출하는 SAST 도구입니다. 섀도 API, 사용 중단된 라우트, 문서화되지 않은 핸들러도 같은 인벤토리의 일부로 함께 나오며, 별도의 모드가 아닙니다.
이 인벤토리는 세 가지 사용자층에 활용됩니다:
- 사람 리뷰어. 보안 엔지니어와 코드 감사자는 저장소 전체를 훑어보는 대신, 공격자가 도달할 수 있는 진입점 — 경로, 파라미터, 소스 파일, 태그 — 의 집중된 목록을 얻습니다.
- AI 감사자. LLM 기반 SAST 에이전트는 같은 집중된 목록과 함께 엔드포인트별 리뷰 컨텍스트(
--include callee는 1-hop callee,--ai-context는 가드, 싱크, 검증기, 시그널)를 얻습니다. - DAST 도구. ZAP, Burp Suite, Caido, Gori는 크롤링으로는 결코 도달하지 못했을 경로를 포함한 실제 라우트 목록을 스캔 대상으로 얻습니다.
Noir가 하는 일
- 엔드포인트 추출. 206개 프레임워크에 걸친 정적 분석. 엔드포인트, 파라미터, 헤더, 쿠키, 그리고 그것들이 나온 소스 파일을 반환합니다.
- LLM 폴백. 정적 규칙이 적용되지 않는 경우, 지원되지 않는 프레임워크(또는 일회성 커스텀 라우팅)를 OpenAI / Ollama / 등에 넘깁니다.
- 다음 단계를 위한 출력. JSON, YAML, OpenAPI, SARIF, cURL, Postman, HTML — 파이프라인의 다음 도구가 읽는 형식이면 무엇이든.
- DAST 통합. ZAP, Burp Suite, Caido, Gori에 프록시 대상으로 직접 연결하거나, OpenAPI를 내보내 가져오게 합니다.
- AI SAST 컨텍스트. 엔드포인트 인벤토리(그리고
--include callee사용 시 각 핸들러가 호출하는 1-hop 함수)는 LLM 감사자가 공격자가 도달할 수 있는 버그를 찾는 데 필요한 집중된 컨텍스트입니다.--ai-context는 더 나아가 엔드포인트별로 집계된 리뷰 컨텍스트 — 가드, callee, 싱크, 검증기, 시그널 — 를 첨부하여 LLM이 이를 다시 찾아낼 필요가 없게 합니다. - CI/CD. GitHub Action, SARIF 출력, 종료 코드 — 이미 가지고 있는 파이프라인에 맞춰집니다.
사용법
noir -h
예시
noir scan <source_dir>
Github Action과 함께 사용한다면 이 문서를 참고하세요.

자세한 내용은 문서 페이지를 방문하세요.
로드맵
Noir는 WhiteBox 테스트 보조 도구로 시작했습니다: 소스에서 엔드포인트를 추출하여 DAST가 더 정확하게 스캔할 수 있도록 하는 것이었습니다. 그 역할은 커졌고, 이제 같은 인벤토리가 사람 감사자와 AI SAST 에이전트에게도 활용됩니다. 앞으로의 목표는 코드를 리뷰하는 사람, 코드를 감사하는 LLM, 코드를 스캔하는 DAST 도구 — 이 세 소비자 모두를 똑같이 잘 지원하는 것입니다.
앞으로의 계획:
- 언어와 프레임워크 지원 범위를 넓히고, 프레임워크별 픽스처로 정확성을 투명하게 유지합니다.
- 정적 분석이 닿지 못하는 경우에 LLM을 더 적극적으로 활용합니다.
- 엔드포인트별 리뷰 컨텍스트(가드, callee, 싱크, 검증기, 시그널)를 풍부하게 하여 사람 리뷰어와 AI 감사자가 각 핸들러에 대해 같은 집중된 뷰를 공유하게 합니다.
- DAST 통합을 최우선으로 유지합니다 — OpenAPI, 프록시 대상, 그리고 ZAP / Burp / Caido / Gori로의 직접 전달.
OWASP 프로젝트
OWASP Noir는 2024년 6월에 OWASP Foundation에 합류했습니다.
- 공식 프로젝트 페이지: https://owasp.org/projects/noir
- OWASP Nest: https://nest.owasp.org/projects/noir
뉴스 및 업데이트
- 2026년 5월: v1.0.0 릴리스 — 모든 분석기, 태거, 패시브 스캔에 걸쳐 안정적인 1.x 라인과 완전히 새로운 동사 중심 CLI 구조를 도입했습니다.
- 2026년 5월: 로드맵을 새로 정비했습니다 — 이제 Noir의 목표는 같은 엔드포인트 인벤토리의 소비자로서 사람, AI 감사자, DAST 도구를 동등하게 지원하는 것입니다.
- 2025년 8월: OWASP Seoul Meetup에서 발표했습니다. (Open Source Gardening)
- 2024년 11월: ZAP 블로그에 게스트 블로그 글 "Powering Up DAST with ZAP and Noir"를 게재했습니다.
- 2024년 6월: OWASP Noir로 OWASP에 합류했습니다
- GitHub 조직 이름을 noir-cr에서 owasp-noir로 변경했습니다
- @ksg97031과의 공동 리더십으로 전환했습니다
- 2023년 11월: Noir 저장소를 noir-cr GitHub 조직으로 이전했습니다.
- 2023년 8월: @hahwul의 개인 프로젝트로 시작했습니다.
핵심 팀
기여
Noir는 ❤️를 담아 만든 오픈소스 프로젝트입니다. 기여하고 싶다면 CONTRIBUTING.md를 확인하고 Pull Request를 제출해 주세요.
마스코트
![]() | 우리의 마스코트는 Hak(학)으로, 숨겨진 결함을 찾아내는 우아함과 정밀함을 상징하는 두루미입니다. 한국어로 "학"은 "두루미"를 뜻하며, 코드 속 취약점과 공격 표면을 깊이 파고들어 찾아내는 예리한 조력자를 나타냅니다. Hak과 관련된 더 많은 아트워크와 자료는 noir-artwork 저장소를 확인하세요. |
|---|
