업데이트로 돌아가기
New releaseJul 19, 2026

noir v1.2.0

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

공유
OWASP Noir Logo

코드에 있는 모든 엔드포인트를 찾아내고, 섀도 API를 드러내며, 공격 표면을 매핑하세요.

문서 • 설치 • 사용법 • Github Action • 기여 • 변경 로그

Noir는 소스 코드를 읽고 애플리케이션이 노출하는 엔드포인트 — 경로, 메서드, 파라미터, 헤더, 쿠키, 그리고 그 뒤에 있는 소스 파일 — 를 추출하는 SAST 도구입니다. 섀도 API, 폐기된 라우트, 문서화되지 않은 핸들러도 같은 인벤토리의 일부로 함께 나옵니다. 별도의 모드가 아닙니다.

이 인벤토리는 세 가지 대상에게 제공됩니다:

  • 사람 리뷰어. 보안 엔지니어와 코드 감사자는 저장소 전체를 훑는 대신, 공격자가 도달할 수 있는 진입점 — 경로, 파라미터, 소스 파일, 태그 — 의 집중된 목록을 얻습니다.
  • AI 감사자. LLM 기반 SAST 에이전트는 같은 집중 목록에 더해 엔드포인트별 리뷰 컨텍스트(--include callee로 1-hop 피호출자, --ai-context로 가드, 싱크, 검증자, 시그널)를 얻습니다.
  • DAST 도구. ZAP, Burp Suite, Caido, Gori는 크롤링으로는 결코 도달하지 못했을 경로를 포함한 실제 라우트 목록을 스캔 대상으로 얻습니다.

Noir가 하는 일

  • 엔드포인트 추출. 261개 프레임워크에 걸친 정적 분석. 엔드포인트, 파라미터, 헤더, 쿠키, 그리고 그것들이 유래한 소스 파일을 반환합니다.
  • 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는 더 나아가 엔드포인트별로 집계된 리뷰 컨텍스트 — 가드, 피호출자, 싱크, 검증자, 시그널 — 를 첨부하여 LLM이 이를 다시 발견할 필요가 없게 합니다.
  • CI/CD. GitHub Action, SARIF 출력, 종료 코드 — 이미 갖춘 파이프라인에 맞춰집니다.

사용법

noir -h

예시

noir scan <source_dir>

Github Action과 함께 사용하는 경우 이 문서를 참고하세요.

자세한 내용은 문서 페이지를 방문해 주세요.

로드맵

Noir는 WhiteBox 테스트 보조 도구로 시작했습니다. 소스에서 엔드포인트를 추출하여 DAST가 이를 더 정확하게 스캔할 수 있도록 하는 것이었습니다. 그 역할은 확장되었습니다. 이제 동일한 인벤토리가 사람 감사자와 AI SAST 에이전트에게도 제공됩니다. 앞으로의 목표는 코드를 검토하는 사람, 코드를 감사하는 LLM, 코드를 스캔하는 DAST 도구라는 세 가지 소비자 모두에게 동등하게 잘 서비스하는 것입니다.

앞으로의 계획:

  • 언어 및 프레임워크 지원 범위를 넓히고, 프레임워크별 픽스처로 정확성을 투명하게 유지합니다.
  • 정적 분석이 닿지 못하는 경우에 LLM을 더 적극적으로 활용합니다.
  • 엔드포인트별 검토 컨텍스트(가드, 호출 대상, 싱크, 검증기, 신호)를 풍부하게 하여 사람 검토자와 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 저장소를 확인하세요.

카테고리