Noir 설치
Homebrew, Snapcraft, Docker, npm, Nix, AUR, .deb, .rpm, .apk, 바이너리 다운로드(Linux, macOS, Windows), 소스 빌드 중 하나로 OWASP Noir를 설치합니다.
Noir는 런타임 의존성 없이 단일 바이너리로 배포돼. 대부분은 Homebrew가 제일 빠르지만, 시스템에 맞는 걸 골라.
아래 방법은 모두 같은 noir 바이너리를 설치하므로, 플랫폼에 맞는 하나만 고르고 나머지는 건너뛰세요. 대략 쉬운 순서로 정리했습니다.
Homebrew (macOS 및 Linux)
가장 쉬운 방법입니다. Noir에는 공식 Homebrew formula가 있습니다.
설치:
brew install noir
업데이트:
brew upgrade noir
Snapcraft (Linux)
Snap 패키지는 대부분의 Linux 배포판에서 동작하고, 백그라운드에서 자동 업데이트됩니다.
설치:
sudo snap install noir
수동 업데이트:
sudo snap refresh noir
Docker
호스트에 직접 설치하고 싶지 않거나, CI/CD 파이프라인에서 쓸 때 유용합니다.
최신 이미지 받기(업데이트도 같은 명령):
docker pull ghcr.io/owasp-noir/noir:latest
현재 디렉터리를 스캔합니다.
docker run --rm -v $(pwd):/tmp ghcr.io/owasp-noir/noir:latest noir scan /tmp
릴리즈 이미지 태그에는 v 접두사가 붙지 않습니다: :1.4.0, :1.4, :1, :latest. :main 태그는 main 브랜치를 따라갑니다. v0.29.1까지는 :vX.Y.Z 형태를 썼으니, 버전을 고정해 둔 참조가 있다면 바꾸세요. 전체 태그 목록은 GitHub Packages 페이지에 있습니다.
npm (macOS 및 Linux)
Node.js 20 이상이 이미 있다면 @owasp-noir/noir 패키지로 설치할 수 있습니다. 설치 중에 플랫폼에 맞는 릴리즈 바이너리를 내려받고, 패키지에 고정된 SHA-256과 맞는지 확인합니다.
설치:
npm install -g @owasp-noir/noir
업데이트:
npm update -g @owasp-noir/noir
설치 없이 한 번만 실행:
npx @owasp-noir/noir -h
Nix
Nix 사용자라면 Flakes로 설치할 수 있습니다.
설치:
nix profile add github:owasp-noir/noir
업데이트:
nix profile upgrade noir
nix --extra-experimental-features "nix-command flakes" profile add github:owasp-noir/noir
설치 없이 한 번만 실행해 볼 수도 있습니다.
nix run github:owasp-noir/noir -- -h
바이너리 직접 다운로드
패키지 매니저가 없다면 GitHub Releases에서 미리 빌드된 바이너리를 받으세요. Linux와 macOS용이 있고, Windows(x86_64)용은 v1.4.0 다음 릴리즈부터 나옵니다.
설치 및 업데이트:
-
플랫폼에 맞는 바이너리를 다운로드합니다(예: Linux는
noir-v1.4.0-linux-x86_64, macOS는noir-v1.4.0-osx-arm64.tar.gz, Windows는noir-vX.Y.Z-windows-x86_64.exe). -
Linux: 실행 권한을 주고
PATH로 옮깁니다.chmod +x noir-v*-linux-* sudo mv noir-v*-linux-* /usr/local/bin/noir -
macOS: tarball을 풀고, 함께 들어 있는
lib/디렉터리는 바이너리 옆에 그대로 둡니다.# 시스템 전역 설치 sudo mkdir -p /opt/noir sudo tar xzf noir-v*-osx-*.tar.gz -C /opt/noir sudo ln -sf /opt/noir/noir /usr/local/bin/noirsudo없이 사용자 단위로 설치하려면~/.local/noir에 풀고~/.local/noir를PATH에 추가하세요.macOS 아카이브에는 OpenSSL 라이브러리가
lib/에 포함되어 있으므로,noir바이너리만 따로 옮기지 마세요. -
Windows:
.exe하나로 동작합니다. 이름을noir.exe로 바꾸고PATH에 들어 있는 폴더에 둡니다. 사용자 단위로 설치하려면 PowerShell에서 다음을 실행합니다.$dir = "$env:LOCALAPPDATA\noir" New-Item -ItemType Directory -Force $dir | Out-Null Move-Item -Force .\noir-v*-windows-x86_64.exe "$dir\noir.exe" [Environment]::SetEnvironmentVariable("Path", [Environment]::GetEnvironmentVariable("Path", "User") + ";$dir", "User")바뀐
PATH가 적용되도록 터미널을 새로 엽니다. 나중에 업데이트할 때는 새로 받은 파일로Move-Item줄만 다시 실행하면 됩니다(-Force가 기존noir.exe를 교체합니다). -
설치를 확인합니다.
noir --version
Debian 패키지 (.deb)
Debian/Ubuntu 계열이라면 GitHub Releases의 .deb 패키지를 쓸 수 있습니다. dpkg/apt로 다른 시스템 패키지처럼 관리됩니다. amd64와 arm64를 모두 제공합니다. 아래 명령은 amd64 기준이니 ARM 머신에서는 arm64로 바꾸세요.
설치 및 업데이트:
-
최신 버전을 조회하고 다운로드합니다.
VERSION=$(curl -s https://api.github.com/repos/owasp-noir/noir/releases/latest | grep '"tag_name":' | sed -E 's/.*"v([^"]+)".*/\1/') wget "https://github.com/owasp-noir/noir/releases/download/v${VERSION}/noir_${VERSION}_amd64.deb" -
패키지를 설치하거나 업그레이드합니다.
sudo dpkg -i "noir_${VERSION}_amd64.deb" -
빠진 의존성이 있으면 채웁니다.
sudo apt-get -f install -
설치를 확인합니다.
noir --version
Arch Linux (AUR)
Noir는 AUR에 공식 등록되어 있습니다.
설치 및 업데이트:
yay -S noir
RPM 패키지 (.rpm)
Fedora, RHEL, CentOS, openSUSE 등 RPM 기반 배포판은 GitHub Releases의 .rpm 패키지를 쓸 수 있습니다. x86_64와 aarch64를 모두 제공합니다. 아래 명령은 x86_64 기준이니 ARM 머신에서는 aarch64로 바꾸세요.
설치:
-
최신 버전을 조회하고 다운로드합니다.
VERSION=$(curl -s https://api.github.com/repos/owasp-noir/noir/releases/latest | grep '"tag_name":' | sed -E 's/.*"v([^"]+)".*/\1/') wget "https://github.com/owasp-noir/noir/releases/download/v${VERSION}/noir-${VERSION}.x86_64.rpm" -
설치합니다.
sudo rpm -i "noir-${VERSION}.x86_64.rpm"또는
dnf로 설치합니다.sudo dnf install "./noir-${VERSION}.x86_64.rpm"
업데이트:
-
설치 단계와 같은 방법으로 최신 버전을 다운로드합니다.
-
업그레이드합니다.
sudo rpm -U "noir-${VERSION}.x86_64.rpm"또는
dnf로 업그레이드합니다.sudo dnf upgrade "./noir-${VERSION}.x86_64.rpm" -
설치를 확인합니다.
noir --version
Alpine 패키지 (.apk)
Alpine Linux 사용자는 GitHub Releases의 .apk 패키지를 쓸 수 있습니다. x86_64와 aarch64를 모두 제공합니다. 아래 명령은 x86_64 기준이니 ARM 머신에서는 aarch64로 바꾸세요.
설치 및 업데이트:
-
최신 버전을 조회하고 다운로드합니다.
VERSION=$(curl -s https://api.github.com/repos/owasp-noir/noir/releases/latest | grep '"tag_name":' | sed -E 's/.*"v([^"]+)".*/\1/') wget "https://github.com/owasp-noir/noir/releases/download/v${VERSION}/noir-${VERSION}-x86_64.apk" -
설치하거나 업그레이드합니다.
sudo apk add --upgrade --allow-untrusted "noir-${VERSION}-x86_64.apk" -
설치를 확인합니다.
noir --version
소스에서 빌드
직접 빌드하거나 프로젝트에 기여할 때 씁니다.
먼저 crystal-lang.org에서 Crystal을 설치하세요.
Windows: 빌드할 때 내장된 Tree-sitter 문법을 작은 셸 스크립트로 컴파일합니다. 그래서 Crystal for Windows 외에 Git for Windows(sh 제공)와 clang(Visual Studio Build Tools의 "C++ Clang tools for Windows" 구성 요소 또는 LLVM)이 필요합니다. 아래 단계는 Git Bash에서 실행하세요. 바이너리는 bin\noir.exe에 생성됩니다.
설치:
-
저장소 클론:
git clone https://github.com/owasp-noir/noir cd noir -
의존성 설치:
shards install -
빌드:
shards build --release빌드된 바이너리는
./bin/noir에 생깁니다.
업데이트:
-
최신 변경 사항 가져오기:
git pull -
의존성 설치 및 재빌드:
shards install shards build --release
설치 확인
어떤 방법을 선택했든, 아래 명령으로 설치를 확인합니다.
noir --version
버전 번호가 표시되면 준비 완료입니다.
다음: 첫 번째 스캔