hex0punk / wally

Function callpath mapping analysis tool for Go
Mozilla Public License 2.0
28 stars 0 forks source link

tested #46

Closed hex0punk closed 4 months ago

hex0punk commented 4 months ago

Replaces --continue-after main with a limiter mode as described in the readme. Various refactoring

dryrunsecurity[bot] commented 4 months ago

Hi there :wave:, @dryrunsecurity here, below is a summary of our analysis and findings.

DryRun Security Status Findings
Server-Side Request Forgery Analyzer :white_check_mark: 0 findings
Configured Codepaths Analyzer :white_check_mark: 0 findings
Secrets Analyzer :white_check_mark: 0 findings
Authn/Authz Analyzer :white_check_mark: 0 findings
Sensitive Files Analyzer :white_check_mark: 0 findings
SQL Injection Analyzer :white_check_mark: 0 findings
IDOR Analyzer :white_check_mark: 0 findings

[!Note] :green_circle: Risk threshold not exceeded.

Change Summary (click to expand) The following is a summary of changes in this pull request made by me, your security buddy :robot:. Note that this summary is auto-generated and not meant to be a definitive list of security issues but rather a helpful summary from a security perspective. **Summary:** The provided code changes appear to be focused on improving the functionality and usability of the Wally tool, a static analysis tool for mapping function paths in Go code. From an application security perspective, the changes introduce several enhancements that can be leveraged for tasks such as attack surface mapping, fault tolerance analysis, and visualization of the application's architecture. Key security-relevant aspects of the changes include: 1. **Route Detection and Mapping**: Wally's ability to detect HTTP and gRPC routes, as well as map RPC and HTTP routes, can help security teams understand the attack surface of a Go application. 2. **Threat Modeling**: The tool's capability to automate the initial stages of threat modeling by mapping call paths can be a valuable input for security assessments. 3. **Fault Tolerance Analysis**: Wally's ability to determine which call paths are tolerant to panics or application crashes can aid in planning effective fuzzing efforts. 4. **Configurable Indicators**: The flexibility to specify custom indicators for identifying functions related to HTTP and RPC routes allows for better analysis of codebases that use non-standard methods for setting up routes. 5. **Visualization**: The tool's ability to output graphs of the call stacks for different routes can improve the understanding of the application's architecture and potential security implications. The changes to the `navigator/navigator.go` and `wallylib/callmapper/callmapper.go` files also suggest improvements to the core functionality of the Wally tool, such as enhanced callgraph generation, route matching, and callpath solving. These enhancements can contribute to a more comprehensive and reliable analysis of Go applications from a security perspective. **Files Changed:** 1. **README.md**: The changes to the README file provide a comprehensive overview of the Wally tool's features and use cases, with a particular focus on how it can be leveraged for application security tasks. 2. **navigator/navigator.go**: The changes in this file appear to be focused on refactoring and improving the `Navigator` struct and its associated methods, particularly in the areas of SSA-based callgraph generation, route matching, and callpath solving. 3. **wallylib/callmapper/callmapper.go**: The changes in this file seem to be a refactoring of the `CallMapper` struct and its methods, with a focus on improving the performance and accuracy of the call mapping functionality, especially when dealing with "main" functions and packages.

Powered by DryRun Security