gitextract_05909tqq/ ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── feature_request.md │ │ └── question.md │ ├── PULL_REQUEST_TEMPLATE.md │ ├── release.yml │ └── workflows/ │ ├── cla.yml │ ├── frogbot-scan-pull-request.yml │ ├── integration-tests.yml │ ├── test.yml │ └── verification.yml ├── .gitignore ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── build.gradle ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── release/ │ ├── pipelines.release.yml │ ├── pipelines.resources.yml │ ├── pipelines.snapshot.yml │ └── specs/ │ ├── dev-rbc-filespec.json │ └── prod-rbc-filespec.json ├── settings.gradle └── src/ ├── main/ │ ├── java/ │ │ └── com/ │ │ └── jfrog/ │ │ └── ide/ │ │ └── idea/ │ │ ├── Syncable.java │ │ ├── actions/ │ │ │ ├── CollapseAllAction.java │ │ │ ├── CreateIgnoreRuleAction.java │ │ │ ├── ExpandAllAction.java │ │ │ ├── GoToSettingsAction.java │ │ │ ├── RefreshBuildsAction.java │ │ │ ├── ScanTimeLabelAction.java │ │ │ ├── StartLocalScanAction.java │ │ │ └── StopLocalScanAction.java │ │ ├── ci/ │ │ │ └── CiManager.java │ │ ├── configuration/ │ │ │ ├── GlobalSettings.java │ │ │ └── ServerConfigImpl.java │ │ ├── events/ │ │ │ ├── AnnotationEvents.java │ │ │ ├── ApplicationEvents.java │ │ │ ├── BuildEvents.java │ │ │ └── ProjectEvents.java │ │ ├── exclusion/ │ │ │ ├── Excludable.java │ │ │ ├── ExclusionUtils.java │ │ │ └── MavenExclusion.java │ │ ├── inspections/ │ │ │ ├── AbstractInspection.java │ │ │ ├── AnnotationIconRenderer.java │ │ │ ├── AnnotationUtils.java │ │ │ ├── GoInspection.java │ │ │ ├── GradleGroovyInspection.java │ │ │ ├── GradleInspection.java │ │ │ ├── GradleKotlinInspection.java │ │ │ ├── JFrogSecurityAnnotator.java │ │ │ ├── JFrogSecurityWarning.java │ │ │ ├── JumpToCode.java │ │ │ ├── MavenInspection.java │ │ │ ├── NpmInspection.java │ │ │ ├── ShowInDependencyTree.java │ │ │ ├── YarnInspection.java │ │ │ └── upgradeversion/ │ │ │ ├── GoUpgradeVersion.java │ │ │ ├── GradleGroovyUpgradeVersion.java │ │ │ ├── GradleKotlinUpgradeVersion.java │ │ │ ├── MavenUpgradeVersion.java │ │ │ ├── NpmUpgradeVersion.java │ │ │ ├── UpgradeVersion.java │ │ │ └── YarnUpgradeVersion.java │ │ ├── log/ │ │ │ ├── Logger.java │ │ │ └── ProgressIndicatorImpl.java │ │ ├── navigation/ │ │ │ ├── NavigationService.java │ │ │ └── NavigationTarget.java │ │ ├── scan/ │ │ │ ├── ApplicabilityScannerExecutor.java │ │ │ ├── GoScanner.java │ │ │ ├── GradleScanner.java │ │ │ ├── IACScannerExecutor.java │ │ │ ├── MavenScanner.java │ │ │ ├── NpmScanner.java │ │ │ ├── PypiScanner.java │ │ │ ├── SastScannerExecutor.java │ │ │ ├── ScanBinaryExecutor.java │ │ │ ├── ScanManager.java │ │ │ ├── ScannerBase.java │ │ │ ├── ScannerFactory.java │ │ │ ├── SecretsScannerExecutor.java │ │ │ ├── SingleDescriptorScanner.java │ │ │ ├── SourceCodeScannerManager.java │ │ │ ├── YarnScanner.java │ │ │ ├── data/ │ │ │ │ ├── AnalyzeSuppression.java │ │ │ │ ├── ArtifactLocation.java │ │ │ │ ├── CodeFlow.java │ │ │ │ ├── Driver.java │ │ │ │ ├── Invocation.java │ │ │ │ ├── Location.java │ │ │ │ ├── Message.java │ │ │ │ ├── NewScanConfig.java │ │ │ │ ├── NewScansConfig.java │ │ │ │ ├── Output.java │ │ │ │ ├── PackageManagerType.java │ │ │ │ ├── PhysicalLocation.java │ │ │ │ ├── Region.java │ │ │ │ ├── Rule.java │ │ │ │ ├── RuleProperties.java │ │ │ │ ├── Run.java │ │ │ │ ├── SarifResult.java │ │ │ │ ├── ScanConfig.java │ │ │ │ ├── ScansConfig.java │ │ │ │ ├── ThreadFlow.java │ │ │ │ ├── ThreadFlowLocation.java │ │ │ │ ├── Tool.java │ │ │ │ ├── WorkingDirectory.java │ │ │ │ └── applications/ │ │ │ │ ├── JFrogApplicationsConfig.java │ │ │ │ ├── ModuleConfig.java │ │ │ │ └── ScannerConfig.java │ │ │ └── utils/ │ │ │ ├── ImpactTreeBuilder.java │ │ │ └── ScanUtils.java │ │ ├── ui/ │ │ │ ├── AbstractJFrogToolWindow.java │ │ │ ├── CiComponentsTree.java │ │ │ ├── ComponentDetails.java │ │ │ ├── ComponentIssueDetails.java │ │ │ ├── ComponentIssuesTable.java │ │ │ ├── ComponentsTree.java │ │ │ ├── ComponentsTreeCellRenderer.java │ │ │ ├── ExpiredComponentsTreeCellRenderer.java │ │ │ ├── IssueDetails.java │ │ │ ├── IssuesTableCellRenderer.java │ │ │ ├── IssuesTableModel.java │ │ │ ├── IssuesTableSelectionListener.java │ │ │ ├── JFrogCiToolWindow.java │ │ │ ├── JFrogFloatingToolbar.java │ │ │ ├── JFrogLocalToolWindow.java │ │ │ ├── JFrogToolWindow.java │ │ │ ├── JFrogToolWindowFactory.java │ │ │ ├── JfrogContextMenuHandler.java │ │ │ ├── LocalComponentsTree.java │ │ │ ├── MoreInfoPanel.java │ │ │ ├── components/ │ │ │ │ ├── ConnectionResultsGesture.java │ │ │ │ ├── ImpactPathPane.java │ │ │ │ ├── LinkButton.java │ │ │ │ ├── MenuButton.java │ │ │ │ ├── ReferencesPane.java │ │ │ │ └── TitledPane.java │ │ │ ├── configuration/ │ │ │ │ ├── BuildsVerifier.java │ │ │ │ ├── ConfigVerificationUtils.java │ │ │ │ ├── ConnectionRetriesSpinner.java │ │ │ │ ├── ConnectionTimeoutSpinner.java │ │ │ │ ├── JFrogGlobalConfiguration.form │ │ │ │ ├── JFrogGlobalConfiguration.java │ │ │ │ ├── JFrogProjectConfiguration.form │ │ │ │ ├── JFrogProjectConfiguration.java │ │ │ │ └── Utils.java │ │ │ ├── menus/ │ │ │ │ ├── MenuCheckbox.java │ │ │ │ ├── SelectAllCheckbox.java │ │ │ │ ├── SelectionCheckbox.java │ │ │ │ ├── ToolbarPopupMenu.java │ │ │ │ ├── builds/ │ │ │ │ │ ├── BuildsButton.java │ │ │ │ │ └── BuildsMenu.java │ │ │ │ ├── filtermanager/ │ │ │ │ │ ├── CiFilterManager.java │ │ │ │ │ └── ConsistentFilterManager.java │ │ │ │ └── filtermenu/ │ │ │ │ ├── CiIssueFilterMenu.java │ │ │ │ ├── CiLicenseFilterMenu.java │ │ │ │ ├── CiScopeFilterMenu.java │ │ │ │ ├── FilterMenu.java │ │ │ │ ├── IssueFilterMenu.java │ │ │ │ ├── LicenseFilterMenu.java │ │ │ │ └── ScopeFilterMenu.java │ │ │ ├── utils/ │ │ │ │ ├── ComponentUtils.java │ │ │ │ └── IconUtils.java │ │ │ └── webview/ │ │ │ ├── WebviewManager.java │ │ │ ├── WebviewObjectConverter.java │ │ │ ├── WebviewResourceHandler.java │ │ │ ├── WebviewSchemeHandlerFactory.java │ │ │ ├── event/ │ │ │ │ ├── EventManager.java │ │ │ │ ├── Receiver.java │ │ │ │ ├── Sender.java │ │ │ │ ├── model/ │ │ │ │ │ ├── Event.java │ │ │ │ │ ├── IdeEvent.java │ │ │ │ │ └── WebviewEvent.java │ │ │ │ └── tasks/ │ │ │ │ └── JumpToCodeTask.java │ │ │ └── model/ │ │ │ ├── ApplicableDetails.java │ │ │ ├── Cve.java │ │ │ ├── DependencyPage.java │ │ │ ├── Evidence.java │ │ │ ├── ExtendedInformation.java │ │ │ ├── Finding.java │ │ │ ├── ImpactGraph.java │ │ │ ├── ImpactGraphNode.java │ │ │ ├── IssuePage.java │ │ │ ├── JfrogResearchSeverityReason.java │ │ │ ├── License.java │ │ │ ├── Location.java │ │ │ ├── Reference.java │ │ │ └── SastIssuePage.java │ │ └── utils/ │ │ ├── Descriptor.java │ │ ├── GoUtils.java │ │ └── Utils.java │ └── resources/ │ └── META-INF/ │ ├── plugin.xml │ ├── with-go.xml │ ├── with-gradle.xml │ ├── with-groovy.xml │ ├── with-kotlin.xml │ ├── with-maven.xml │ ├── with-python-ce.xml │ └── with-python.xml └── test/ ├── java/ │ └── com/ │ └── jfrog/ │ └── ide/ │ └── idea/ │ ├── ProgressIndicatorMock.java │ ├── TestUtils.java │ ├── configuration/ │ │ ├── ConfigurationTest.java │ │ ├── ConnectionDetailsFromCliTest.java │ │ └── GetProxyConfForTargetUrlTest.java │ ├── exclusion/ │ │ └── MavenExclusionTest.java │ ├── inspections/ │ │ ├── GoInspectionTest.java │ │ ├── GradleGroovyInspectionTest.java │ │ ├── GradleInspectionTest.java │ │ ├── GradleKotlinInspectionTest.java │ │ ├── InspectionToolsTest.java │ │ ├── InspectionsTestBase.java │ │ ├── MavenInspectionTest.java │ │ └── NpmInspectionTest.java │ ├── integration/ │ │ ├── ApplicabilityScannerIntegrationTests.java │ │ ├── BaseIntegrationTest.java │ │ ├── ExternalResourcesRepoIntegrationTests.java │ │ ├── IACScannerIntegrationTests.java │ │ └── SecretsScannerIntegrationTests.java │ ├── scan/ │ │ ├── DummyCircularDepPyPkgManager.java │ │ ├── DummyCircularRequirement.java │ │ ├── GradleScannerTest.java │ │ ├── MavenScannerTest.java │ │ ├── PypiScannerTest.java │ │ ├── ScanBinaryExecutorTest.java │ │ ├── ScannerBaseTest.java │ │ ├── SingleDescriptorScannerTest.java │ │ ├── SourceCodeManagerTest.java │ │ ├── YarnScannerTest.java │ │ └── utils/ │ │ └── ImpactTreeBuilderTest.java │ └── ui/ │ ├── LocalComponentsTreeTest.java │ └── configuration/ │ ├── ConfigVerificationUtilsNegativeTest.java │ └── ConfigVerificationUtilsPositiveTest.java └── resources/ ├── exclusion/ │ └── pom.xml ├── gradle/ │ ├── global/ │ │ ├── api/ │ │ │ ├── build.gradle │ │ │ └── src/ │ │ │ └── main/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── gradle/ │ │ │ ├── api/ │ │ │ │ ├── PersonList.java │ │ │ │ └── package.html │ │ │ └── apiImpl/ │ │ │ └── Impl.java │ │ ├── build.gradle │ │ ├── gradle.properties │ │ ├── services/ │ │ │ ├── build/ │ │ │ │ └── moduleInfo.json │ │ │ └── webservice/ │ │ │ ├── build.gradle │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ └── java/ │ │ │ │ └── org/ │ │ │ │ └── gradle/ │ │ │ │ └── webservice/ │ │ │ │ └── TestTest.java │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── gradle/ │ │ │ └── webservice/ │ │ │ └── TestTestTest.java │ │ ├── settings.gradle │ │ └── shared/ │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── gradle/ │ │ │ └── shared/ │ │ │ ├── Person.java │ │ │ └── package-info.java │ │ └── resources/ │ │ └── org/ │ │ └── gradle/ │ │ └── shared/ │ │ └── main.properties │ └── wrapper/ │ ├── api/ │ │ ├── build.gradle │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── org/ │ │ └── gradle/ │ │ ├── api/ │ │ │ ├── PersonList.java │ │ │ └── package.html │ │ └── apiImpl/ │ │ └── Impl.java │ ├── build.gradle │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradle.properties │ ├── gradlew │ ├── gradlew.bat │ ├── services/ │ │ ├── build/ │ │ │ └── moduleInfo.json │ │ └── webservice/ │ │ ├── build.gradle │ │ └── src/ │ │ ├── main/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── gradle/ │ │ │ └── webservice/ │ │ │ └── TestTest.java │ │ └── test/ │ │ └── java/ │ │ └── org/ │ │ └── gradle/ │ │ └── webservice/ │ │ └── TestTestTest.java │ ├── settings.gradle │ └── shared/ │ └── src/ │ └── main/ │ ├── java/ │ │ └── org/ │ │ └── gradle/ │ │ └── shared/ │ │ ├── Person.java │ │ └── package-info.java │ └── resources/ │ └── org/ │ └── gradle/ │ └── shared/ │ └── main.properties ├── iac/ │ └── testProjects/ │ └── exposedIac/ │ ├── hcl/ │ │ └── applicable/ │ │ ├── req_sw_terraform_aws_alb_https_only.tf │ │ ├── req_sw_terraform_aws_api_gateway_auth.tf │ │ ├── req_sw_terraform_aws_api_gateway_encrypt_cache.tf │ │ ├── req_sw_terraform_aws_api_gateway_tls_version.tf │ │ ├── req_sw_terraform_aws_athena_encrypt.tf │ │ ├── req_sw_terraform_aws_athena_encrypt_workgroup.tf │ │ ├── req_sw_terraform_aws_batch_no_privileged.tf │ │ ├── req_sw_terraform_aws_cloudfront_tls_only.tf │ │ ├── req_sw_terraform_aws_cloudfront_tls_version.tf │ │ └── req_sw_terraform_aws_cloudtrail_encrypt.tf │ └── plan/ │ ├── applicable/ │ │ ├── req_sw_terraform_aws_alb_https_only.json │ │ ├── req_sw_terraform_aws_api_gateway_auth.json │ │ ├── req_sw_terraform_aws_api_gateway_encrypt_cache.json │ │ ├── req_sw_terraform_aws_api_gateway_tls_version.json │ │ ├── req_sw_terraform_aws_athena_encrypt.json │ │ ├── req_sw_terraform_aws_athena_encrypt_workgroup.json │ │ ├── req_sw_terraform_aws_batch_no_privileged.json │ │ ├── req_sw_terraform_aws_cloudfront_tls_only.json │ │ ├── req_sw_terraform_aws_cloudfront_tls_version.json │ │ ├── req_sw_terraform_aws_cloudtrail_encrypt.json │ │ ├── req_sw_terraform_aws_cloudtrail_logging.json │ │ ├── req_sw_terraform_aws_cloudwatch_log_encrypt.json │ │ ├── req_sw_terraform_aws_codebuild_encrypt.json │ │ ├── req_sw_terraform_aws_dax_encrypt.json │ │ ├── req_sw_terraform_aws_docdb_encrypt_cluster.json │ │ ├── req_sw_terraform_aws_ebs_encrypt.json │ │ ├── req_sw_terraform_aws_ec2_public_ip.json │ │ ├── req_sw_terraform_aws_ecr_no_public.json │ │ ├── req_sw_terraform_aws_ecs_encrypt_task.json │ │ ├── req_sw_terraform_aws_ecs_envvar_pass.json │ │ ├── req_sw_terraform_aws_efs_encrypt.json │ │ └── req_sw_terraform_aws_eks_encrypt_cluster.json │ └── convert_hcl_to_plan.py ├── inspections/ │ ├── build.gradle.kts │ ├── build.groovy │ ├── go.mod │ ├── package.json │ └── pom.xml ├── projects/ │ ├── project1/ │ │ ├── go.mod │ │ └── main.go │ └── project2/ │ ├── go.mod │ ├── go.sum │ ├── main.go │ └── subproject/ │ ├── go.mod │ ├── go.sum │ └── main.go ├── proxy/ │ └── proxy.pac ├── secrets/ │ └── testProjects/ │ ├── dummy/ │ │ ├── ApplicabilityScannerExecutor.java │ │ ├── build.gradle │ │ ├── index.js │ │ └── main.py │ └── exposedSecrets/ │ ├── req.nodejs.hardcoded-secrets/ │ │ ├── applicable_base64.js │ │ ├── applicable_base64.js.approval.json │ │ ├── applicable_hex.js │ │ ├── applicable_hex.js.approval.json │ │ ├── not_applicable_base64.js │ │ ├── not_applicable_base64.js.approval.json │ │ ├── not_applicable_hex.js │ │ └── not_applicable_hex.js.approval.json │ ├── req.python.hardcoded-secrets/ │ │ ├── applicable_base64.py │ │ ├── applicable_base64.py.approval.json │ │ ├── applicable_hex.py │ │ ├── applicable_hex.py.approval.json │ │ ├── not_applicable_base64.py │ │ ├── not_applicable_base64.py.approval.json │ │ ├── not_applicable_hex.py │ │ └── not_applicable_hex.py.approval.json │ └── req.secret.keys/ │ ├── applicable │ ├── applicable.approval.json │ ├── applicable.c │ ├── applicable.txt │ ├── applicable.txt.approval.json │ ├── not_applicable │ ├── not_applicable.approval.json │ ├── not_applicable.c │ ├── not_applicable.txt │ └── not_applicable.txt.approval.json ├── sourceCode/ │ ├── applicable_kind_pass_output.sarif │ ├── faulty_output.sarif │ ├── secrets_with_informational_output.sarif │ ├── simple_output.sarif │ └── testProjects/ │ ├── maven/ │ │ ├── COPYRIGHT.txt │ │ ├── LICENSE.txt │ │ ├── pom.xml │ │ └── src/ │ │ ├── it/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── owasp/ │ │ │ └── webgoat/ │ │ │ ├── AccessControlIntegrationTest.java │ │ │ ├── CSRFIntegrationTest.java │ │ │ ├── ChallengeIntegrationTest.java │ │ │ ├── CryptoIntegrationTest.java │ │ │ ├── DeserializationIntegrationTest.java │ │ │ ├── GeneralLessonIntegrationTest.java │ │ │ ├── IDORIntegrationTest.java │ │ │ ├── IntegrationTest.java │ │ │ ├── JWTLessonIntegrationTest.java │ │ │ ├── LabelAndHintIntegrationTest.java │ │ │ ├── PasswordResetLessonIntegrationTest.java │ │ │ ├── PathTraversalIntegrationTest.java │ │ │ ├── ProgressRaceConditionIntegrationTest.java │ │ │ ├── SSRFIntegrationTest.java │ │ │ ├── SessionManagementIntegrationTest.java │ │ │ ├── SqlInjectionAdvancedIntegrationTest.java │ │ │ ├── SqlInjectionLessonIntegrationTest.java │ │ │ ├── SqlInjectionMitigationIntegrationTest.java │ │ │ ├── WebWolfIntegrationTest.java │ │ │ ├── XSSIntegrationTest.java │ │ │ └── XXEIntegrationTest.java │ │ └── main/ │ │ └── java/ │ │ └── org/ │ │ ├── dummy/ │ │ │ └── insecure/ │ │ │ └── framework/ │ │ │ └── VulnerableTaskHolder.java │ │ └── owasp/ │ │ └── webgoat/ │ │ ├── container/ │ │ │ ├── AjaxAuthenticationEntryPoint.java │ │ │ ├── AsciiDoctorTemplateResolver.java │ │ │ ├── DatabaseConfiguration.java │ │ │ ├── HammerHead.java │ │ │ ├── LessonDataSource.java │ │ │ ├── LessonTemplateResolver.java │ │ │ ├── MvcConfiguration.java │ │ │ ├── WebGoat.java │ │ │ ├── WebSecurityConfig.java │ │ │ ├── WebWolfRedirect.java │ │ │ ├── asciidoc/ │ │ │ │ ├── EnvironmentExposure.java │ │ │ │ ├── OperatingSystemMacro.java │ │ │ │ ├── UsernameMacro.java │ │ │ │ ├── WebGoatTmpDirMacro.java │ │ │ │ ├── WebGoatVersionMacro.java │ │ │ │ ├── WebWolfMacro.java │ │ │ │ └── WebWolfRootMacro.java │ │ │ ├── assignments/ │ │ │ │ ├── AssignmentEndpoint.java │ │ │ │ ├── AssignmentHints.java │ │ │ │ ├── AssignmentPath.java │ │ │ │ ├── AttackResult.java │ │ │ │ └── LessonTrackerInterceptor.java │ │ │ ├── controller/ │ │ │ │ ├── StartLesson.java │ │ │ │ └── Welcome.java │ │ │ ├── i18n/ │ │ │ │ ├── Language.java │ │ │ │ ├── Messages.java │ │ │ │ └── PluginMessages.java │ │ │ ├── lessons/ │ │ │ │ ├── Assignment.java │ │ │ │ ├── Category.java │ │ │ │ ├── CourseConfiguration.java │ │ │ │ ├── Hint.java │ │ │ │ ├── Initializeable.java │ │ │ │ ├── Lesson.java │ │ │ │ ├── LessonConnectionInvocationHandler.java │ │ │ │ ├── LessonInfoModel.java │ │ │ │ ├── LessonMenuItem.java │ │ │ │ ├── LessonMenuItemType.java │ │ │ │ └── LessonScanner.java │ │ │ ├── service/ │ │ │ │ ├── EnvironmentService.java │ │ │ │ ├── HintService.java │ │ │ │ ├── LabelDebugService.java │ │ │ │ ├── LabelService.java │ │ │ │ ├── LessonInfoService.java │ │ │ │ ├── LessonMenuService.java │ │ │ │ ├── LessonProgressService.java │ │ │ │ ├── LessonTitleService.java │ │ │ │ ├── ReportCardService.java │ │ │ │ ├── RestartLessonService.java │ │ │ │ └── SessionService.java │ │ │ ├── session/ │ │ │ │ ├── Course.java │ │ │ │ ├── LabelDebugger.java │ │ │ │ ├── UserSessionData.java │ │ │ │ └── WebSession.java │ │ │ └── users/ │ │ │ ├── LessonTracker.java │ │ │ ├── RegistrationController.java │ │ │ ├── Scoreboard.java │ │ │ ├── UserForm.java │ │ │ ├── UserRepository.java │ │ │ ├── UserService.java │ │ │ ├── UserSession.java │ │ │ ├── UserTracker.java │ │ │ ├── UserTrackerRepository.java │ │ │ ├── UserValidator.java │ │ │ └── WebGoatUser.java │ │ ├── lessons/ │ │ │ ├── authbypass/ │ │ │ │ ├── AccountVerificationHelper.java │ │ │ │ ├── AuthBypass.java │ │ │ │ └── VerifyAccount.java │ │ │ ├── bypassrestrictions/ │ │ │ │ ├── BypassRestrictions.java │ │ │ │ ├── BypassRestrictionsFieldRestrictions.java │ │ │ │ └── BypassRestrictionsFrontendValidation.java │ │ │ ├── challenges/ │ │ │ │ ├── ChallengeIntro.java │ │ │ │ ├── Email.java │ │ │ │ ├── Flag.java │ │ │ │ ├── SolutionConstants.java │ │ │ │ ├── challenge1/ │ │ │ │ │ ├── Assignment1.java │ │ │ │ │ ├── Challenge1.java │ │ │ │ │ └── ImageServlet.java │ │ │ │ ├── challenge5/ │ │ │ │ │ ├── Assignment5.java │ │ │ │ │ └── Challenge5.java │ │ │ │ ├── challenge7/ │ │ │ │ │ ├── Assignment7.java │ │ │ │ │ ├── Challenge7.java │ │ │ │ │ ├── MD5.java │ │ │ │ │ └── PasswordResetLink.java │ │ │ │ └── challenge8/ │ │ │ │ ├── Assignment8.java │ │ │ │ └── Challenge8.java │ │ │ ├── chromedevtools/ │ │ │ │ ├── ChromeDevTools.java │ │ │ │ ├── NetworkDummy.java │ │ │ │ └── NetworkLesson.java │ │ │ ├── cia/ │ │ │ │ ├── CIA.java │ │ │ │ └── CIAQuiz.java │ │ │ ├── clientsidefiltering/ │ │ │ │ ├── ClientSideFiltering.java │ │ │ │ ├── ClientSideFilteringAssignment.java │ │ │ │ ├── ClientSideFilteringFreeAssignment.java │ │ │ │ ├── Salaries.java │ │ │ │ └── ShopEndpoint.java │ │ │ ├── cryptography/ │ │ │ │ ├── CryptoUtil.java │ │ │ │ ├── Cryptography.java │ │ │ │ ├── EncodingAssignment.java │ │ │ │ ├── HashingAssignment.java │ │ │ │ ├── SecureDefaultsAssignment.java │ │ │ │ ├── SigningAssignment.java │ │ │ │ └── XOREncodingAssignment.java │ │ │ ├── csrf/ │ │ │ │ ├── CSRF.java │ │ │ │ ├── CSRFConfirmFlag1.java │ │ │ │ ├── CSRFFeedback.java │ │ │ │ ├── CSRFGetFlag.java │ │ │ │ ├── CSRFLogin.java │ │ │ │ ├── ForgedReviews.java │ │ │ │ └── Review.java │ │ │ ├── deserialization/ │ │ │ │ ├── InsecureDeserialization.java │ │ │ │ ├── InsecureDeserializationTask.java │ │ │ │ └── SerializationHelper.java │ │ │ ├── hijacksession/ │ │ │ │ ├── HijackSession.java │ │ │ │ ├── HijackSessionAssignment.java │ │ │ │ └── cas/ │ │ │ │ ├── Authentication.java │ │ │ │ ├── AuthenticationProvider.java │ │ │ │ └── HijackSessionAuthenticationProvider.java │ │ │ ├── htmltampering/ │ │ │ │ ├── HtmlTampering.java │ │ │ │ └── HtmlTamperingTask.java │ │ │ ├── httpbasics/ │ │ │ │ ├── HttpBasics.java │ │ │ │ ├── HttpBasicsLesson.java │ │ │ │ └── HttpBasicsQuiz.java │ │ │ ├── httpproxies/ │ │ │ │ ├── HttpBasicsInterceptRequest.java │ │ │ │ └── HttpProxies.java │ │ │ ├── idor/ │ │ │ │ ├── IDOR.java │ │ │ │ ├── IDORDiffAttributes.java │ │ │ │ ├── IDOREditOtherProfiile.java │ │ │ │ ├── IDORLogin.java │ │ │ │ ├── IDORViewOtherProfile.java │ │ │ │ ├── IDORViewOwnProfile.java │ │ │ │ ├── IDORViewOwnProfileAltUrl.java │ │ │ │ └── UserProfile.java │ │ │ ├── insecurelogin/ │ │ │ │ ├── InsecureLogin.java │ │ │ │ └── InsecureLoginTask.java │ │ │ ├── jwt/ │ │ │ │ ├── JWT.java │ │ │ │ ├── JWTDecodeEndpoint.java │ │ │ │ ├── JWTFinalEndpoint.java │ │ │ │ ├── JWTQuiz.java │ │ │ │ ├── JWTRefreshEndpoint.java │ │ │ │ ├── JWTSecretKeyEndpoint.java │ │ │ │ ├── JWTVotesEndpoint.java │ │ │ │ └── votes/ │ │ │ │ ├── Views.java │ │ │ │ └── Vote.java │ │ │ ├── lessontemplate/ │ │ │ │ ├── LessonTemplate.java │ │ │ │ └── SampleAttack.java │ │ │ ├── logging/ │ │ │ │ ├── LogBleedingTask.java │ │ │ │ ├── LogSpoofing.java │ │ │ │ └── LogSpoofingTask.java │ │ │ ├── missingac/ │ │ │ │ ├── DisplayUser.java │ │ │ │ ├── MissingAccessControlUserRepository.java │ │ │ │ ├── MissingFunctionAC.java │ │ │ │ ├── MissingFunctionACHiddenMenus.java │ │ │ │ ├── MissingFunctionACUsers.java │ │ │ │ ├── MissingFunctionACYourHash.java │ │ │ │ ├── MissingFunctionACYourHashAdmin.java │ │ │ │ └── User.java │ │ │ ├── passwordreset/ │ │ │ │ ├── PasswordReset.java │ │ │ │ ├── PasswordResetEmail.java │ │ │ │ ├── QuestionsAssignment.java │ │ │ │ ├── ResetLinkAssignment.java │ │ │ │ ├── ResetLinkAssignmentForgotPassword.java │ │ │ │ ├── SecurityQuestionAssignment.java │ │ │ │ ├── SimpleMailAssignment.java │ │ │ │ ├── TriedQuestions.java │ │ │ │ └── resetlink/ │ │ │ │ └── PasswordChangeForm.java │ │ │ ├── pathtraversal/ │ │ │ │ ├── PathTraversal.java │ │ │ │ ├── ProfileUpload.java │ │ │ │ ├── ProfileUploadBase.java │ │ │ │ ├── ProfileUploadFix.java │ │ │ │ ├── ProfileUploadRemoveUserInput.java │ │ │ │ ├── ProfileUploadRetrieval.java │ │ │ │ └── ProfileZipSlip.java │ │ │ ├── securepasswords/ │ │ │ │ ├── SecurePasswords.java │ │ │ │ └── SecurePasswordsAssignment.java │ │ │ ├── spoofcookie/ │ │ │ │ ├── SpoofCookie.java │ │ │ │ ├── SpoofCookieAssignment.java │ │ │ │ └── encoders/ │ │ │ │ └── EncDec.java │ │ │ ├── sqlinjection/ │ │ │ │ ├── advanced/ │ │ │ │ │ ├── SqlInjectionAdvanced.java │ │ │ │ │ ├── SqlInjectionChallenge.java │ │ │ │ │ ├── SqlInjectionChallengeLogin.java │ │ │ │ │ ├── SqlInjectionLesson6a.java │ │ │ │ │ ├── SqlInjectionLesson6b.java │ │ │ │ │ └── SqlInjectionQuiz.java │ │ │ │ ├── introduction/ │ │ │ │ │ ├── SqlInjection.java │ │ │ │ │ ├── SqlInjectionLesson10.java │ │ │ │ │ ├── SqlInjectionLesson2.java │ │ │ │ │ ├── SqlInjectionLesson3.java │ │ │ │ │ ├── SqlInjectionLesson4.java │ │ │ │ │ ├── SqlInjectionLesson5.java │ │ │ │ │ ├── SqlInjectionLesson5a.java │ │ │ │ │ ├── SqlInjectionLesson5b.java │ │ │ │ │ ├── SqlInjectionLesson8.java │ │ │ │ │ └── SqlInjectionLesson9.java │ │ │ │ └── mitigation/ │ │ │ │ ├── Servers.java │ │ │ │ ├── SqlInjectionLesson10a.java │ │ │ │ ├── SqlInjectionLesson10b.java │ │ │ │ ├── SqlInjectionLesson13.java │ │ │ │ ├── SqlInjectionMitigations.java │ │ │ │ ├── SqlOnlyInputValidation.java │ │ │ │ └── SqlOnlyInputValidationOnKeywords.java │ │ │ ├── ssrf/ │ │ │ │ ├── SSRF.java │ │ │ │ ├── SSRFTask1.java │ │ │ │ └── SSRFTask2.java │ │ │ ├── vulnerablecomponents/ │ │ │ │ ├── Contact.java │ │ │ │ ├── ContactImpl.java │ │ │ │ ├── VulnerableComponents.java │ │ │ │ └── VulnerableComponentsLesson.java │ │ │ ├── webgoatintroduction/ │ │ │ │ └── WebGoatIntroduction.java │ │ │ ├── webwolfintroduction/ │ │ │ │ ├── Email.java │ │ │ │ ├── LandingAssignment.java │ │ │ │ ├── MailAssignment.java │ │ │ │ └── WebWolfIntroduction.java │ │ │ ├── xss/ │ │ │ │ ├── Comment.java │ │ │ │ ├── CrossSiteScripting.java │ │ │ │ ├── CrossSiteScriptingLesson1.java │ │ │ │ ├── CrossSiteScriptingLesson3.java │ │ │ │ ├── CrossSiteScriptingLesson4.java │ │ │ │ ├── CrossSiteScriptingLesson5a.java │ │ │ │ ├── CrossSiteScriptingLesson6a.java │ │ │ │ ├── CrossSiteScriptingMitigation.java │ │ │ │ ├── CrossSiteScriptingQuiz.java │ │ │ │ ├── DOMCrossSiteScripting.java │ │ │ │ ├── DOMCrossSiteScriptingVerifier.java │ │ │ │ └── stored/ │ │ │ │ ├── CrossSiteScriptingStored.java │ │ │ │ ├── StoredCrossSiteScriptingVerifier.java │ │ │ │ └── StoredXssComments.java │ │ │ └── xxe/ │ │ │ ├── BlindSendFileAssignment.java │ │ │ ├── Comment.java │ │ │ ├── CommentsCache.java │ │ │ ├── CommentsEndpoint.java │ │ │ ├── ContentTypeAssignment.java │ │ │ ├── Ping.java │ │ │ ├── SimpleXXE.java │ │ │ ├── User.java │ │ │ └── XXE.java │ │ ├── server/ │ │ │ ├── ParentConfig.java │ │ │ ├── StartWebGoat.java │ │ │ └── StartupMessage.java │ │ └── webwolf/ │ │ ├── FileServer.java │ │ ├── MvcConfiguration.java │ │ ├── WebSecurityConfig.java │ │ ├── WebWolf.java │ │ ├── jwt/ │ │ │ ├── JWTController.java │ │ │ └── JWTToken.java │ │ ├── mailbox/ │ │ │ ├── Email.java │ │ │ ├── MailboxController.java │ │ │ └── MailboxRepository.java │ │ ├── requests/ │ │ │ ├── LandingPage.java │ │ │ ├── Requests.java │ │ │ └── WebWolfTraceRepository.java │ │ └── user/ │ │ ├── UserRepository.java │ │ ├── UserService.java │ │ └── WebGoatUser.java │ ├── npm/ │ │ └── index.js │ └── python/ │ └── main.py └── yarn/ ├── exampleYarnMonorepo/ │ ├── .gitignore │ ├── mobile/ │ │ └── package.json │ ├── package.json │ └── web/ │ └── package.json └── exampleYarnPackage/ ├── .gitignore └── package.json