Skip to content

Releases: owasp-noir/noir

v0.5.0

21 Aug 16:02
8c2ac9e
Compare
Choose a tag to compare

Seems like I've almost reached the initially set modest feature scope. I'll be focusing on enhancing detection rates and coverage of techs for the foreseeable future. Nevertheless, turning great ideas into features is always a blast. If you have any cool improvements or ideas, feel free to drop them anytime through issues or discussions!

Release Note

  • OAS 3 Support
  • Swagger to OAS 2 Name Transition
    • Improve detection
  • Header Identification Now Supported in Crystal-Kemal and Ruby-Sinatra
  • Elevating Code Quality

OAS3

Swagger to OAS2

I've aligned the naming similarly to OAS2 with the introduction of OAS3 support.

  oas2
    format: ["JSON", "YAML"]
    similar: ["oas 2.0", "oas_2_0", "swagger 2.0", "swagger_2_0", "swagger"]
  oas3
    format: ["JSON", "YAML"]
    similar: ["oas 3.0", "oas_3_0"]

Header Identifications


Example for Kemal Analyzer / In the default format, headers are displayed in green.


And..

I'd like to extend my heartfelt thanks to all the contributors and everyone who provided feedback :D

v0.4.0

15 Aug 14:51
Compare
Choose a tag to compare

Noir now supports Swagger analysis. When Swagger documents are detected in the target source code, the tool analyzes those files to identify and extract endpoints.

Release note

  • Support Swagger Analysis
    • Module: Detector, Analyzer
    • Format: JSON, YAML
  • Improve codes (Kemal detector, spec codes)
  • Using crystal's --production flags in the release process


Swagger Analysis

For Contributors

Now, information can be stored and retrieved through the CodeLocator.instance (singleton instance). It is primarily used for data communication between detectors and analyzers, which helps reduce redundant tasks.

# Code1
locator = CodeLocator.instance
locator.set("swagger-json", filename)
# if filename is 'docs.json'
# Code2
puts locator.get("swagger-json")
# docs.json

v0.3.0

13 Aug 11:00
Compare
Choose a tag to compare

Summary

  • Add --exclude-techs flag
  • A module for handling similar word processing for tech and managing techs has been added.
  • Changed --techs-list to --list-techs for consistency with other flags.

Exclude techs

You can now force the technology to be ignored.

And, Similar languages are also handled.

--exclude-techs Rails
--exclude-techs ruby-rails
--exclude-techs rails

# All of the above flags disable ruby_rails.

Techs

Now, the technology list is managed with additional metadata information included.
So the --list-techs flag has also been modified accordingly.

v0.2.4

12 Aug 16:54
Compare
Choose a tag to compare

v0.2.3

10 Aug 16:49
Compare
Choose a tag to compare
  • Improve spring analyzer #14
  • Improve go-echo analyzer 394e1ab

P.S.
In addition to the endpoints defined by the programming language, we intend to trace endpoints by scanning files generated within the source code directory. For instance, utilizing OpenAPI files :D

v0.2.2

09 Aug 23:26
Compare
Choose a tag to compare

Improve django analyzer

v0.2.1

06 Aug 14:44
Compare
Choose a tag to compare
  • Improve code structure
  • Support param in crystal-kemal, ruby-sinatra
  • Add Endpoint Reference Type for Code Analysis

v0.2.0

05 Aug 10:01
Compare
Choose a tag to compare
  • Add new endpoint type: ws websocket
  • Add new detector and analyzer: crystal-kemal
  • Improve analyzers: rails, spring

ws endpoint type

crystal kemal


tested it with xssmaze.

v0.1.0

02 Aug 14:57
Compare
Choose a tag to compare

First release 😎
and I extend my gratitude to the first contributor, nil (@ksg97031)! Thank you for your valuable contribution!