업데이트로 돌아가기
New releaseSep 4, 2026

noir v1.3.1

코드의 모든 엔드포인트를 찾아내고, 섀도우 API를 노출하고, 공격 표면을 매핑하세요.

공유
OWASP Noir Logo

코드에 있는 모든 엔드포인트를 찾아내고, 섀도 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에 합류했습니다.

뉴스 및 업데이트

  • 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 저장소를 확인하세요.

카테고리