Skip to content

Releases: owasp-noir/noir

v0.17.0

01 Aug 14:23
82ba108
Compare
Choose a tag to compare

What's Changed

  • Enhanced output formats for improved readability.
  • Improved diff mode functionality.
  • Added new output format option (-only-tag).
  • We open documentation site and Expanded and updated documentation.
  • Continuous Integration (CI) updates.
  • Enhanced logging and application log features.
  • Improved unit test code coverage and quality.
  • Upgraded analyzer with new features:
    • Java Spring: Added parsing logic for application.properties files.
  • Code refactoring for better performance and maintainability.
  • Security Issue

Full Changelog: v0.16.1...v0.17.0

Enhanced output formats

We've made significant changes to the default output format to enhance readability, and we believe we've achieved that goal. We'll continue to research and make improvements as we go forward!

Documentation

https://owasp-noir.github.io/noir/introduction/

Noir now has an official documentation page. Currently, it focuses on basic usage, but we plan to expand it to include tips and other content. Contributions to the documentation are always welcome.

Add new flag —only-tag

You can now gather only tags from Noir results, giving you insights into key risks and technologies used in the source code.

noir -b <TARGET> -T -f only-tag

# ....
# sqli
# oauth
# websocket

This feature helps you quickly identify the main risks and technologies in your code, improving efficiency in the initial analysis phase.

Next plan

Looking ahead, we're excited to announce our plans to expand the Tagger. We're aiming for a Rule(YAML)-based Passive Scan, and we've completed our internal discussions on its structure. Now it's time to build it. Stay tuned for v0.18.0! We also plan to improve MiniLexer and MiniParser.

Lastly, any contributions, from simple typo corrections to code modifications, are a great help in maintaining the project. We're open to all contributions, and Discussion and PRs are always welcome ♥️

cc @ksg97031

v0.16.1

26 Jun 23:42
818a603
Compare
Choose a tag to compare

What's Changed

  • Fixed bug (#330)
    • Implement endpoint comparison logic in diff analysis
  • Update documents (noir-cr to owasp-noir)

Full Changelog: v0.16.0...v0.16.1

v0.16.0

08 Jun 08:14
53c9f82
Compare
Choose a tag to compare

What's Changed

  • Add Config Home directory
    • Noir now has a home directory under the user's Config directory (e.g., ~/.config/noir).
    • A config.yaml file is automatically created in this directory, allowing you to easily specify configurations that will be persistently applied.
    • Additionally, this directory will be used in the future to store rules for PassiveScan(Tagger).
    • You can change the config home directory by setting the NOIR_HOME environment variable.
  • Improve Spring Kotlin Analyzers
    • The Kotlin Spring analyzer now supports parameter analysis similarly to the Java Spring analyzer.
  • Add support for generating completions (zsh, bash)
  • Add diff mode
  • Dependencies Update and Fixed bugs, Improve codes
  • Add new flags
    • --diff-path: Specify the path to compare with the base path (-b). The scan results of the base path and the specified path will be compared.
    • --build-info: Display build information, including versions of Crystal, LLVM, and other relevant components.
    • --generate-completion: Generate completion scripts for shells like zsh and bash.

Preview

Config Home

Diff Mode

Full Changelog: v0.15.1...v0.16.0

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