Noir 설치

Homebrew, Snapcraft, Docker, npm, Nix, AUR, .deb, .rpm, .apk, 바이너리 다운로드(Linux, macOS, Windows), 소스 빌드 중 하나로 OWASP Noir를 설치합니다.

Hak, the OWASP Noir mascot

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 다음 릴리즈부터 나옵니다.

설치 및 업데이트:

  1. 플랫폼에 맞는 바이너리를 다운로드합니다(예: 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).

  2. Linux: 실행 권한을 주고 PATH로 옮깁니다.

    chmod +x noir-v*-linux-*
    sudo mv noir-v*-linux-* /usr/local/bin/noir
    
  3. 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/noir
    

    sudo 없이 사용자 단위로 설치하려면 ~/.local/noir에 풀고 ~/.local/noir를 PATH에 추가하세요.

    macOS 아카이브에는 OpenSSL 라이브러리가 lib/에 포함되어 있으므로, noir 바이너리만 따로 옮기지 마세요.

  4. 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를 교체합니다).

  5. 설치를 확인합니다.

    noir --version
    

Debian 패키지 (.deb)

Debian/Ubuntu 계열이라면 GitHub Releases의 .deb 패키지를 쓸 수 있습니다. dpkg/apt로 다른 시스템 패키지처럼 관리됩니다. amd64와 arm64를 모두 제공합니다. 아래 명령은 amd64 기준이니 ARM 머신에서는 arm64로 바꾸세요.

설치 및 업데이트:

  1. 최신 버전을 조회하고 다운로드합니다.

    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"
    
  2. 패키지를 설치하거나 업그레이드합니다.

    sudo dpkg -i "noir_${VERSION}_amd64.deb"
    
  3. 빠진 의존성이 있으면 채웁니다.

    sudo apt-get -f install
    
  4. 설치를 확인합니다.

    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로 바꾸세요.

설치:

  1. 최신 버전을 조회하고 다운로드합니다.

    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"
    
  2. 설치합니다.

    sudo rpm -i "noir-${VERSION}.x86_64.rpm"
    

    또는 dnf로 설치합니다.

    sudo dnf install "./noir-${VERSION}.x86_64.rpm"
    

업데이트:

  1. 설치 단계와 같은 방법으로 최신 버전을 다운로드합니다.

  2. 업그레이드합니다.

    sudo rpm -U "noir-${VERSION}.x86_64.rpm"
    

    또는 dnf로 업그레이드합니다.

    sudo dnf upgrade "./noir-${VERSION}.x86_64.rpm"
    
  3. 설치를 확인합니다.

    noir --version
    

Alpine 패키지 (.apk)

Alpine Linux 사용자는 GitHub Releases의 .apk 패키지를 쓸 수 있습니다. x86_64와 aarch64를 모두 제공합니다. 아래 명령은 x86_64 기준이니 ARM 머신에서는 aarch64로 바꾸세요.

설치 및 업데이트:

  1. 최신 버전을 조회하고 다운로드합니다.

    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"
    
  2. 설치하거나 업그레이드합니다.

    sudo apk add --upgrade --allow-untrusted "noir-${VERSION}-x86_64.apk"
    
  3. 설치를 확인합니다.

    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에 생성됩니다.

설치:

  1. 저장소 클론:

    git clone https://github.com/owasp-noir/noir
    cd noir
    
  2. 의존성 설치:

    shards install
    
  3. 빌드:

    shards build --release
    

    빌드된 바이너리는 ./bin/noir에 생깁니다.

업데이트:

  1. 최신 변경 사항 가져오기:

    git pull
    
  2. 의존성 설치 및 재빌드:

    shards install
    shards build --release
    

설치 확인

어떤 방법을 선택했든, 아래 명령으로 설치를 확인합니다.

noir --version

버전 번호가 표시되면 준비 완료입니다.


다음: 첫 번째 스캔