Skip to content

Releases: noir-cr/noir

v0.15.1

11 May 15:50
81f9eab
Compare
Choose a tag to compare

What's Changed

  • Enhanced performance and quality of the analyzer and minilexer, including unit tests.
  • Added examples to the help message in CLI and improved formatting of usage
  • Fixed bugs #293 and #298.

Full Changelog: v0.15.0...v0.15.1

v0.15.0

29 Apr 15:23
e142c1f
Compare
Choose a tag to compare

What's Changed

  • Support Restify(JS), Beego(Go) and Rocket(Rust)
  • Support arm64 Docker image
  • Add new tags: CORS, SOAP, WebSocket
  • Improve Java Spring Analyzer (Add support for WebFlux base paths and fix RequestMethod parsing)
  • Improve docker image, techs structure and codes
  • Fixed bug (#276)

New Contributors

Full Changelog: v0.14.0...v0.15.0

v0.14.0

29 Mar 15:25
1fd7b0c
Compare
Choose a tag to compare

What's Changed

Tagger

Automatically tags identified information during source code analysis to provide valuable insights for security engineers and Dynamic Application Security Testing (DAST) tools.

  • Add new flags -T (--use-all-taggers) --use-taggers --list-taggers
  • Available taggers: hunt oauth

Tags can be applied either to an Endpoint or to a Parameter within an Endpoint, and each tag includes both the name and description of the information.

Support HAR

We now support the HAR format. The HAR format works closely with the -u argument, identifying and processing as an Endpoint any URLs provided by the user that exist within the HAR data.

This integration with the -u argument is essential, as the HAR file may contain numerous addresses beyond the domain of interest to the analyst.

ETC

  • Update project description in snapcraft.yaml by @hahwul in #255
  • Update SECURITY.md with improved vulnerability reporting instructions by @hahwul in #259
  • Add public dir process in crystal-kemal by @hahwul in #258
  • Update Crystal versions in CI workflow and shard.yml by @hahwul in #254

Full Changelog: v0.13.0...v0.14.0

v0.13.0

07 Mar 14:59
ad18b11
Compare
Choose a tag to compare

What's Changed

  • 🎨 Lightweight LexerParser(MiniLexer) has been added for more accurate analysis.
  • ⚡️ Improve Analyzers (Java Spring and Golang Fiber, Echo, Gin)
  • 🎉 Support snapcraft
  • 🐞 Fixed bug

MiniLexer

We've added a Lightweight LexerParser for analyzing the syntax of source code to enable better analysis. It's currently implemented in Java and Golang, and although it's still in its infancy, we believe it will improve over time.

Snapcraft

Now we support installation via snapcraft :D

https://snapcraft.io/noir

Contributors

Thank you so much for contributing to noir ❤️
@k-sau @sm1ee @Dyrandy

Full Changelog: v0.12.2...v0.13.0

v0.12.2

03 Feb 12:16
654a25c
Compare
Choose a tag to compare

What's Changed

  • 🍀 Added --config flag for file-based configuration.
  • ⚡️ Improve OAS3 Analyzer and optimize_endpoints func
  • 🎨 Improve code style and Added Lexer object for better recognition.
  • 🐞 Fixed bugs in GitHub workflows

Full Changelog: v0.12.1...v0.12.2

v0.12.1

12 Jan 14:31
5349c7f
Compare
Choose a tag to compare

What's Changed

  • Add new output formats
    • only-url only-param only-header only-cookie
    • jsonl
    • e.g noir -b my_app -f only-param
  • Update help messages

Full Changelog: v0.12.0...v0.12.1

Why was the only-* formats added?

Sometimes, we may want to extract specific values from source code. To facilitate this, we have introduced the only-* format. For example, when analyzing source code for fuzzing, there may be a need to obtain a list of parameters. In such cases, you can easily extract them using the only-param format without the need for additional parsing.

v0.12.0

31 Dec 07:40
56cb947
Compare
Choose a tag to compare

What's Changed

New Features

  • FileAnalyzer and Hooks:
    • Introducing a powerful addition to enhance detection capabilities through comprehensive file content analysis.
    • The FileAnalyzer operates independently of the detected language or framework, enabling file-based scans. This feature utilizes Hooks to perform advanced actions such as detecting URLs within strings, Base64 decoding, and more. These Hooks contribute to additional endpoint identification, augmenting the overall analysis.
  • go-fiber detector & analyzer: Added support for the go fiber web framework, expanding compatibility.

Enhancements

  • --include-path Flag: This flag also reveals the original source code file of detected endpoints when used.
  • In JSON/YAML format, the Details section allows you to explore the original source code file of detected endpoints.

--include-path flag

Details in JSON Result

Analyzer Improvements

  • JS Express Analyzer: Enhanced for more accurate and insightful results.
  • Spring (Java/Kotlin) Analyzer: Improved precision for a better understanding of Spring framework projects.

Removal

  • --scope Flag: Deprecated (It was a flag that actually meant nothing.)

Code Quality

  • Code Improvements: Refined codebase for better quality. and more test codes

User Experience

  • CLI Banner Update: Refreshed for a more appealing appearance.

Full Changelog: v0.11.0...v0.12.0

v0.11.0

06 Dec 15:28
54cdd49
Compare
Choose a tag to compare

What's Changed

  • 👋🏼 Add new detectors and analyzers
    • Ruby Hanami
    • Elixir Phoenix
    • Crystal Lucky
  • 🍪 Add cookie parameter type
  • 🖥️ Improve logger
    • It expresses the parameters that exist in the endpoint more beautifully.
    • Debug logs have been added to many more.
  • 🏁 Enhance detector performance
    • The existing Fiber-based parallel processing has been changed to Fiber+Channel structure.
    • As a result, it has increased stability while maintaining the same speed.
    • Add --concurrency flag
  • 🔭 Improve testcodes
  • 🐞 Fixed bugs

Full Changelog: v0.10.0...v0.11.0

v0.10.0

26 Oct 15:36
2b33d79
Compare
Choose a tag to compare

What's Changed

  • Add rust-axum detector/analyzer (#138)
  • Add --use-matchers and --use-filters flags for Deliver (#137)
  • Fixed bugs & Improve test codes

Full Changelog: v0.9.1...v0.10.0

Matchers and Filters for Deliver

Matchers

The --use-matchers flag allows you to specify a condition that must be met for a URL to be delivered.
For example, you could use this flag to deliver only those URLs that include the string "/v1/myapi/".

Filters

The --use-filters flag allows you to specify a condition that must not be met for a URL to be delivered
For example, you could use this flag to exclude all URLs that contain the string "/admin".

Example

noir -b . -u https://www.hahwul.com \
        --send-proxy http://localhost:8090 \
        --use-matchers "/update" \
        --use-matchers "/socket"

v0.9.1

06 Oct 16:06
35147d4
Compare
Choose a tag to compare

What's Changed

  • Fixed nil-cast bug in oas2,oas3,raml analyzers (#126 / @exhaustedMutex)
    • Add test code for nil-cast issue (functional_test/fixtures/oas3/nil_cast/)
    • Improve debug logs
  • Fixed bug in js-express (#126 / @exhaustedMutex)
  • Fixed typo in Deliver initialize (#132 / @HolyBugx)
    • Add test code for header in deliver

Full Changelog: v0.9.0...v0.9.1