Skip to content

Commit 0bb0df3

Browse files
tobyash86ijarosz
andauthored
Added info in the SA/FA, GitHub and Autofix sections. Various other u… (#2)
* Added info in the SA/FA, GitHub and Autofix sections. Various other updates. * Update readme.md Fixed minor issues. Added links * Fix docs version * Fix info about pull request made by Aider * Fix TODO comment --------- Co-authored-by: ijarosz <105916591+ijarosz@users.noreply.github.com>
1 parent 6874ad5 commit 0bb0df3

1 file changed

Lines changed: 55 additions & 43 deletions

File tree

readme.md

Lines changed: 55 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -2,70 +2,77 @@
22

33
This example shows the following dotTEST capabilities:
44

5-
- static analysis and flow analysis capabilities
6-
- integration with GitHub pipelines via [Run dotTEST Action](https://github.com/parasoft/run-dottest-action)
7-
- integration with Aider to perform static analysis fixes in GitHub pipelines (dotTEST Autofix feature)
5+
- Static analysis and flow analysis capabilities
6+
- Integration with GitHub pipelines via the [Run dotTEST Action](https://github.com/parasoft/run-dottest-action)
7+
- Integration with Aider to apply static analysis fixes in GitHub pipelines (dotTEST Autofix feature)
88

9-
## Table of contents
9+
## Table of Contents
1010

1111
- [dotTEST capabilities](#dotTEST-capabilities)
1212
- [About WebGoat.NET project](#WebGoatNET-version-03)
1313

14-
## dotTEST capabilities
14+
## dotTEST Capabilities
1515

1616
### Static Analysis
1717

18-
TODO: Shortly describe static/Flow Analysis
19-
TODO: Add link to official dotTEST documentation
18+
Static analysis and flow analysis help you verify code quality and ensure compliance with industry standards, such as CWE or OWASP. Static analysis is a software testing method that examines the source code without executing it to detect errors, vulnerabilities, and violations of coding standards. Flow analysis refers to the examination and evaluation of data or control flow within a program or system to identify potential issues such as resource leaks, dead code, security vulnerabilities, or performance bottlenecks.
19+
See [Parasoft dotTEST User Guide](https://docs.parasoft.com/display/DOTTEST20252) for details regarding static and flow analysis with dotTEST as well as other dotTEST capabilities.
2020

21-
### Run dotTEST GitHub Action
21+
### Run Parasoft dotTEST GitHub Action
2222

23-
TODO: Describe shortly the capabilities of the dotTEST Action
24-
TODO: Prepare shot yaml example / add link to example
23+
The `Run Parasoft dotTEST` action enables you to run code analysis with dotTEST and review analysis results directly on GitHub. To launch code analysis with dotTEST, add the `Run Parasoft dotTEST` action to your GitHub workflow. [The example](https://github.com/parasoft/run-dottest-action/blob/master/samples/run-dottest-analyzer-template.yml) illustrates a simple workflow consisting of one job "run-dottest-action".
2524

26-
[Run dotTEST Action project](https://github.com/parasoft/run-dottest-action)
27-
[Run dotTEST Action @ GitHub Marketplace](https://github.com/marketplace/actions/run-parasoft-dottest)
25+
See [Run dotTEST Action @ GitHub Marketplace](https://github.com/marketplace/actions/run-parasoft-dottest) for details regarding configuration and usage.
26+
See also [Run dotTEST Action project](https://github.com/parasoft/run-dottest-action).
2827

2928

30-
### Autofix in CI/CD with Aider
29+
### Autofix in CI/CD Using Aider
3130

32-
TODO: Describe shortly what is the Autofix feature
33-
TODO: Add short yaml script snippet
34-
TODO: Add link to official documentation describing this feature
31+
`DottestAutoFix` is a Python-based script that leverages AI-powered code analysis to automatically fix dotTEST violations in your .NET projects, based on a generated analysis report. Once a fix is applied, the plugin validates it using `dottestcli` and then adds a commit to the current branch in your project repository.
32+
The following example shows a simple Autofix execution:
33+
```batch
34+
@REM Execute autofix with recommended settings
35+
python DottestAutoFix.py ^
36+
--report ".dottest/report/report.xml" ^
37+
--max-attempts 3 ^
38+
--solution BankExample.sln ^
39+
--tool-home "C:\Program Files\Parasoft\dotTEST\2025.2"
40+
```
41+
42+
See [**LINK**](https://docs.parasoft.com/display/DOTTEST20252/Fixing+Violations+Using+AI+Autofix) for details regarding Autofix configuration and usage.
3543

3644
## WebGoat.NET version 0.3
3745

38-
### Build status
46+
### Build Status
3947

4048
![build .NET 8](https://github.com/tobyash86/WebGoat.NET/workflows/build%20.NET%208/badge.svg)
4149

42-
### The next generation of the WebGoat example project to demonstrate OWASP TOP 10 vulnerabilities
50+
### The Next-Generation WebGoat Example Project Demonstrating OWASP Top 10 Vulnerabilities
4351

4452
This is a re-implementation of the original [WebGoat project for .NET](https://github.com/rappayne/WebGoat.NET).
4553

46-
This web application is a learning platform that attempts to teach about
54+
This web application is a learning platform that attempts to explain
4755
common web security flaws. It contains generic security flaws that apply to
4856
most web applications. It also includes lessons that specifically pertain to
49-
the .NET framework. The exercises in this app are intended to teach about
50-
web security attacks and how developers can overcome them.
57+
the .NET framework. The exercises in this app are intended to demonstrate
58+
web security attacks and show how developers can overcome them.
5159

5260
#### WARNING!:
5361
THIS WEB APPLICATION CONTAINS NUMEROUS SECURITY VULNERABILITIES
54-
WHICH WILL RENDER YOUR COMPUTER VERY INSECURE WHILE RUNNING! IT IS HIGHLY
55-
RECOMMENDED TO COMPLETELY DISCONNECT YOUR COMPUTER FROM ALL NETWORKS WHILE
56-
RUNNING!
62+
WHICH WILL RENDER YOUR COMPUTER VERY INSECURE WHILE RUNNING. IT IS HIGHLY
63+
RECOMMENDED TO COMPLETELY DISCONNECT YOUR COMPUTER FROM ALL NETWORKS DURING USE.
5764

5865
#### Notes:
5966
- Google Chrome performs filtering for reflected XSS attacks. These attacks
60-
will not work unless Chrome is run with the argument
67+
will not execute unless Chrome is run with the argument
6168
`--disable-xss-auditor`.
6269

6370
### Requirements
6471
- .NET 8 SDK
6572

66-
### How to build and run
73+
### Building and Running the WebGoat.NET Example
6774

68-
#### 1. Running in a Docker container
75+
#### 1. Running the Example in a Docker Container
6976

7077
The provided Dockerfile is compatible with both Linux and Windows containers.
7178
To build a Docker image, execute the following command:
@@ -76,7 +83,7 @@ docker build --pull --rm -t webgoat.net .
7683

7784
Please note that the Linux image is already built by the pipeline and can be pulled from [here](https://github.com/users/tobyash86/packages?repo_name=WebGoat.NET).
7885

79-
##### Linux containers
86+
##### Linux Containers
8087

8188
To run the `webgoat.net` image, execute the following command:
8289

@@ -86,9 +93,9 @@ docker run --rm -d -p 5000:80 --name webgoat.net webgoat.net
8693

8794
The WebGoat.NET website should be accessible at http://localhost:5000.
8895

89-
##### Windows containers
96+
##### Windows Containers
9097

91-
To run `webgoat.net` image, execute the following command:
98+
To run the `webgoat.net` image, execute the following command:
9299

93100
```sh
94101
docker run --rm --name webgoat.net webgoat.net
@@ -113,43 +120,48 @@ Ethernet adapter Ethernet:
113120

114121
In the above example, you can access the WebGoat.NETCore website at http://172.29.245.43.
115122

116-
##### Stopping Docker container
123+
##### Stopping the Docker Container
117124

118125
To stop the `webgoat.net` container, execute the following command:
119126

120127
```sh
121128
docker stop webgoat.net
122129
```
123130

124-
#### 2. Run locally using dotnet.exe (Kestrel)
131+
#### 2. Running the Example Locally Using dotnet.exe (Kestrel)
125132

126-
1. Build and publish WebGoat.NET with the following command:
133+
1. Build and publish WebGoat.NET using the following command:
127134

128135
```sh
129136
dotnet publish -c release -o ./app
130137
```
131138

132139
The web application will be deployed to the `app` folder in the current directory.
133140

134-
2. Execute the web application on localhost with the following command:
141+
2. Execute the web application on localhost using the following command:
135142

136143
```sh
137144
dotnet ./app/WebGoat.NET.dll --urls=http://localhost:5000
138145
```
139146

140147
The WebGoat.NET website will be accessible at the URL specified with the `--urls` parameter: http://localhost:5000.
141148

142-
#### 3. Run using a script
143-
The WebGoat.NET project ships with scripts that allow you to conveniently run the web application. The following scripts are located in the "script" directory in the root of the project:
144-
- runInDocker.bat - Runs the application in a Docker container on Windows.
145-
- runInDocker.sh - Runs the application in a Docker container on Linux.
146-
- runLocal.bat - Runs the application locally on Windows.
147-
- runLocal.sh - Runs the application locally on Linux.
149+
#### 3. Running the Example Using a Script
150+
The WebGoat.NET project ships with scripts that allow you to conveniently run the web application. The following scripts are located in the `script` directory at the root of the project:
151+
- runInDocker.bat - runs the application in a Docker container on Windows.
152+
- runInDocker.sh - runs the application in a Docker container on Linux.
153+
- runLocal.bat - runs the application locally on Windows.
154+
- runLocal.sh - runs the application locally on Linux.
155+
156+
### Known Issues:
157+
158+
1. The latest OWASP Top 10 is not covered. The missing vulnerabilities need to be added to the codebase.
159+
2. Educational documents and training materials for any categories of the latest OWASP Top 10 are not available.
160+
161+
162+
148163

149-
### Known issues:
150164

151-
1. The latest OWASP Top 10 is not covered. The uncovered vulnerabilities need to be added to the code base.
152-
2. Educational documents/trainings for any categories of the latest OWASP Top 10 are not available.
153165

154166

155167

0 commit comments

Comments
 (0)