NOIR Network Attack Surface Detector From Source Code

NOIR Attack Surface Detector
NOIR Attack Surface Detector

Noir An Network Attack Surface Detect and Analysis From Source Code

Key Features

  • Automatically identify language and framework from source code.
  • Find API endpoints and web pages through code analysis.
  • Load results quickly through interactions with proxy tools such as ZAP, Burpsuite, Caido and More Proxy tools.
  • That provides structured data such as JSON and HAR for identified Attack Surfaces to enable seamless interaction with other tools. Also provides command line samples to easily integrate and collaborate with other tools, such as curls or httpie.

Available Support Scope

Endpoint’s Entities

  • Path
  • Method
  • Param
  • Header
  • Protocol (e.g ws)

Languages and Frameworks

Language Framework URL Method Param Header WS
Go Echo X X
Python Django X X X X
Python Flask X X X X
Ruby Rails X
Ruby Sinatra X
Php X
Java Spring X X X
Java Jsp X X X X X
Crystal Kemal
JS Express X X X
JS Next


Specification Format URL Method Param Header WS
OAS 2.0 (Swagger 2.0) JSON X
OAS 2.0 (Swagger 2.0) YAML X
OAS 3.0


NOIR Surface Detector Screenshot
NOIR Surface Detector Screenshot

Homebrew (macOS)

  • brew tap hahwul/noir
  • brew install noir

From Sources

# Install Crystal-lang
# Clone this repo
git clone
cd noir
# Install Dependencies
shards install
# Build
shards build –release –no-debug
# Copy binary
cp ./bin/noir /usr/bin/
Docker (GHCR)
docker pull



Usage: noir <flags>
  •     -b PATH, –base-path ./app       (Required) Set base path
  •     -u URL, –url http://..                 Set base url for endpoints
  •     -s SCOPE, –scope url,param     Set scope for detection
  •     -f FORMAT, –format json     Set output format [plain/json/markdown-table/curl/httpie]
  •     -o PATH, –output out.txt      Write result to file
  •     –set-pvalue VALUE               Specifies the value of the identified parameter
  •     –no-color                                 Disable color output
  •     –no-log                                    Displaying only the results
  •     –send-req                                   Send the results to the web request
  •     –send-proxy http://proxy      Send the results to the web request via http proxy
  •     -t TECHS, –techs rails,php     Set technologies to use
  •     –exclude-techs rails,php         Specify the technologies to be excluded
  •     –list-techs                                  Show all technologies
    -d, –debug                    Show debug messages
    -v, –version                  Show version
    -h, –help                       Show help
noir -b . -u

JSON Result

noir -b . -u -f json
    “headers”: [],
    “method”: “POST”,
    “params”: [
        “name”: “article_slug”,
        “param_type”: “json”,
        “value”: “”
        “name”: “title”,
        “param_type”: “json”,
        “value”: “”
        “name”: “id”,
        “param_type”: “json”,
        “value”: “”
    “protocol”: “http”,
    “url”: “”


Join Our Club

Enter your Email address to receive notifications | Join over Million Followers

Previous Article
Temcrypt Encryption Framework

Temcrypt - Evolutionary Encryption Framework

Next Article
Apple Emergency Security Patch

APPLE Devices Emergency Security Patch For Pegasus Spyware

Related Posts