noir

Attack surface detector form source code


Keywords
attack-surface-detector, attack-surfaces, crystal, crystal-lang, devsecops, endpoints, hacktoberfest, noir, owasp, owasp-noir, pentesting, security
License
MIT
Install
brew install noir

Documentation

OWASP Noir Logo

Attack surface detector that identifies endpoints by static analysis.

DocumentationInstallationAvailable Support ScopeUsageContributing

OWASP Noir is an open-source project specializing in identifying attack surfaces for enhanced whitebox security testing and security pipeline. This includes the capability to discover API endpoints, web endpoints, and other potential entry points within source code for thorough security analysis.

Key Features

  • Identify API endpoints and parameters from source code.
  • Support various source code languages and frameworks.
  • Provide analysts with technical information and security issues identified during source code analysis.
  • Friendly pipeline & DevOps integration, offering multiple output formats (JSON, YAML, OAS spec) and compatibility with tools like curl and httpie.
  • Friendly Offensive Security Tools integration, allowing usage with tools such as ZAP and Caido, Burpsuite.
  • Identify security issues within the source code through rule-based passive scanning.
  • Generate elegant and clear output results.

Usage

noir -h 

Example

noir -b <source_dir>

JSON Result

noir -b . -u https://testapp.internal.domains -f json -T
{
  "endpoints": [
    {
      "url": "https://testapp.internal.domains/query",
      "method": "POST",
      "params": [
        {
          "name": "my_auth",
          "value": "",
          "param_type": "cookie",
          "tags": []
        },
        {
          "name": "query",
          "value": "",
          "param_type": "form",
          "tags": [
            {
              "name": "sqli",
              "description": "This parameter may be vulnerable to SQL Injection attacks.",
              "tagger": "Hunt"
            }
          ]
        }
      ],
      "details": {
        "code_paths": [
          {
            "path": "spec/functional_test/fixtures/crystal_kemal/src/testapp.cr",
            "line": 8
          }
        ]
      },
      "protocol": "http",
      "tags": []
    }
  ]
}

For more details, please visit our documentation page.

Contributing

Noir is open-source project and made it with ❤️ if you want contribute this project, please see CONTRIBUTING.md and Pull-Request with cool your contents.

PassiveScan Rule contributors