엔드포인트 추출
정적 분석으로 코드에서 경로와 메서드, 파라미터, 헤더, 쿠키를 뽑아냅니다. 섀도우 API와 잊혀진 핸들러도 별도 모드가 아니라 같은 패스에서 함께 드러납니다.
소스를 한 번 훑어, 리뷰어와 모델과 스캐너가 모두 필요로 하는 엔드포인트 목록을 만듭니다.
정적 분석으로 코드에서 경로와 메서드, 파라미터, 헤더, 쿠키를 뽑아냅니다. 섀도우 API와 잊혀진 핸들러도 별도 모드가 아니라 같은 패스에서 함께 드러납니다.
--ai-context는 각 엔드포인트에 가드와 싱크, 검증기, 시그널을 붙입니다. 모델이 저장소 전체 대신 핸들러를 읽게 됩니다.
플러그인도, 언어별 설정도 없는 단일 바이너리입니다. 정적 규칙이 놓친 프레임워크는 LLM이 대신 처리합니다.
심각도가 매겨진 규칙이 같은 트리를 훑어 하드코딩된 키와 토큰, 자격 증명을 보고합니다. 직접 만든 규칙이나 커뮤니티 규칙을 쓸 수 있습니다.
17개의 태거가 어디부터 살펴봐야 하는지 알려주는 속성을 엔드포인트에 붙입니다.
corsjwtoauthgraphqlpiipaymentfile_uploadwebhookwebsocketsoapcryptodebugadminaccount_recoveryapi_docshunt_parammcp
Noir가 언어와 프레임워크, 라우팅 방식을 스스로 알아냅니다. 미리 설정할 것은 없습니다.
noir scan ./your-project
모든 엔드포인트는 출처가 된 파일과 줄 번호를 함께 갖고 있어, 결과에서 코드까지 한 번에 이동합니다.
noir scan ./your-project --include path,techs -f json -o endpoints.json
스캐너에는 OpenAPI를, 코드 스캐닝 대시보드에는 SARIF를 내보내거나, 인터셉트 프록시로 요청을 바로 흘려보내세요.
noir scan ./your-project -f oas3 --probe-via http://127.0.0.1:8080
스물두 가지. 다음 도구가 이미 알아듣는 형식을 고르세요.
plainjsonjsonlyamltomlmarkdown-tablesarifhtmloas2oas3postman
curlhttpiepowershelladbsimctlmermaidonly-urlonly-paramonly-headeronly-cookieonly-tag
저장소를 통째로 훑는 대신, 공격자가 도달할 수 있는 진입점만 추린 목록을 받습니다.
같은 목록에 더해 각 엔드포인트를 둘러싼 가드와 싱크, 검증기까지 함께 받습니다.
크롤러가 결코 닿지 못할 경로를 프록시 대상이나 OpenAPI 문서로 ZAP과 Burp, Caido에 넘깁니다.
Noir는 OWASP 재단 프로젝트이며 MIT 라이선스로 배포되고, 실제로 사용하는 사람들이 관리합니다. 프레임워크 지원과 스캔 규칙, 출력 형식은 모두 기여로 채워집니다.
기여 가이드 읽기