From b899af8c3f74aed598844828606d35eb0102b1ea Mon Sep 17 00:00:00 2001 From: Weston Steimel Date: Tue, 23 Apr 2024 14:43:03 +0100 Subject: [PATCH] fix: improve Jenkins plugin known CPE index construction Improves the logic for adding known CPEs for Jenkins plugins and prefers non-deprecated CPEs Signed-off-by: Weston Steimel --- .../dictionary/data/cpe-index.json | 265 ++++++++++++++++-- .../dictionary/index-generator/generate.go | 59 ++-- .../index-generator/generate_test.go | 21 +- .../dictionary/index-generator/nvd.go | 7 +- .../testdata/expected-cpe-index.json | 6 +- .../testdata/official-cpe-dictionary_v2.3.xml | 22 ++ 6 files changed, 333 insertions(+), 47 deletions(-) diff --git a/syft/pkg/cataloger/internal/cpegenerate/dictionary/data/cpe-index.json b/syft/pkg/cataloger/internal/cpegenerate/dictionary/data/cpe-index.json index 4014f75022a..d4742b23be2 100644 --- a/syft/pkg/cataloger/internal/cpegenerate/dictionary/data/cpe-index.json +++ b/syft/pkg/cataloger/internal/cpegenerate/dictionary/data/cpe-index.json @@ -1,11 +1,18 @@ { "ecosystems": { "jenkins_plugins": { + "DotCi": "cpe:2.3:a:jenkins:dotci:*:*:*:*:*:jenkins:*:*", + "JDK_Parameter_Plugin": "cpe:2.3:a:jenkins:jdk_parameter:*:*:*:*:*:jenkins:*:*", "JiraTestResultReporter": "cpe:2.3:a:jenkins:jiratestresultreporter:*:*:*:*:*:jenkins:*:*", + "Parameterized-Remote-Trigger": "cpe:2.3:a:jenkins:parameterized_remote_trigger:*:*:*:*:*:jenkins:*:*", + "TestComplete": "cpe:2.3:a:jenkins:testcomplete_support:*:*:*:*:*:jenkins:*:*", + "TestFairy": "cpe:2.3:a:jenkins:testfairy:*:*:*:*:*:jenkins:*:*", + "absint-a3": "cpe:2.3:a:jenkins:absint_a3:*:*:*:*:*:jenkins:*:*", "absint-astree": "cpe:2.3:a:jenkins:absint_astree:*:*:*:*:*:jenkins:*:*", "accurev": "cpe:2.3:a:microfocus:accurev:*:*:*:*:*:jenkins:*:*", "active-choices": "cpe:2.3:a:jenkins:active_choices:*:*:*:*:*:jenkins:*:*", "active-directory": "cpe:2.3:a:jenkins:active_directory:*:*:*:*:*:jenkins:*:*", + "agent-server-parameter": "cpe:2.3:a:jenkins:agent_server_parameter:*:*:*:*:*:jenkins:*:*", "alauda-kubernetes-support": "cpe:2.3:a:jenkins:alauda_kubernetes_support:*:*:*:*:*:jenkins:*:*", "analysis-core": "cpe:2.3:a:jenkins:static_analysis_utilities:*:*:*:*:*:jenkins:*:*", "anchore-container-scanner": "cpe:2.3:a:jenkins:anchore_container_image_scanner:*:*:*:*:*:jenkins:*:*", @@ -17,141 +24,223 @@ "applatix": "cpe:2.3:a:jenkins:applatix:*:*:*:*:*:jenkins:*:*", "apprenda": "cpe:2.3:a:jenkins:apprenda:*:*:*:*:*:jenkins:*:*", "aqua-microscanner": "cpe:2.3:a:jenkins:aqua_microscanner:*:*:*:*:*:jenkins:*:*", + "aqua-security-scanner": "cpe:2.3:a:jenkins:aqua_security_scanner:*:*:*:*:*:jenkins:*:*", "aqua-serverless": "cpe:2.3:a:jenkins:aqua_security_severless_scanner:*:*:*:*:*:jenkins:*:*", "artifact-repository-parameter": "cpe:2.3:a:jenkins:artifact_repository_parameter:*:*:*:*:*:jenkins:*:*", "assembla": "cpe:2.3:a:jenkins:assembla:*:*:*:*:*:jenkins:*:*", + "assembla-auth": "cpe:2.3:a:jenkins:assembla_auth:*:*:*:*:*:jenkins:*:*", + "assembla-merge-request-builder": "cpe:2.3:a:jenkins:assembla_merge_request_builder:*:*:*:*:*:jenkins:*:*", "atlassian-bitbucket-server-integration": "cpe:2.3:a:jenkins:bitbucket_server_integration:*:*:*:*:*:jenkins:*:*", "audit-trail": "cpe:2.3:a:jenkins:audit_trail:*:*:*:*:*:jenkins:*:*", "audit2db": "cpe:2.3:a:jenkins:audit_to_database:*:*:*:*:*:jenkins:*:*", "autocomplete-parameter": "cpe:2.3:a:jenkins:autocomplete_parameter:*:*:*:*:*:jenkins:*:*", + "autonomiq": "cpe:2.3:a:jenkins:autonomiq:*:*:*:*:*:jenkins:*:*", "avatar": "cpe:2.3:a:jenkins:avatar:*:*:*:*:*:jenkins:*:*", "aws-beanstalk-publisher": "cpe:2.3:a:jenkins:aws_elastic_beanstalk_publisher:*:*:*:*:*:jenkins:*:*", + "aws-beanstalk-publisher-plugin": "cpe:2.3:a:jenkins:aws_elastic_beanstalk_publisher:*:*:*:*:*:jenkins:*:*", "aws-cloudwatch-logs-publisher": "cpe:2.3:a:jenkins:aws_cloudwatch_logs_publisher:*:*:*:*:*:jenkins:*:*", "aws-codebuild": "cpe:2.3:a:jenkins:aws_codebuild:*:*:*:*:*:jenkins:*:*", + "aws-codecommit-trigger": "cpe:2.3:a:jenkins:aws_codecommit_trigger:*:*:*:*:*:jenkins:*:*", "aws-codedeploy": "cpe:2.3:a:jenkins:aws_codedeploy:*:*:*:*:*:jenkins:*:*", "aws-codepipeline": "cpe:2.3:a:jenkins:aws_codepipeline:*:*:*:*:*:jenkins:*:*", + "aws-credentials": "cpe:2.3:a:jenkins:cloudbees_aws_credentials:*:*:*:*:*:jenkins:*:*", + "aws-device-farm": "cpe:2.3:a:jenkins:aws-device-farm:*:*:*:*:*:jenkins:*:*", "aws-global-configuration": "cpe:2.3:a:jenkins:aws_global_configuration:*:*:*:*:*:jenkins:*:*", "aws-sam": "cpe:2.3:a:jenkins:amazon_web_services_service_application_model:*:*:*:*:*:jenkins:*:*", "awseb-deployment": "cpe:2.3:a:jenkins:awseb_deployment:*:*:*:*:*:jenkins:*:*", + "azure-acs": "cpe:2.3:a:jenkins:azure_container_service:*:*:*:*:*:jenkins:*:*", "azure-ad": "cpe:2.3:a:jenkins:azure_ad:*:*:*:*:*:jenkins:*:*", "azure-container-agents": "cpe:2.3:a:jenkins:azure_container_service:*:*:*:*:*:jenkins:*:*", + "azure-credentials": "cpe:2.3:a:jenkins:azure_credentials:*:*:*:*:*:jenkins:*:*", + "azure-keyvault": "cpe:2.3:a:jenkins:azure_key_vault:*:*:*:*:*:jenkins:*:*", "azure-publishersettings-credentials": "cpe:2.3:a:jenkins:azure_publishersettings_credentials:*:*:*:*:*:jenkins:*:*", "azure-vm-agents": "cpe:2.3:a:jenkins:azure_vm_agents:*:*:*:*:*:jenkins:*:*", "backlog": "cpe:2.3:a:jenkins:backlog:*:*:*:*:*:jenkins:*:*", "badge": "cpe:2.3:a:jenkins:badge:*:*:*:*:*:jenkins:*:*", "bart": "cpe:2.3:a:jenkins:bart:*:*:*:*:*:jenkins:*:*", "batch-task": "cpe:2.3:a:jenkins:batch_task:*:*:*:*:*:jenkins:*:*", + "beaker-builder": "cpe:2.3:a:jenkins:beaker_builder:*:*:*:*:*:jenkins:*:*", "bearychat": "cpe:2.3:a:jenkins:bearychat:*:*:*:*:*:jenkins:*:*", + "benchmark-evaluator": "cpe:2.3:a:jenkins:benchmark_evaluator:*:*:*:*:*:jenkins:*:*", + "bigpanda-jenkins": "cpe:2.3:a:jenkins:bigpanda_notifier:*:*:*:*:*:jenkins:*:*", "bitbucket-approve": "cpe:2.3:a:jenkins:bitbucket_approve:*:*:*:*:*:jenkins:*:*", "bitbucket-branch-source": "cpe:2.3:a:jenkins:bitbucket_branch_source:*:*:*:*:*:jenkins:*:*", "bitbucket-oauth": "cpe:2.3:a:jenkins:bitbucket_oauth:*:*:*:*:*:jenkins:*:*", + "bitbucket-push-and-pull-request": "cpe:2.3:a:jenkins:bitbucket_push_and_pull_request:*:*:*:*:*:jenkins:*:*", "blackduck-detect": "cpe:2.3:a:jenkins:synopsys_detect:*:*:*:*:*:jenkins:*:*", "blackduck-hub": "cpe:2.3:a:jenkins:black_duck_hub:*:*:*:*:*:jenkins:*:*", "blueocean": "cpe:2.3:a:jenkins:blue_ocean:*:*:*:*:*:jenkins:*:*", "bmc-rpd": "cpe:2.3:a:jenkins:bmc_release_package_and_deployment:*:*:*:*:*:jenkins:*:*", "brakeman": "cpe:2.3:a:jenkins:brakeman:*:*:*:*:*:jenkins:*:*", + "bugzilla": "cpe:2.3:a:jenkins:bugzilla_plugin:*:*:*:*:*:jenkins:*:*", "build-failure-analyzer": "cpe:2.3:a:jenkins:build_failure_analyzer:*:*:*:*:*:jenkins:*:*", "build-metrics": "cpe:2.3:a:jenkins:build-metrics:*:*:*:*:*:jenkins:*:*", + "build-notifications": "cpe:2.3:a:jenkins:build_notifications:*:*:*:*:*:jenkins:*:*", "build-pipeline": "cpe:2.3:a:jenkins:build_pipeline:*:*:*:*:*:jenkins:*:*", "build-publisher": "cpe:2.3:a:jenkins:build-publisher:*:*:*:*:*:jenkins:*:*", "build-with-parameters": "cpe:2.3:a:jenkins:build_with_parameters:*:*:*:*:*:jenkins:*:*", "buildgraph-view": "cpe:2.3:a:jenkins:buildgraph-view:*:*:*:*:*:jenkins:*:*", "bumblebee": "cpe:2.3:a:jenkins:bumblebee_hp_alm:*:*:*:*:*:jenkins:*:*", "cas": "cpe:2.3:a:jenkins:cas:*:*:*:*:*:jenkins:*:*", + "cas-plugin": "cpe:2.3:a:jenkins:cas:*:*:*:*:*:jenkins:*:*", "catalogic-ecx": "cpe:2.3:a:jenkins:ecx_copy_data_management:*:*:*:*:*:jenkins:*:*", + "cavisson-ns-nd-integration": "cpe:2.3:a:jenkins:ns-nd_integration_performance_publisher:*:*:*:*:*:jenkins:*:*", "cccc": "cpe:2.3:a:jenkins:cccc:*:*:*:*:*:jenkins:*:*", "ccm": "cpe:2.3:a:jenkins:ccm:*:*:*:*:*:jenkins:*:*", + "chaos-monkey": "cpe:2.3:a:netflix:chaos_monkey:*:*:*:*:*:jenkins:*:*", + "checkmarx": "cpe:2.3:a:jenkins:checkmarx:*:*:*:*:*:jenkins:*:*", "checkstyle": "cpe:2.3:a:jenkins:checkstyle:*:*:*:*:*:jenkins:*:*", + "chosen-views-tabbar": "cpe:2.3:a:jenkins:chosen-views-tabbar:*:*:*:*:*:jenkins:*:*", "ci-with-toad-edge": "cpe:2.3:a:jenkins:continuous_integration_with_toad_edge:*:*:*:*:*:jenkins:*:*", + "cisco-spark": "cpe:2.3:a:jenkins:cisco_spark:*:*:*:*:*:jenkins:*:*", "claim": "cpe:2.3:a:jenkins:claim:*:*:*:*:*:jenkins:*:*", "clearcase-release": "cpe:2.3:a:jenkins:clearcase_release:*:*:*:*:*:jenkins:*:*", + "clif-performance-testing": "cpe:2.3:a:jenkins:clif_performance_testing:*:*:*:*:*:jenkins:*:*", "cloud-stats": "cpe:2.3:a:jenkins:cloud_statistics:*:*:*:*:*:jenkins:*:*", + "cloudbees-bitbucket-branch-source": "cpe:2.3:a:jenkins:bitbucket_branch_source:*:*:*:*:*:jenkins:*:*", + "cloudbees-folder": "cpe:2.3:a:jenkins:folders:*:*:*:*:*:jenkins:*:*", "cloudbees-jenkins-advisor": "cpe:2.3:a:jenkins:health_advisor_by_cloudbees:*:*:*:*:*:jenkins:*:*", + "cloudcoreo-deploytime": "cpe:2.3:a:jenkins:cloudcoreo_deploytime:*:*:*:*:*:jenkins:*:*", "cloudfoundry": "cpe:2.3:a:jenkins:cloud_foundry:*:*:*:*:*:jenkins:*:*", + "cloudshare-docker": "cpe:2.3:a:jenkins:cloudshare_docker-machine:*:*:*:*:*:jenkins:*:*", + "cloudtest": "cpe:2.3:a:jenkins:soasta_cloudtest:*:*:*:*:*:jenkins:*:*", "cobertura": "cpe:2.3:a:jenkins:cobertura:*:*:*:*:*:jenkins:*:*", "code-coverage-api": "cpe:2.3:a:jenkins:code_coverage_api:*:*:*:*:*:jenkins:*:*", "codefresh": "cpe:2.3:a:jenkins:codefresh_integration:*:*:*:*:*:jenkins:*:*", "codescan": "cpe:2.3:a:jenkins:codescan:*:*:*:*:*:jenkins:*:*", "collabnet": "cpe:2.3:a:jenkins:collabnet:*:*:*:*:*:jenkins:*:*", "compact-columns": "cpe:2.3:a:jenkins:compact_columns:*:*:*:*:*:jenkins:*:*", + "compatibility-action-storage": "cpe:2.3:a:praqma:compatibility_action_storage:*:*:*:*:*:jenkins:*:*", "computer-queue": "cpe:2.3:a:jenkins:computer_queue:*:*:*:*:*:jenkins:*:*", + "compuware-common-configuration": "cpe:2.3:a:jenkins:compuware_common_configuration:*:*:*:*:*:jenkins:*:*", "compuware-ispw-operations": "cpe:2.3:a:jenkins:compuware_ispw_operations:*:*:*:*:*:jenkins:*:*", + "compuware-topaz-for-total-test": "cpe:2.3:a:jenkins:compuware_topaz_for_total_test:*:*:*:*:*:jenkins:*:*", + "compuware-topaz-utilities": "cpe:2.3:a:jenkins:compuware_topaz_utilities:*:*:*:*:*:jenkins:*:*", + "compuware-xpediter-code-coverage": "cpe:2.3:a:jenkins:compuware_xpediter_code_coverage:*:*:*:*:*:jenkins:*:*", "config-file-provider": "cpe:2.3:a:jenkins:config_file_provider:*:*:*:*:*:jenkins:*:*", "configuration-as-code": "cpe:2.3:a:jenkins:configuration_as_code:*:*:*:*:*:jenkins:*:*", "configurationslicing": "cpe:2.3:a:jenkins:configuration_slicing:*:*:*:*:*:jenkins:*:*", "confluence-publisher": "cpe:2.3:a:jenkins:confluence_publisher:*:*:*:*:*:jenkins:*:*", + "conjur-credentials": "cpe:2.3:a:jenkins:conjur_secrets:*:*:*:*:*:jenkins:*:*", "cons3rt": "cpe:2.3:a:jenkins:cons3rt:*:*:*:*:*:jenkins:*:*", + "consul-kv-builder": "cpe:2.3:a:jenkins:consul_kv_builder:*:*:*:*:*:jenkins:*:*", "contrast-continuous-application-security": "cpe:2.3:a:jenkins:contrast_continuous_application_security:*:*:*:*:*:jenkins:*:*", + "convert-to-pipeline": "cpe:2.3:a:jenkins:convert_to_pipeline:*:*:*:*:*:jenkins:*:*", + "convertigo-mobile-platform": "cpe:2.3:a:jenkins:convertigo_mobile_platform:*:*:*:*:*:jenkins:*:*", + "copr": "cpe:2.3:a:jenkins:copr:*:*:*:*:*:jenkins:*:*", "copy-data-to-workspace": "cpe:2.3:a:jenkins:copy_data_to_workspace:*:*:*:*:*:jenkins:*:*", + "copy-data-to-workspace-plugin": "cpe:2.3:a:jenkins:copy_data_to_workspace:*:*:*:*:*:jenkins:*:*", "copy-to-slave": "cpe:2.3:a:jenkins:copy_to_slave:*:*:*:*:*:jenkins:*:*", "copyartifact": "cpe:2.3:a:jenkins:copy_artifact:*:*:*:*:*:jenkins:*:*", "couchdb-statistics": "cpe:2.3:a:jenkins:couchdb-statistics:*:*:*:*:*:jenkins:*:*", "covcomplplot": "cpe:2.3:a:jenkins:coverage\\/complexity_scatter_plot:*:*:*:*:*:jenkins:*:*", "coverity": "cpe:2.3:a:jenkins:coverity:*:*:*:*:*:jenkins:*:*", + "cppcheck": "cpe:2.3:a:jenkins:cppcheck:*:*:*:*:*:jenkins:*:*", "cppncss": "cpe:2.3:a:jenkins:cppncss:*:*:*:*:*:jenkins:*:*", "crap4j": "cpe:2.3:a:jenkins:crap4j:*:*:*:*:*:jenkins:*:*", "credentials": "cpe:2.3:a:jenkins:credentials:*:*:*:*:*:jenkins:*:*", "credentials-binding": "cpe:2.3:a:jenkins:credentials_binding:*:*:*:*:*:jenkins:*:*", + "crittercism-dsym": "cpe:2.3:a:jenkins:crittercism-dsym:*:*:*:*:*:jenkins:*:*", + "crowd": "cpe:2.3:a:jenkins:crowd_integration:*:*:*:*:*:jenkins:*:*", "crowd2": "cpe:2.3:a:jenkins:crowd_integration:*:*:*:*:*:jenkins:*:*", "crx-content-package-deployer": "cpe:2.3:a:jenkins:crx_content_package_deployer:*:*:*:*:*:jenkins:*:*", "cryptomove": "cpe:2.3:a:jenkins:cryptomove:*:*:*:*:*:jenkins:*:*", "cucumber-living-documentation": "cpe:2.3:a:jenkins:cucumber_living_documentation:*:*:*:*:*:jenkins:*:*", + "custom-build-properties": "cpe:2.3:a:jenkins:custom_build_properties:*:*:*:*:*:jenkins:*:*", + "custom-checkbox-parameter": "cpe:2.3:a:jenkins:custom_checkbox_parameter:*:*:*:*:*:jenkins:*:*", "custom-job-icon": "cpe:2.3:a:jenkins:custom_job_icon:*:*:*:*:*:jenkins:*:*", - "cvs": "cpe:2.3:a:jenkins:current_versions_systems:*:*:*:*:*:jenkins:*:*", + "cvs": "cpe:2.3:a:jenkins:cvs:*:*:*:*:*:jenkins:*:*", "dashboard-view": "cpe:2.3:a:jenkins:dashboard_view:*:*:*:*:*:jenkins:*:*", "database": "cpe:2.3:a:jenkins:database:*:*:*:*:*:jenkins:*:*", "datadog": "cpe:2.3:a:jenkins:datadog:*:*:*:*:*:jenkins:*:*", + "date-parameter": "cpe:2.3:a:jenkins:date_parameter:*:*:*:*:*:jenkins:*:*", + "dbCharts": "cpe:2.3:a:jenkins:dbcharts:*:*:*:*:*:jenkins:*:*", "debian-package-builder": "cpe:2.3:a:jenkins:debian_package_builder:*:*:*:*:*:jenkins:*:*", + "delivery-pipeline-plugin": "cpe:2.3:a:jenkins:delivery_pipeline:*:*:*:*:*:jenkins:*:*", "delphix": "cpe:2.3:a:jenkins:delphix:*:*:*:*:*:jenkins:*:*", "dependency-check": "cpe:2.3:a:jenkins:owasp_dependency-check:*:*:*:*:*:jenkins:*:*", + "dependency-check-jenkins-plugin": "cpe:2.3:a:jenkins:owasp_dependency-check:*:*:*:*:*:jenkins:*:*", "dependency-track": "cpe:2.3:a:jenkins:owasp_dependency-track:*:*:*:*:*:jenkins:*:*", "depgraph-view": "cpe:2.3:a:jenkins:dependency_graph_viewer:*:*:*:*:*:jenkins:*:*", "deploy": "cpe:2.3:a:jenkins:deploy:*:*:*:*:*:jenkins:*:*", + "deployer-framework": "cpe:2.3:a:jenkins:deployer_framework:*:*:*:*:*:jenkins:*:*", "deployhub": "cpe:2.3:a:jenkins:deployhub:*:*:*:*:*:jenkins:*:*", + "deployit-plugin": "cpe:2.3:a:jenkins:xebialabs_xl_deploy:*:*:*:*:*:jenkins:*:*", "description-column": "cpe:2.3:a:jenkins:description_column:*:*:*:*:*:jenkins:*:*", + "description-column-plugin": "cpe:2.3:a:jenkins:description_column:*:*:*:*:*:jenkins:*:*", + "diawi-upload": "cpe:2.3:a:jenkins:diawi_upload:*:*:*:*:*:jenkins:*:*", "digitalocean": "cpe:2.3:a:jenkins:digitalocean:*:*:*:*:*:jenkins:*:*", + "digitalocean-plugin": "cpe:2.3:a:jenkins:digitalocean:*:*:*:*:*:jenkins:*:*", "dimensionsscm": "cpe:2.3:a:microfocus:dimensions_cm:*:*:*:*:*:jenkins:*:*", "dingding-json-pusher": "cpe:2.3:a:jenkins:dingding_json_pusher:*:*:*:*:*:jenkins:*:*", "dingding-notifications": "cpe:2.3:a:jenkins:dingding:*:*:*:*:*:jenkins:*:*", + "distfork": "cpe:2.3:a:jenkins:distributed_fork:*:*:*:*:*:jenkins:*:*", "docker": "cpe:2.3:a:jenkins:docker:*:*:*:*:*:jenkins:*:*", "docker-commons": "cpe:2.3:a:jenkins:docker_commons:*:*:*:*:*:jenkins:*:*", + "docker-swarm": "cpe:2.3:a:jenkins:docker_swarm:*:*:*:*:*:jenkins:*:*", + "doktor": "cpe:2.3:a:jenkins:doktor:*:*:*:*:*:jenkins:*:*", "dry": "cpe:2.3:a:jenkins:dry:*:*:*:*:*:jenkins:*:*", "dynamic-extended-choice-parameter": "cpe:2.3:a:jenkins:dynamic_extended_choice_parameter:*:*:*:*:*:jenkins:*:*", + "dynamic_extended_choice_parameter": "cpe:2.3:a:jenkins:dynamic_extended_choice_parameter:*:*:*:*:*:jenkins:*:*", "dynatrace": "cpe:2.3:a:jenkins:dynatrace_application_monitoring:*:*:*:*:*:jenkins:*:*", + "dynatrace-dashboard": "cpe:2.3:a:jenkins:dynatrace_application_monitoring:*:*:*:*:*:jenkins:*:*", "eagle-tester": "cpe:2.3:a:jenkins:eagle_tester:*:*:*:*:*:jenkins:*:*", + "ease-plugin": "cpe:2.3:a:jenkins:digital.ai_app_management_publisher:*:*:*:*:*:jenkins:*:*", + "easyqa": "cpe:2.3:a:jenkins:easyqa:*:*:*:*:*:jenkins:*:*", "ec2": "cpe:2.3:a:jenkins:ec2:*:*:*:*:*:jenkins:*:*", + "ec2-deployment-dashboard": "cpe:2.3:a:jenkins:deployment_dashboard:*:*:*:*:*:jenkins:*:*", "echarts-api": "cpe:2.3:a:jenkins:echarts_api:*:*:*:*:*:jenkins:*:*", "ecs-publisher": "cpe:2.3:a:trustsource:ecs_publisher:*:*:*:*:*:jenkins:*:*", "ecutest": "cpe:2.3:a:jenkins:tracetronic_ecu-test:*:*:*:*:*:jenkins:*:*", "eggplant": "cpe:2.3:a:jenkins:eggplant:*:*:*:*:*:jenkins:*:*", "elastest": "cpe:2.3:a:jenkins:elastest:*:*:*:*:*:jenkins:*:*", "elasticbox": "cpe:2.3:a:jenkins:elasticbox_ci:*:*:*:*:*:jenkins:*:*", + "elasticsearch-query": "cpe:2.3:a:jenkins:elasticsearch_query:*:*:*:*:*:jenkins:*:*", "electricflow": "cpe:2.3:a:jenkins:electricflow:*:*:*:*:*:jenkins:*:*", "eloyente": "cpe:2.3:a:jenkins:eloyente:*:*:*:*:*:jenkins:*:*", "email-ext": "cpe:2.3:a:jenkins:email_extension:*:*:*:*:*:jenkins:*:*", + "emailext-template": "cpe:2.3:a:jenkins:email_extension_template:*:*:*:*:*:jenkins:*:*", "embeddable-build-status": "cpe:2.3:a:jenkins:embeddable_build_status:*:*:*:*:*:jenkins:*:*", + "embotics-vcommander": "cpe:2.3:a:jenkins:snow_commander:*:*:*:*:*:jenkins:*:*", + "environment-dashboard": "cpe:2.3:a:jenkins:environment_dashboard:*:*:*:*:*:jenkins:*:*", + "environment-manager": "cpe:2.3:a:jenkins:parasoft_environment_manager:*:*:*:*:*:jenkins:*:*", "environment-manager-tools": "cpe:2.3:a:jenkins:parasoft_environment_manager:*:*:*:*:*:jenkins:*:*", + "extended-choice-parameter": "cpe:2.3:a:jenkins:extended_choice_parameter:*:*:*:*:*:jenkins:*:*", "extensivetesting": "cpe:2.3:a:jenkins:extensive_testing:*:*:*:*:*:jenkins:*:*", + "external-monitor-job": "cpe:2.3:a:jenkins:external_monitor_job_type:*:*:*:*:*:jenkins:*:*", "extra-columns": "cpe:2.3:a:jenkins:extra_columns:*:*:*:*:*:jenkins:*:*", + "extreme-feedback": "cpe:2.3:a:jenkins:extreme-feedback:*:*:*:*:*:jenkins:*:*", "fabric-beta-publisher": "cpe:2.3:a:jenkins:fabric_beta_publisher:*:*:*:*:*:jenkins:*:*", + "failedJobDeactivator": "cpe:2.3:a:jenkins:failed_job_deactivator:*:*:*:*:*:jenkins:*:*", "favorite": "cpe:2.3:a:jenkins:favorite_plugin:*:*:*:*:*:jenkins:*:*", "files-found-trigger": "cpe:2.3:a:jenkins:files_found_trigger:*:*:*:*:*:jenkins:*:*", + "filesystem-list-parameter-plugin": "cpe:2.3:a:jenkins:filesystem_list_parameter:*:*:*:*:*:jenkins:*:*", "filesystem_scm": "cpe:2.3:a:jenkins:file_system_scm:*:*:*:*:*:jenkins:*:*", "findbugs": "cpe:2.3:a:jenkins:findbugs:*:*:*:*:*:jenkins:*:*", "fireline": "cpe:2.3:a:jenkins:360_fireline:*:*:*:*:*:jenkins:*:*", "fitnesse": "cpe:2.3:a:jenkins:fitnesse:*:*:*:*:*:jenkins:*:*", - "flaky-test-handler": "cpe:2.3:a:jenkins:flaky_test_handler:*:*:*:*:*:*:*:*", + "flaky-test-handler": "cpe:2.3:a:jenkins:flaky_test_handler:*:*:*:*:*:jenkins:*:*", + "fogbugz": "cpe:2.3:a:jenkins:fogbugz:*:*:*:*:*:jenkins:*:*", + "folder-auth": "cpe:2.3:a:jenkins:folder-based_authorization_strategy:*:*:*:*:*:jenkins:*:*", + "fortify": "cpe:2.3:a:jenkins:fortify:*:*:*:*:*:jenkins:*:*", "fortify-cloudscan": "cpe:2.3:a:jenkins:fortify_cloudscan:*:*:*:*:*:jenkins:*:.", + "fortify-cloudscan-jenkins-plugin": "cpe:2.3:a:jenkins:fortify_cloudscan:*:*:*:*:*:jenkins:*:.", "fortify-on-demand-uploader": "cpe:2.3:a:jenkins:fortify_on_demand_uploader:*:*:*:*:*:jenkins:*:*", + "frugal-testing": "cpe:2.3:a:jenkins:frugal_testing:*:*:*:*:*:jenkins:*:*", "fstrigger": "cpe:2.3:a:jenkins:filesystem_trigger:*:*:*:*:*:jenkins:*:*", + "ftppublisher": "cpe:2.3:a:jenkins:ftp_publisher:*:*:*:*:*:jenkins:*:*", "gatling": "cpe:2.3:a:jenkins:gatling:*:*:*:*:*:jenkins:*:*", "gcm-notification": "cpe:2.3:a:google:cloud_messaging_notification:*:*:*:*:*:jenkins:*:*", + "gearman-plugin": "cpe:2.3:a:jenkins:gearman:*:*:*:*:*:jenkins:*:*", + "gem-publisher": "cpe:2.3:a:jenkins:gem_publisher:*:*:*:*:*:jenkins:*:*", + "generic-webhook-trigger": "cpe:2.3:a:jenkins:generic_webhook_trigger:*:*:*:*:*:jenkins:*:*", "gerrit-trigger": "cpe:2.3:a:jenkins:gerrit_trigger:*:*:*:*:*:jenkins:*:*", "ghprb": "cpe:2.3:a:jenkins:github_pull_request_builder:*:*:*:*:*:jenkins:*:*", "git": "cpe:2.3:a:jenkins:git:*:*:*:*:*:jenkins:*:*", "git-changelog": "cpe:2.3:a:jenkins:git_changelog:*:*:*:*:*:jenkins:*:*", "git-client": "cpe:2.3:a:jenkins:git_client:*:*:*:*:*:jenkins:*:*", "git-parameter": "cpe:2.3:a:jenkins:git_parameter:*:*:*:*:*:jenkins:*:*", + "git-server": "cpe:2.3:a:jenkins:git_server:*:*:*:*:*:jenkins:*:*", "gitea": "cpe:2.3:a:gitea:gitea:*:*:*:*:*:jenkins:*:*", "github": "cpe:2.3:a:jenkins:github:*:*:*:*:*:jenkins:*:*", "github-branch-source": "cpe:2.3:a:jenkins:github_branch_source:*:*:*:*:*:jenkins:*:*", @@ -161,8 +250,10 @@ "gitlab": "cpe:2.3:a:jenkins:gitlab:*:*:*:*:*:jenkins:*:*", "gitlab-hook": "cpe:2.3:a:jenkins:gitlab_hook:*:*:*:*:*:jenkins:*:*", "gitlab-oauth": "cpe:2.3:a:jenkins:gitlab_oauth:*:*:*:*:*:jenkins:*:*", + "gitlab-plugin": "cpe:2.3:a:jenkins:gitlab:*:*:*:*:*:jenkins:*:*", "global-build-stats": "cpe:2.3:a:jenkins:global-build-stats:*:*:*:*:*:jenkins:*:*", "global-post-script": "cpe:2.3:a:jenkins:global_post_script:*:*:*:*:*:jenkins:*:*", + "global-variable-string-parameter": "cpe:2.3:a:jenkins:global_variable_string_parameter:*:*:*:*:*:jenkins:*:*", "gogs-webhook": "cpe:2.3:a:jenkins:gogs:*:*:*:*:*:jenkins:*:*", "google-compute-engine": "cpe:2.3:a:jenkins:google_compute_engine:*:*:*:*:*:jenkins:*:*", "google-kubernetes-engine": "cpe:2.3:a:jenkins:google_kubernetes_engine:*:*:*:*:*:jenkins:*:*", @@ -173,30 +264,49 @@ "groovy": "cpe:2.3:a:jenkins:groovy:*:*:*:*:*:jenkins:*:*", "groovy-postbuild": "cpe:2.3:a:jenkins:groovy_postbuild:*:*:*:*:*:jenkins:*:*", "harvest": "cpe:2.3:a:jenkins:harvest_scm:*:*:*:*:*:jenkins:*:*", + "hashicorp-vault-plugin": "cpe:2.3:a:jenkins:hashicorp_vault:*:*:*:*:*:jenkins:*:*", + "hidden-parameter": "cpe:2.3:a:jenkins:hidden_parameter:*:*:*:*:*:jenkins:*:*", "hipchat": "cpe:2.3:a:atlassian:hipchat:*:*:*:*:*:jenkins:*:*", "hockeyapp": "cpe:2.3:a:jenkins:hockeyapp:*:*:*:*:*:jenkins:*:*", + "hp-application-automation-tools-plugin": "cpe:2.3:a:microfocus:application_automation_tools:*:*:*:*:*:jenkins:*:*", "hp-quality-center": "cpe:2.3:a:hp_application_lifecycle_management_quality_center_project:hp_application_lifecycle_management_quality_center:*:*:*:*:*:jenkins:*:*", + "hpe-network-virtualization": "cpe:2.3:a:jenkins:hpe_network_virtualization:*:*:*:*:*:jenkins:*:*", "htmlpublisher": "cpe:2.3:a:jenkins:html_publisher:*:*:*:*:*:jenkins:*:*", "htmlresource": "cpe:2.3:a:jenkins:html_resource:*:*:*:*:*:*:*:*", "http-request": "cpe:2.3:a:jenkins:http_request:*:*:*:*:*:jenkins:*:*", + "http_request": "cpe:2.3:a:jenkins:http_request:*:*:*:*:*:jenkins:*:*", + "hyper-commons": "cpe:2.3:a:jenkins:hyper.sh_commons:*:*:*:*:*:jenkins:*:*", + "ibm-application-security": "cpe:2.3:a:jenkins:ibm_application_security_on_cloud:*:*:*:*:*:jenkins:*:*", "ibm-asoc": "cpe:2.3:a:jenkins:ibm_application_security_on_cloud:*:*:*:*:*:jenkins:*:*", "icescrum": "cpe:2.3:a:jenkins:icescrum:*:*:*:*:*:jenkins:*:*", "image-gallery": "cpe:2.3:a:jenkins:image_gallery:*:*:*:*:*:jenkins:*:*", + "image-tag-parameter": "cpe:2.3:a:jenkins:image_tag_parameter:*:*:*:*:*:jenkins:*:*", "implied-labels": "cpe:2.3:a:jenkins:implied_labels:*:*:*:*:*:jenkins:*:*", "incapptic-connect-uploader": "cpe:2.3:a:jenkins:incapptic_connect_uploader:*:*:*:*:*:jenkins:*:*", "inedo-buildmaster": "cpe:2.3:a:jenkins:inedo_buildmaster:*:*:*:*:*:jenkins:*:*", + "inedo-proget": "cpe:2.3:a:jenkins:inedo_proget:*:*:*:*:*:jenkins:*:*", "influxdb": "cpe:2.3:a:eficode:influxdb:*:*:*:*:*:jenkins:*:*", "instant-messaging": "cpe:2.3:a:jenkins:instant-messaging:*:*:*:*:*:jenkins:*:*", "ircbot": "cpe:2.3:a:jenkins:irc:*:*:*:*:*:jenkins:*:*", + "ivy": "cpe:2.3:a:jenkins:ivy:*:*:*:*:*:jenkins:*:*", "jabber": "cpe:2.3:a:jenkins:jabber_\\(xmpp\\)_notifier_and_control:*:*:*:*:*:jenkins:*:*", + "jabber-server-plugin": "cpe:2.3:a:jenkins:jabber_server:*:*:*:*:*:jenkins:*:*", + "jacoco": "cpe:2.3:a:jenkins:jacoco:*:*:*:*:*:jenkins:*:*", "jclouds": "cpe:2.3:a:jenkins:jclouds:*:*:*:*:*:jenkins:*:*", "jenkins-cloudformation": "cpe:2.3:a:jenkins:jenkins-cloudformation-plugin:*:*:*:*:*:jenkins:*:*", + "jenkins-multijob-plugin": "cpe:2.3:a:jenkins:multijob:*:*:*:*:*:jenkins:*:*", + "jenkins-reviewbot": "cpe:2.3:a:jenkins:jenkins-reviewbot:*:*:*:*:*:jenkins:*:*", + "jenkinsci-appspider-plugin": "cpe:2.3:a:jenkins:appspider:*:*:*:*:*:jenkins:*:*", + "jianliao": "cpe:2.3:a:jenkins:jianliao_notification:*:*:*:*:*:jenkins:*:*", + "jigomerge": "cpe:2.3:a:jenkins:jigomerge:*:*:*:*:*:jenkins:*:*", "jira": "cpe:2.3:a:jenkins:jira:*:*:*:*:*:jenkins:*:*", "jira-ext": "cpe:2.3:a:jenkins:jira-ext:*:*:*:*:*:jenkins:*:*", "jira-issue-updater": "cpe:2.3:a:jenkins:jira_issue_updater:*:*:*:*:*:jenkins:*:*", + "jira-steps": "cpe:2.3:a:jenkins:jira_pipeline_steps:*:*:*:*:*:jenkins:*:*", "jms-messaging": "cpe:2.3:a:jenkins:jms_messaging:*:*:*:*:*:jenkins:*:*", "job-dsl": "cpe:2.3:a:jenkins:job_dsl:*:*:*:*:*:jenkins:*:*", "job-import": "cpe:2.3:a:jenkins:job_import:*:*:*:*:*:jenkins:*:*", + "job-import-plugin": "cpe:2.3:a:jenkins:job_import:*:*:*:*:*:jenkins:*:*", "jobConfigHistory": "cpe:2.3:a:jobconfighistory_project:jobconfighistory:*:*:*:*:*:jenkins:*:*", "jobgenerator": "cpe:2.3:a:jenkins:job_generator:*:*:*:*:*:jenkins:*:*", "jsgames": "cpe:2.3:a:jenkins:jsgames:*:*:*:*:*:jenkins:*:*", @@ -204,8 +314,11 @@ "jx-resources": "cpe:2.3:a:jenkins:jx_resources:*:*:*:*:*:jenkins:*:*", "kanboard": "cpe:2.3:a:jenkins:kanboard:*:*:*:*:*:jenkins:*:*", "katalon": "cpe:2.3:a:jenkins:katalon:*:*:*:*:*:jenkins:*:*", + "kiuwanJenkinsPlugin": "cpe:2.3:a:jenkins:kiuwan:*:*:*:*:*:jenkins:*:*", + "klaros-testmanagement": "cpe:2.3:a:jenkins:klaros-testmanagement:*:*:*:*:*:jenkins:*:*", "klocwork": "cpe:2.3:a:jenkins:klocwork_analysis:*:*:*:*:*:jenkins:*:*", "kmap": "cpe:2.3:a:jenkins:kmap:*:*:*:*:*:jenkins:*:*", + "kmap-jenkins": "cpe:2.3:a:jenkins:kmap:*:*:*:*:*:jenkins:*:*", "koji": "cpe:2.3:a:jenkins:koji:*:*:*:*:*:jenkins:*:*", "kubernetes": "cpe:2.3:a:jenkins:kubernetes:*:*:*:*:*:jenkins:*:*", "kubernetes-cd": "cpe:2.3:a:jenkins:kubernetes_continuous_deploy:*:*:*:*:*:jenkins:*:*", @@ -213,29 +326,44 @@ "kubernetes-credentials-provider": "cpe:2.3:a:jenkins:kubernetes_credentials_provider:*:*:*:*:*:jenkins:*:*", "kubernetes-pipeline": "cpe:2.3:a:jenkins:kubernetes_pipeline:*:*:*:*:*:jenkins:*:*", "labmanager": "cpe:2.3:a:jenkins:vmware_lab_manager_slaves:*:*:*:*:*:jenkins:*:*", + "lambdatest-automation": "cpe:2.3:a:jenkins:lambdatest-automation:*:*:*:*:*:jenkins:*:*", "libvirt-slave": "cpe:2.3:a:jenkins:libvirt_slaves:*:*:*:*:*:jenkins:*:*", "link-column": "cpe:2.3:a:jenkins:link_column:*:*:*:*:*:jenkins:*:*", "liquibase-runner": "cpe:2.3:a:jenkins:liquibase_runner:*:*:*:*:*:jenkins:*:*", + "list-git-branches-parameter": "cpe:2.3:a:jenkins:list_git_branches_parameter:*:*:*:*:*:jenkins:*:*", "literate": "cpe:2.3:a:jenkins:literate:*:*:*:*:*:jenkins:*:*", "lockable-resources": "cpe:2.3:a:jenkins:lockable_resources:*:*:*:*:*:jenkins:*:*", "locked-files-report": "cpe:2.3:a:jenkins:locked_files_report:*:*:*:*:*:jenkins:*:*", "log-parser": "cpe:2.3:a:jenkins:log_parser:*:*:*:*:*:jenkins:*:*", "logstash": "cpe:2.3:a:jenkins:logstash:*:*:*:*:*:jenkins:*:*", + "lucene-search": "cpe:2.3:a:jenkins:lucene-search:*:*:*:*:*:jenkins:*:*", "m2release": "cpe:2.3:a:jenkins:m2release:*:*:*:*:*:jenkins:*:*", + "mabl-integration": "cpe:2.3:a:jenkins:mabl:*:*:*:*:*:jenkins:*:*", "mac": "cpe:2.3:a:jenkins:mac:*:*:*:*:*:jenkins:*:*", + "macstadium-orka": "cpe:2.3:a:jenkins:orka_by_macstadium:*:*:*:*:*:jenkins:*:*", "mail-commander": "cpe:2.3:a:jenkins:mail_commander:*:*:*:*:*:jenkins:*:*", - "mailer": "cpe:2.3:a:jenkins:mailer:*:*:*:*:*:*:*:*", + "mailcommander": "cpe:2.3:a:jenkins:mail_commander:*:*:*:*:*:jenkins:*:*", + "mailer": "cpe:2.3:a:jenkins:mailer:*:*:*:*:*:jenkins:*:*", "mantis": "cpe:2.3:a:jenkins:mantis:*:*:*:*:*:jenkins:*:*", + "markdown-formatter": "cpe:2.3:a:jenkins:markdown_formatter:*:*:*:*:*:jenkins:*:*", "mashup-portlets": "cpe:2.3:a:jenkins:mashup_portlets:*:*:*:*:*:jenkins:*:*", "mask-passwords": "cpe:2.3:a:jenkins:mask_passwords:*:*:*:*:*:jenkins:*:*", + "mathworks-polyspace": "cpe:2.3:a:jenkins:mathworks_polyspace:*:*:*:*:*:jenkins:*:*", + "matlab": "cpe:2.3:a:jenkins:matlab:*:*:*:*:*:jenkins:*:*", "matrix-auth": "cpe:2.3:a:jenkins:matrix_authorization_strategy:*:*:*:*:*:jenkins:*:*", "matrix-project": "cpe:2.3:a:jenkins:matrix_project:*:*:*:*:*:jenkins:*:*", + "matrix-reloaded": "cpe:2.3:a:jenkins:matrix_reloaded:*:*:*:*:*:jenkins:*:*", "mattermost": "cpe:2.3:a:jenkins:mattermost_notification:*:*:*:*:*:jenkins:*:*", "maven": "cpe:2.3:a:jenkins:maven:*:*:*:*:*:jenkins:*:*", + "maven-artifact-choicelistprovider": "cpe:2.3:a:jenkins:maven_artifact_choicelistprovider_\\(nexus\\):*:*:*:*:*:jenkins:*:*", + "maven-metadata-plugin": "cpe:2.3:a:jenkins:maven_metadata:*:*:*:*:*:jenkins:*:*", "maven-release-cascade": "cpe:2.3:a:barchart:maven_cascade_release:*:*:*:*:*:jenkins:*:*", + "meliora-testlab": "cpe:2.3:a:melioratestlab:melioratestlab:*:*:*:*:*:jenkins:*:*", "mercurial": "cpe:2.3:a:jenkins:mercurial:*:*:*:*:*:jenkins:*:*", "mesos": "cpe:2.3:a:apache:mesos:*:*:*:*:*:jenkins:*:*", "metrics": "cpe:2.3:a:jenkins:metrics:*:*:*:*:*:jenkins:*:*", + "minio-storage": "cpe:2.3:a:jenkins:minio_storage:*:*:*:*:*:jenkins:*:*", + "miniorange-saml-sp": "cpe:2.3:a:jenkins:saml_single_sign_on:*:*:*:*:*:jenkins:*:*", "mongodb": "cpe:2.3:a:jenkins:mongodb:*:*:*:*:*:jenkins:*:*", "monitoring": "cpe:2.3:a:jenkins:monitoring:*:*:*:*:*:jenkins:*:*", "mstest": "cpe:2.3:a:jenkins:mstest:*:*:*:*:*:jenkins:*:*", @@ -243,18 +371,27 @@ "nerrvana": "cpe:2.3:a:jenkins:nerrvana:*:*:*:*:*:jenkins:*:*", "nested-view": "cpe:2.3:a:jenkins:nested_view:*:*:*:*:*:jenkins:*:*", "netsparker-cloud-scan": "cpe:2.3:a:jenkins:netsparker_cloud_scan:*:*:*:*:*:jenkins:*:*", + "neuvector-vulnerability-scanner": "cpe:2.3:a:jenkins:neuvector_vulnerability_scanner:*:*:*:*:*:jenkins:*:*", "nexus-platform": "cpe:2.3:a:jenkins:nexus_platform:*:*:*:*:*:jenkins:*:*", + "nodejs": "cpe:2.3:a:jenkins:nodejs:*:*:*:*:*:jenkins:*:*", + "nodelabelparameter": "cpe:2.3:a:jenkins:node_and_label_parameter:*:*:*:*:*:jenkins:*:*", "nomad": "cpe:2.3:a:jenkins:nomad:*:*:*:*:*:jenkins:*:*", "nuget": "cpe:2.3:a:jenkins:nuget:*:*:*:*:*:jenkins:*:*", "nunit": "cpe:2.3:a:jenkins:nunit:*:*:*:*:*:jenkins:*:*", + "octoperf": "cpe:2.3:a:jenkins:octoperf_load_testing:*:*:*:*:*:jenkins:*:*", + "oic-auth": "cpe:2.3:a:jenkins:openid_connect_authentication:*:*:*:*:*:jenkins:*:*", "ontrack": "cpe:2.3:a:jenkins:ontrack:*:*:*:*:*:jenkins:*:*", "open-stf": "cpe:2.3:a:jenkins:open_stf:*:*:*:*:*:jenkins:*:*", "openid": "cpe:2.3:a:jenkins:openid:*:*:*:*:*:jenkins:*:*", "openshift-deployer": "cpe:2.3:a:jenkins:openshift_deployer:*:*:*:*:*:jenkins:*:*", + "openshift-login": "cpe:2.3:a:jenkins:openshift_login:*:*:*:*:*:jenkins:*:*", "openshift-pipeline": "cpe:2.3:a:jenkins:openshift_pipeline:*:*:*:*:*:jenkins:*:*", "openstack-cloud": "cpe:2.3:a:jenkins:openstack_cloud:*:*:*:*:*:jenkins:*:*", + "opsgenie": "cpe:2.3:a:jenkins:opsgenie:*:*:*:*:*:jenkins:*:*", + "oracle-cloud-infrastructure-compute-classic": "cpe:2.3:a:jenkins:oracle_cloud_infrastructure_compute_classic:*:*:*:*:*:jenkins:*:*", "ownership": "cpe:2.3:a:jenkins:job_and_node_ownership:*:*:*:*:*:jenkins:*:*", "p4": "cpe:2.3:a:jenkins:p4:*:*:*:*:*:jenkins:*:*", + "packageversion": "cpe:2.3:a:jenkins:package_version:*:*:*:*:*:jenkins:*:*", "pam-auth": "cpe:2.3:a:jenkins:pluggable_authentication_module:*:*:*:*:*:jenkins:*:*", "pangolin-testrail-connector": "cpe:2.3:a:agiletestware:pangolin_connector_for_testrail:*:*:*:*:*:jenkins:*:*", "parameterized-remote-trigger": "cpe:2.3:a:jenkins:parameterized_remote_trigger:*:*:*:*:*:jenkins:*:*", @@ -264,63 +401,106 @@ "perfecto": "cpe:2.3:a:jenkins:perfecto:*:*:*:*:*:jenkins:*:*", "perfectomobile": "cpe:2.3:a:jenkins:perfecto_mobile:*:*:*:*:*:jenkins:*:*", "perforce": "cpe:2.3:a:jenkins:perforce:*:*:*:*:*:jenkins:*:*", + "performance": "cpe:2.3:a:jenkins:performance:*:*:*:*:*:jenkins:*:*", + "perfpublisher": "cpe:2.3:a:jenkins:performance_publisher:*:*:*:*:*:jenkins:*:*", "periodicbackup": "cpe:2.3:a:jenkins:periodic_backup:*:*:*:*:*:jenkins:*:*", "persona": "cpe:2.3:a:jenkins:persona:*:*:*:*:*:jenkins:*:*", + "phabricator-plugin": "cpe:2.3:a:jenkins:phabricator_differential:*:*:*:*:*:jenkins:*:*", "phoenix-autotest": "cpe:2.3:a:jenkins:pipeline\\:_phoenix_autotest:*:*:*:*:*:jenkins:*:*", + "pipeline-aggregator-view": "cpe:2.3:a:jenkins:pipeline_aggregator_view:*:*:*:*:*:jenkins:*:*", "pipeline-aws": "cpe:2.3:a:jenkins:pipeline\\:_aws_steps:*:*:*:*:*:jenkins:*:*", "pipeline-build-step": "cpe:2.3:a:jenkins:pipeline\\:_build_step:*:*:*:*:*:jenkins:*:*", "pipeline-githubnotify-step": "cpe:2.3:a:jenkins:pipeline_github_notify_step:*:*:*:*:*:jenkins:*:*", "pipeline-input-step": "cpe:2.3:a:jenkins:pipeline\\:input_step:*:*:*:*:*:jenkins:*:*", "pipeline-maven": "cpe:2.3:a:jenkins:pipeline_maven_integration:*:*:*:*:*:jenkins:*:*", "pipeline-model-definition": "cpe:2.3:a:jenkins:pipeline\\:_declarative:*:*:*:*:*:jenkins:*:*", + "pipeline-restful-api": "cpe:2.3:a:jenkins:pipeline_restful_api:*:*:*:*:*:jenkins:*:*", + "pipeline-stage-view": "cpe:2.3:a:jenkins:stage_view:*:*:*:*:*:jenkins:*:*", "play": "cpe:2.3:a:jenkins:play_framework:*:*:*:*:*:jenkins:*:*", "plot": "cpe:2.3:a:jenkins:plot:*:*:*:*:*:jenkins:*:*", "pmd": "cpe:2.3:a:jenkins:pmd:*:*:*:*:*:jenkins:*:*", "pollscm": "cpe:2.3:a:jenkins:poll_scm:*:*:*:*:*:jenkins:*:*", + "pom2config": "cpe:2.3:a:jenkins:pom2config:*:*:*:*:*:jenkins:*:*", "port-allocator": "cpe:2.3:a:jenkins:port_allocator:*:*:*:*:*:jenkins:*:*", + "project-inheritance": "cpe:2.3:a:jenkins:project_inheritance:*:*:*:*:*:jenkins:*:*", "promoted-builds": "cpe:2.3:a:jenkins:promoted_builds:*:*:*:*:*:jenkins:*:*", + "promoted-builds-simple": "cpe:2.3:a:jenkins:promoted_builds_\\(simple\\):*:*:*:*:*:jenkins:*:*", "proxmox": "cpe:2.3:a:jenkins:proxmox:*:*:*:*:*:jenkins:*:*", "prqa": "cpe:2.3:a:jenkins:prqa:*:*:*:*:*:jenkins:*:*", + "prqa-plugin": "cpe:2.3:a:jenkins:prqa:*:*:*:*:*:jenkins:*:*", "publish-over-cifs": "cpe:2.3:a:jenkins:publish_over_cifs:*:*:*:*:*:jenkins:*:*", "publish-over-ftp": "cpe:2.3:a:jenkins:publish_over_ftp:*:*:*:*:*:jenkins:*:*", "publish-over-ssh": "cpe:2.3:a:jenkins:publish_over_ssh:*:*:*:*:*:jenkins:*:*", "puppet-enterprise-pipeline": "cpe:2.3:a:jenkins:puppet_enterprise_pipeline:*:*:*:*:*:jenkins:*:*", "pwauth": "cpe:2.3:a:jenkins:pwauth_security_realm:*:*:*:*:*:jenkins:*:*", "quality-gates": "cpe:2.3:a:jenkins:quality_gates:*:*:*:*:*:jenkins:*:*", + "quayio-trigger": "cpe:2.3:a:jenkins:quay.io_trigger:*:*:*:*:*:jenkins:*:*", "queue-cleanup": "cpe:2.3:a:jenkins:queue_cleanup:*:*:*:*:*:jenkins:*:*", + "rabbitmq-consumer": "cpe:2.3:a:jenkins:rabbitmq_consumer:*:*:*:*:*:jenkins:*:*", "radargun": "cpe:2.3:a:jenkins:radargun:*:*:*:*:*:jenkins:*:*", "radiatorview": "cpe:2.3:a:jenkins:radiator_view:*:*:*:*:*:jenkins:*:*", + "radiatorviewplugin": "cpe:2.3:a:jenkins:radiator_view:*:*:*:*:*:jenkins:*:*", + "random-string-parameter": "cpe:2.3:a:jenkins:random_string_parameter:*:*:*:*:*:jenkins:*:*", "rapiddeploy": "cpe:2.3:a:jenkins:rapiddeploy:*:*:*:*:*:jenkins:*:*", + "rapiddeploy-jenkins": "cpe:2.3:a:jenkins:rapiddeploy:*:*:*:*:*:jenkins:*:*", "rebuild": "cpe:2.3:a:rebuild_project:rebuild:*:*:*:*:*:jenkins:*:*", + "recipe": "cpe:2.3:a:jenkins:recipe:*:*:*:*:*:jenkins:*:*", "redgate-sql-ci": "cpe:2.3:a:jenkins:redgate_sql_change_automation:*:*:*:*:*:jenkins:*:*", + "redhat-dependency-analytics": "cpe:2.3:a:jenkins:red_hat_dependency_analytics:*:*:*:*:*:jenkins:*:*", + "release-helper": "cpe:2.3:a:jenkins:release_helper:*:*:*:*:*:jenkins:*:*", "relution-publisher": "cpe:2.3:a:jenkins:relution_enterprise_appstore_publisher:*:*:*:*:*:jenkins:*:*", "remote-jobs-view": "cpe:2.3:a:jenkins:remote-jobs-view:*:*:*:*:*:jenkins:*:*", + "repo": "cpe:2.3:a:jenkins:repo:*:*:*:*:*:jenkins:*:*", + "reportportal": "cpe:2.3:a:jenkins:report_portal:*:*:*:*:*:jenkins:*:*", "repository-connector": "cpe:2.3:a:jenkins:repository_connector:*:*:*:*:*:jenkins:*:*", + "requests": "cpe:2.3:a:jenkins:requests:*:*:*:*:*:jenkins:*:*", "resource-disposer": "cpe:2.3:a:jenkins:resource_disposer:*:*:*:*:*:jenkins:*:*", "rest-list-parameter": "cpe:2.3:a:jenkins:rest_list_parameter:*:*:*:*:*:jenkins:*:*", "reverse-proxy-auth": "cpe:2.3:a:jenkins:reverse_proxy_auth:*:*:*:*:*:jenkins:*:*", + "reverse-proxy-auth-plugin": "cpe:2.3:a:jenkins:reverse_proxy_auth:*:*:*:*:*:jenkins:*:*", + "rhnpush-plugin": "cpe:2.3:a:jenkins:rhnpush-plugin:*:*:*:*:*:jenkins:*:*", + "rich-text-publisher-plugin": "cpe:2.3:a:jenkins:rich_text_publisher:*:*:*:*:*:jenkins:*:*", "robot": "cpe:2.3:a:jenkins:robot_framework:*:*:*:*:*:jenkins:*:*", "rocketchatnotifier": "cpe:2.3:a:jenkins:rocketchat_notifier:*:*:*:*:*:jenkins:*:*", "role-strategy": "cpe:2.3:a:jenkins:role-based_authorization_strategy:*:*:*:*:*:jenkins:*:*", "rpmsign": "cpe:2.3:a:jenkins:rpmsign-plugin:*:*:*:*:*:jenkins:*:*", + "rpmsign-plugin": "cpe:2.3:a:jenkins:rpmsign-plugin:*:*:*:*:*:jenkins:*:*", + "rqm-plugin": "cpe:2.3:a:jenkins:rqm:*:*:*:*:*:jenkins:*:*", + "rrod": "cpe:2.3:a:jenkins:request_rename_or_delete:*:*:*:*:*:jenkins:*:*", "rundeck": "cpe:2.3:a:jenkins:rundeck:*:*:*:*:*:jenkins:*:*", "s3": "cpe:2.3:a:jenkins:s3_publisher:*:*:*:*:*:jenkins:*:*", + "s3explorer": "cpe:2.3:a:jenkins:s3_explorer:*:*:*:*:*:jenkins:*:*", "saltstack": "cpe:2.3:a:jenkins:saltstack:*:*:*:*:*:jenkins:*:*", + "sametime": "cpe:2.3:a:jenkins:sametime:*:*:*:*:*:jenkins:*:*", "saml": "cpe:2.3:a:jenkins:saml:*:*:*:*:*:jenkins:*:*", + "sauce-ondemand": "cpe:2.3:a:jenkins:sauce_ondemand:*:*:*:*:*:jenkins:*:*", "scm-filter-jervis": "cpe:2.3:a:jenkins:source_code_management_filter_jervis:*:*:*:*:*:jenkins:*:*", + "scm-httpclient": "cpe:2.3:a:jenkins:scm_httpclient:*:*:*:*:*:jenkins:*:*", + "scp": "cpe:2.3:a:jenkins:scp_publisher:*:*:*:*:*:jenkins:*:*", "script-security": "cpe:2.3:a:jenkins:script_security:*:*:*:*:*:jenkins:*:*", + "scriptler": "cpe:2.3:a:jenkins:scriptler:*:*:*:*:*:jenkins:*:*", + "security-inspector": "cpe:2.3:a:jenkins:security_inspector:*:*:*:*:*:jenkins:*:*", "selected-tests-executor": "cpe:2.3:a:jenkins:tests_selector:*:*:*:*:*:jenkins:*:*", "selection-tasks": "cpe:2.3:a:jenkins:selection_tasks:*:*:*:*:*:jenkins:*:*", + "selection-tasks-plugin": "cpe:2.3:a:jenkins:selection_tasks:*:*:*:*:*:jenkins:*:*", "selenium": "cpe:2.3:a:jenkins:selenium:*:*:*:*:*:jenkins:*:*", + "seleniumhtmlreport": "cpe:2.3:a:jenkins:selenium_html_report:*:*:*:*:*:jenkins:*:*", "semantic-versioning": "cpe:2.3:a:jenkins:semantic_versioning:*:*:*:*:*:jenkins:*:*", + "semantic-versioning-plugin": "cpe:2.3:a:jenkins:semantic_versioning:*:*:*:*:*:jenkins:*:*", + "servicenow-devops": "cpe:2.3:a:jenkins:servicenow_devops:*:*:*:*:*:jenkins:*:*", + "shared-objects": "cpe:2.3:a:jenkins:shared_objects:*:*:*:*:*:jenkins:*:*", "shelve-project": "cpe:2.3:a:jenkins:shelve_project:*:*:*:*:*:jenkins:*:*", + "shelve-project-plugin": "cpe:2.3:a:jenkins:shelve_project:*:*:*:*:*:jenkins:*:*", + "shortcut-job": "cpe:2.3:a:jenkins:shortcut_job:*:*:*:*:*:jenkins:*:*", "sidebar-link": "cpe:2.3:a:jenkins:sidebar_link:*:*:*:*:*:jenkins:*:*", "simple-travis-runner": "cpe:2.3:a:jenkins:simple_travis_pipeline_runner:*:*:*:*:*:jenkins:*:*", "sinatra-chef-builder": "cpe:2.3:a:jenkins:chef_sinatra:*:*:*:*:*:jenkins:*:*", "sitemonitor": "cpe:2.3:a:jenkins:sitemonitor:*:*:*:*:*:jenkins:*:*", + "skype-notifier": "cpe:2.3:a:jenkins:skype_notifier:*:*:*:*:*:jenkins:*:*", "skytap-cloud": "cpe:2.3:a:jenkins:skytap_cloud_ci:*:*:*:*:*:jenkins:*:*", "slack": "cpe:2.3:a:jenkins:slack_notification:*:*:*:*:*:jenkins:*:*", "slack-uploader": "cpe:2.3:a:jenkins:slack_upload:*:*:*:*:*:jenkins:*:*", + "smalltest": "cpe:2.3:a:jenkins:smalltest:*:*:*:*:*:jenkins:*:*", "sms": "cpe:2.3:a:jenkins:sms_notification:*:*:*:*:*:jenkins:*:*", "snsnotify": "cpe:2.3:a:jenkins:amazon_sns_build_notifier:*:*:*:*:*:jenkins:*:*", "soapui-pro-functional-testing": "cpe:2.3:a:jenkins:soapui_pro_functional_testing:*:*:*:*:*:jenkins:*:*", @@ -331,65 +511,104 @@ "sonarqube": "cpe:2.3:a:sonarsource:sonarqube_scanner:*:*:*:*:*:jenkins:*:*", "sounds": "cpe:2.3:a:jenkins:sounds:*:*:*:*:*:jenkins:*:*", "speaks": "cpe:2.3:a:jenkins:speaks\\!:*:*:*:*:*:jenkins:*:*", + "splunk-devops": "cpe:2.3:a:jenkins:splunk:*:*:*:*:*:jenkins:*:*", + "spoonscript": "cpe:2.3:a:jenkins:turboscript:*:*:*:*:*:jenkins:*:*", "sqlplus-script-runner": "cpe:2.3:a:jenkins:sqlplus_script_runner:*:*:*:*:*:jenkins:*:*", + "sra-deploy": "cpe:2.3:a:jenkins:serena_sra_deploy:*:*:*:*:*:jenkins:*:*", "ssh": "cpe:2.3:a:jenkins:ssh:*:*:*:*:*:jenkins:*:*", "ssh-agent": "cpe:2.3:a:jenkins:ssh_agent:*:*:*:*:*:jenkins:*:*", "ssh-credentials": "cpe:2.3:a:jenkins:ssh_credentials:*:*:*:*:*:jenkins:*:*", "ssh-slaves": "cpe:2.3:a:jenkins:ssh_slaves:*:*:*:*:*:jenkins:*:*", + "ssh2easy": "cpe:2.3:a:jenkins:ssh2_easy:*:*:*:*:*:jenkins:*:*", + "starteam": "cpe:2.3:a:jenkins:starteam:*:*:*:*:*:jenkins:*:*", "storable-configs": "cpe:2.3:a:jenkins:storable_configs:*:*:*:*:*:jenkins:*:*", + "storable-configs-plugin": "cpe:2.3:a:jenkins:storable_configs:*:*:*:*:*:jenkins:*:*", "subversion": "cpe:2.3:a:jenkins-ci:subversion-plugin:*:*:*:*:*:*:*:*", + "sumologic-publisher": "cpe:2.3:a:jenkins:sumologic_publisher:*:*:*:*:*:jenkins:*:*", "support-core": "cpe:2.3:a:jenkins:support_core:*:*:*:*:*:jenkins:*:*", "svn-partial-release-mgr": "cpe:2.3:a:jenkins:subversion_partial_release_manager:*:*:*:*:*:jenkins:*:*", "svn-release-mgr": "cpe:2.3:a:jenkins:subversion_release_manager:*:*:*:*:*:jenkins:*:*", "swamp": "cpe:2.3:a:jenkins:swamp:*:*:*:*:*:jenkins:*:*", "swarm": "cpe:2.3:a:jenkins:swarm:*:*:*:*:*:jenkins:*:*", + "synopsys-coverity": "cpe:2.3:a:jenkins:synopsys_coverity:*:*:*:*:*:jenkins:*:*", "tap": "cpe:2.3:a:jenkins:tap:*:*:*:*:*:jenkins:*:*", "team-views": "cpe:2.3:a:jenkins:team_views:*:*:*:*:*:jenkins:*:*", "teams-webhook-trigger": "cpe:2.3:a:jenkins:msteams_webhook_trigger:*:*:*:*:*:jenkins:*:*", + "template-workflows": "cpe:2.3:a:jenkins:template_workflows:*:*:*:*:*:jenkins:*:*", "templating-engine": "cpe:2.3:a:jenkins:templating_engine:*:*:*:*:*:jenkins:*:*", + "test-results-aggregator": "cpe:2.3:a:jenkins:test_results_aggregator:*:*:*:*:*:jenkins:*:*", "testcomplete": "cpe:2.3:a:jenkins:testcomplete_support:*:*:*:*:*:jenkins:*:*", "testfairy": "cpe:2.3:a:jenkins:testfairy:*:*:*:*:*:jenkins:*:*", "testlink": "cpe:2.3:a:jenkins:testlink:*:*:*:*:*:jenkins:*:*", + "testng-plugin": "cpe:2.3:a:jenkins:testng_results:*:*:*:*:*:jenkins:*:*", "testquality-updater": "cpe:2.3:a:jenkins:testquality_updater:*:*:*:*:*:jenkins:*:*", "tfs": "cpe:2.3:a:jenkins:team_foundation_server:*:*:*:*:*:jenkins:*:*", + "threadfix": "cpe:2.3:a:jenkins:threadfix:*:*:*:*:*:jenkins:*:*", + "thycotic-devops-secrets-vault": "cpe:2.3:a:jenkins:thycotic_devops_secrets_vault:*:*:*:*:*:jenkins:*:*", + "thycotic-secret-server": "cpe:2.3:a:jenkins:thycotic_secret_server:*:*:*:*:*:jenkins:*:*", + "tics": "cpe:2.3:a:jenkins:tics:*:*:*:*:*:jenkins:*:*", "tikal-multijob": "cpe:2.3:a:jenkins:multijob:*:*:*:*:*:jenkins:*:*", "timestamper": "cpe:2.3:a:jenkins:timestamper:*:*:*:*:*:jenkins:*:*", "tinfoil-scan": "cpe:2.3:a:jenkins:tinfoil_security:*:*:*:*:*:jenkins:*:*", "token-macro": "cpe:2.3:a:jenkins:token_macro:*:*:*:*:*:jenkins:*:*", + "trac-publisher-plugin": "cpe:2.3:a:jenkins:trac_publisher:*:*:*:*:*:jenkins:*:*", "translation": "cpe:2.3:a:jenkins:translation_assistance:*:*:*:*:*:jenkins:*:*", "tuleap-git-branch-source": "cpe:2.3:a:jenkins:tuleap_git_branch_source:*:*:*:*:*:jenkins:*:*", + "tuleap-oauth": "cpe:2.3:a:jenkins:tuleap_authentication:*:*:*:*:*:jenkins:*:*", "twitter": "cpe:2.3:a:jenkins:twitter:*:*:*:*:*:jenkins:*:*", + "uno-choice": "cpe:2.3:a:jenkins:active_choices:*:*:*:*:*:jenkins:*:*", "upload-pgyer": "cpe:2.3:a:jenkins:upload_to_pgyer:*:*:*:*:*:jenkins:*:*", "urltrigger": "cpe:2.3:a:jenkins:urltrigger:*:*:*:*:*:jenkins:*:*", "usemango-runner": "cpe:2.3:a:jenkins:usemango_runner:*:*:*:*:*:jenkins:*:*", "valgrind": "cpe:2.3:a:jenkins:valgrind:*:*:*:*:*:jenkins:*:*", + "validating-email-parameter": "cpe:2.3:a:jenkins:validating_email_parameter:*:*:*:*:*:jenkins:*:*", "validating-string-parameter": "cpe:2.3:a:jenkins:validating_string_parameter:*:*:*:*:*:jenkins:*:*", + "vault-scm-plugin": "cpe:2.3:a:jenkins:sourcegear_vault:*:*:*:*:*:jenkins:*:*", + "vboxwrapper": "cpe:2.3:a:jenkins:vboxwrapper:*:*:*:*:*:jenkins:*:*", + "veracode-scanner": "cpe:2.3:a:jenkins:veracode-scanner:*:*:*:*:*:jenkins:*:*", "view-cloner": "cpe:2.3:a:jenkins:view-cloner:*:*:*:*:*:jenkins:*:*", "view26": "cpe:2.3:a:jenkins:view26_test-reporting:*:*:*:*:*:jenkins:*:*", "violation-comments-to-gitlab": "cpe:2.3:a:jenkins:violation_comments_to_gitlab:*:*:*:*:*:jenkins:*:*", + "visualexpert": "cpe:2.3:a:jenkins:visualexpert:*:*:*:*:*:jenkins:*:*", "visualworks-store": "cpe:2.3:a:jenkins:visualworks_store:*:*:*:*:*:jenkins:*:*", "vmanager": "cpe:2.3:a:jenkins:cadence_vmanager:*:*:*:*:*:jenkins:*:*", + "vmanager-plugin": "cpe:2.3:a:jenkins:cadence_vmanager:*:*:*:*:*:jenkins:*:*", + "vmware-vrealize-automation-plugin": "cpe:2.3:a:jenkins:vmware_vrealize_automation:*:*:*:*:*:jenkins:*:*", + "vmware-vrealize-orchestrator": "cpe:2.3:a:jenkins:vrealize_orchestrator:*:*:*:*:*:jenkins:*:*", "vncrecorder": "cpe:2.3:a:jenkins:vncrecorder:*:*:*:*:*:jenkins:*:*", "vncviewer": "cpe:2.3:a:jenkins:vncviewer:*:*:*:*:*:jenkins:*:*", + "vs-code-metrics": "cpe:2.3:a:jenkins:visual_studio_code_metrics:*:*:*:*:*:jenkins:*:*", "vsphere-cloud": "cpe:2.3:a:jenkins:vsphere:*:*:*:*:*:jenkins:*:*", + "vsts-cd": "cpe:2.3:a:jenkins:vs_team_services_continuous_deployment:*:*:*:*:*:jenkins:*:*", "walldisplay": "cpe:2.3:a:jenkins:wall_display:*:*:*:*:*:jenkins:*:*", + "walti": "cpe:2.3:a:jenkins:walti:*:*:*:*:*:jenkins:*:*", "warnings": "cpe:2.3:a:jenkins:warnings:*:*:*:*:*:jenkins:*:*", "warnings-ng": "cpe:2.3:a:jenkins:warnings_next_generation:*:*:*:*:*:jenkins:*:*", "weblogic-deployer": "cpe:2.3:a:jenkins:deploy_weblogic:*:*:*:*:*:jenkins:*:*", + "weblogic-deployer-plugin": "cpe:2.3:a:jenkins:deploy_weblogic:*:*:*:*:*:jenkins:*:*", "websphere-deployer": "cpe:2.3:a:jenkins:websphere_deployer:*:*:*:*:*:jenkins:*:*", "whitesource": "cpe:2.3:a:jenkins:white_source:*:*:*:*:*:jenkins:*:*", + "wildfly-deployer": "cpe:2.3:a:jenkins:wildfly_deployer:*:*:*:*:*:jenkins:*:*", + "windows-slaves": "cpe:2.3:a:jenkins:wmi_windows_agents:*:*:*:*:*:jenkins:*:*", "workflow-cps": "cpe:2.3:a:jenkins:pipeline\\:_groovy:*:*:*:*:*:jenkins:*:*", "workflow-cps-global-lib": "cpe:2.3:a:jenkins:pipeline\\:shared_groovy_libraries:*:*:*:*:*:jenkins:*:*", + "workflow-multibranch": "cpe:2.3:a:jenkins:pipeline\\:_multibranch:*:*:*:*:*:jenkins:*:*", "workflow-remote-loader": "cpe:2.3:a:jenkins:pipeline_remote_loader:*:*:*:*:*:jenkins:*:*", + "workflow-support": "cpe:2.3:a:jenkins:pipeline_supporting_apis:*:*:*:*:*:jenkins:*:*", + "ws-execution-manager": "cpe:2.3:a:jenkins:worksoft_execution_manager:*:*:*:*:*:jenkins:*:*", + "wso2id-oauth": "cpe:2.3:a:jenkins:wso2_oauth:*:*:*:*:*:jenkins:*:*", "xcode": "cpe:2.3:a:jenkins:xcode_integration:*:*:*:*:*:jenkins:*:*", + "xfpanel": "cpe:2.3:a:jenkins:extreme_feedback_panel:*:*:*:*:*:jenkins:*:*", "xldeploy": "cpe:2.3:a:jenkins:xebialabs_xl_deploy:*:*:*:*:*:jenkins:*:*", + "xlrelease-plugin": "cpe:2.3:a:jenkins:xebialabs_xl_release:*:*:*:*:*:jenkins:*:*", "xltestview": "cpe:2.3:a:jenkins:xl_testviews:*:*:*:*:*:jenkins:*:*", + "xpath-config-viewer": "cpe:2.3:a:jenkins:xpath_configuration_viewer:*:*:*:*:*:jenkins:*:*", "xray-connector": "cpe:2.3:a:jenkins:xray_-_test_management_for_jira:*:*:*:*:*:jenkins:*:*", "xunit": "cpe:2.3:a:jenkins:xunit:*:*:*:*:*:jenkins:*:*", "yaml-axis": "cpe:2.3:a:jenkins:yaml_axis:*:*:*:*:*:jenkins:*:*", "yet-another-build-visualizer": "cpe:2.3:a:jenkins:yet_another_build_visualizer:*:*:*:*:*:*:*:*", "youtrack": "cpe:2.3:a:jenkins:youtrack-plugin:*:*:*:*:*:jenkins:*:*", - "zap": "cpe:2.3:a:jenkins:owasp_zap:*:*:*:*:*:jenkins:*:*", + "zap": "cpe:2.3:a:jenkins:official_owasp_zap:*:*:*:*:*:jenkins:*:*", "zap-pipeline": "cpe:2.3:a:jenkins:zap_pipeline:*:*:*:*:*:jenkins:*:*", "zephyr-enterprise-test-management": "cpe:2.3:a:jenkins:zephyr_enterprise_test_management:*:*:*:*:*:jenkins:*:*", "zephyr-for-jira-test-management": "cpe:2.3:a:jenkins:zephyr_for_jira_test_management:*:*:*:*:*:jenkins:*:*", @@ -453,7 +672,7 @@ "@nuxt/devalue": "cpe:2.3:a:nuxtjs:\\@nuxt\\/devalue:*:*:*:*:*:node.js:*:*", "@octokit/webhooks": "cpe:2.3:a:octokit:webhooks:*:*:*:*:*:node.js:*:*", "@openzeppelin/contracts": "cpe:2.3:a:openzeppelin:contracts:*:*:*:*:*:node.js:*:*", - "@openzeppelin/contracts-upgradeable": "cpe:2.3:a:openzeppelin:openzeppelin-contracts-upgradeable:*:*:*:*:*:node.js:*:*", + "@openzeppelin/contracts-upgradeable": "cpe:2.3:a:openzeppelin:contracts_upgradeable:*:*:*:*:*:node.js:*:*", "@parse/push-adapter": "cpe:2.3:a:parseplatform:parse_server_push_adapter:*:*:*:*:*:node.js:*:*", "@podium/layout": "cpe:2.3:a:finn:podium_proxy:*:*:*:*:*:node.js:*:*", "@progfay/scrapbox-parser": "cpe:2.3:a:scrapbox-parser_project:scrapbox-parser:*:*:*:*:*:node.js:*:*", @@ -576,7 +795,7 @@ "class-transformer": "cpe:2.3:a:class-transformer_project:class-transformer:*:*:*:*:*:node.js:*:*", "cli": "cpe:2.3:a:cli_project:cli:*:*:*:*:*:node.js:*:*", "closure-compiler-stream": "cpe:2.3:a:closure-compiler-stream_project:closure-compiler-stream:*:*:*:*:*:node.js:*:*", - "closure-util": "cpe:2.3:a:closure-util_project:closure-util:*:*:*:*:*:node.js:*:*", + "closure-util": "cpe:2.3:a:openlayers:closure-util:*:*:*:*:*:node.js:*:*", "closurecompiler": "cpe:2.3:a:closurecompiler_project:closurecompiler:*:*:*:*:*:node.js:*:*", "cloudpub-redis": "cpe:2.3:a:cloudpub-redis_project:cloudpub-redis:*:*:*:*:*:node.js:*:*", "cmake": "cpe:2.3:a:cmake_project:cmake:*:*:*:*:*:node.js:*:*", @@ -857,7 +1076,7 @@ "hubl-server": "cpe:2.3:a:hubspot:hubl-server:*:*:*:*:*:node.js:*:*", "hummus": "cpe:2.3:a:hummus_project:hummus:*:*:*:*:*:node.js:*:*", "i18n": "cpe:2.3:a:i18n_project:i18n:*:*:*:*:*:node.js:*:*", - "i18n-node-angular": "cpe:2.3:a:i18n-node-angular_project:i18n-node-angular:*:*:*:*:node.js:*:*:*", + "i18n-node-angular": "cpe:2.3:a:i18n-node-angular_project:i18n-node-angular:*:*:*:*:*:node.js:*:*", "ibapi": "cpe:2.3:a:interactivebrokers:ibapi:*:*:*:*:*:node.js:*:*", "ibm_db": "cpe:2.3:a:ibm:ibm_db:*:*:*:*:*:node.js:*:*", "iedriver": "cpe:2.3:a:iedriver_project:iedriver:*:*:*:*:*:node.js:*:*", @@ -913,7 +1132,7 @@ "jsen": "cpe:2.3:a:jsen_project:jsen:*:*:*:*:*:node.js:*:*", "jser-stat": "cpe:2.3:a:jser-stat_project:jser-stat:*:*:*:*:*:node.js:*:*", "jshamcrest": "cpe:2.3:a:jshamcrest_project:jshamcrest:*:*:*:*:*:node.js:*:*", - "json": "cpe:2.3:a:json_project:json:*:*:*:*:*:node.js:*:*", + "json": "cpe:2.3:a:joyent:json:*:*:*:*:*:node.js:*:*", "json-bigint": "cpe:2.3:a:json-bigint_project:json-bigint:*:*:*:*:*:node.js:*:*", "json-pointer": "cpe:2.3:a:smallpdf:json-pointer:*:*:*:*:*:node.js:*:*", "json-web-token": "cpe:2.3:a:joaquimserafim:json_web_token:*:*:*:*:*:node.js:*:*", @@ -972,7 +1191,7 @@ "liuyaserver": "cpe:2.3:a:liuyaserver_project:liuyaserver:*:*:*:*:*:node.js:*:*", "liyujing": "cpe:2.3:a:liyujing_project:liyujing:*:*:*:*:*:node.js:*:*", "localhost-now": "cpe:2.3:a:localhost-now_project:localhost-now:*:*:*:*:*:node.js:*:*", - "locutus": "cpe:2.3:a:locutus_project:locutus:*:*:*:*:*:node.js:*:*", + "locutus": "cpe:2.3:a:locutus:locutus:*:*:*:*:*:node.js:*:*", "lodahs": "cpe:2.3:a:lodahs_project:lodahs:*:*:*:*:*:node.js:*:*", "lodash": "cpe:2.3:a:lodash:lodash:*:*:*:*:*:node.js:*:*", "log4js": "cpe:2.3:a:log4js_project:log4js:*:*:*:*:*:node.js:*:*", @@ -990,7 +1209,7 @@ "madge": "cpe:2.3:a:madge_project:madge:*:*:*:*:*:node.js:*:*", "madlib-object-utils": "cpe:2.3:a:springtree:madlib-object-utils:*:*:*:*:*:node.js:*:*", "mapbox.js": "cpe:2.3:a:mapbox:mapbox.js:*:*:*:*:*:node.js:*:*", - "mariadb": "cpe:2.3:a:mariadb_project:mariadb:*:*:*:*:*:node.js:*:*", + "mariadb": "cpe:2.3:a:mariadb:mariadb:*:*:*:*:*:node.js:*:*", "marionette-socket-host": "cpe:2.3:a:marionette-socket-host_project:marionette-socket-host:*:*:*:*:*:node.js:*:*", "markdown-it": "cpe:2.3:a:markdown-it_project:markdown-it:*:*:*:*:*:*:*:*", "markdown-it-highlightjs": "cpe:2.3:a:markdown-it-highlightjs_project:markdown-it-highlightjs:*:*:*:*:*:node.js:*:*", @@ -1016,7 +1235,7 @@ "merge-object": "cpe:2.3:a:merge-object_project:merge-object:*:*:*:*:*:node.js:*:*", "merge-options": "cpe:2.3:a:merge-options_project:merge-options:*:*:*:*:*:node.js:*:*", "merge-recursive": "cpe:2.3:a:umbraengineering:merge-recursive:*:*:*:*:*:node.js:*:*", - "mermaid": "cpe:2.3:a:mermaid_project:mermaid:*:*:*:*:*:node-js:*:*", + "mermaid": "cpe:2.3:a:mermaid_project:mermaid:*:*:*:*:*:node.js:*:*", "metascraper": "cpe:2.3:a:metascrape_project:metascrape:*:*:*:*:*:node.js:*:*", "method-override": "cpe:2.3:a:expressjs:method-override:*:*:*:*:*:node.js:*:*", "mfrserver": "cpe:2.3:a:mfrserver_project:mfrserver:*:*:*:*:*:node.js:*:*", @@ -1091,7 +1310,7 @@ "node-etsy-client": "cpe:2.3:a:node-etsy-client_project:node-etsy-client:*:*:*:*:*:node.js:*:*", "node-extend": "cpe:2.3:a:node-extend_project:node-extend:*:*:*:*:*:node.js:*:*", "node-fetch": "cpe:2.3:a:node-fetch_project:node-fetch:*:*:*:*:*:node.js:*:*", - "node-forge": "cpe:2.3:a:digitalbazzar:forge:*:*:*:*:*:node.js:*:*", + "node-forge": "cpe:2.3:a:digitalbazaar:forge:*:*:*:*:*:node.js:*:*", "node-ipc": "cpe:2.3:a:node-ipc_project:node-ipc:*:*:*:*:*:node.js:*:*", "node-jose": "cpe:2.3:a:cisco:node-jose:*:*:*:*:*:node.js:*:*", "node-key-sender": "cpe:2.3:a:node-key-sender_project:node-key-sender:*:*:*:*:*:node.js:*:*", @@ -1108,7 +1327,7 @@ "node-openssl": "cpe:2.3:a:node-openssl_project:node-openssl:*:*:*:*:*:node.js:*:*", "node-printer": "cpe:2.3:a:node-printer_project:node-printer:*:*:*:*:*:node.js:*:*", "node-ps": "cpe:2.3:a:node-ps_project:node-ps:*:*:*:*:*:node.js:*:*", - "node-red-contrib-huemagic": "cpe:2.3:a:node-red-contrib-huemagic_project:node-red-contrib-huemagic:*:*:*:*:*:node.js:*:*", + "node-red-contrib-huemagic": "cpe:2.3:a:dgtl:huemagic:*:*:*:*:*:node.js:*:*", "node-serialize": "cpe:2.3:a:node-serialize_project:node-serialize:*:*:*:*:*:node.js:*:*", "node-server-forfront": "cpe:2.3:a:node-server-forfront_project:node-server-forfront:*:*:*:*:*:node.js:*:*", "node-simple-router": "cpe:2.3:a:node-simple-router:node-simple-router:*:*:*:*:*:node.js:*:*", @@ -1164,7 +1383,7 @@ "openframe-glslviewer": "cpe:2.3:a:openframe-glslviewer_project:openframe-glslviewer:*:*:*:*:*:node.js:*:*", "openframe-image": "cpe:2.3:a:openframe-image_project:openframe-image:*:*:*:*:*:node.js:*:*", "openssl.js": "cpe:2.3:a:openssl.js_project:openssl.js:*:*:*:*:*:node.js:*:*", - "openzeppelin-eth": "cpe:2.3:a:openzeppelin:openzeppelin-eth:*:*:*:*:node.js:*:*:*", + "openzeppelin-eth": "cpe:2.3:a:openzeppelin:openzeppelin-eth:*:*:*:*:*:node.js:*:*", "openzeppelin-solidity": "cpe:2.3:a:openzeppelin:openzeppelin-solidity:*:*:*:*:*:node.js:*:*", "operadriver": "cpe:2.3:a:cnpmjs:operadriver:*:*:*:*:*:node.js:*:*", "osm-static-maps": "cpe:2.3:a:osm-static-maps_project:osm-static-maps:*:*:*:*:*:node.js:*:*", @@ -1276,7 +1495,7 @@ "rollup-plugin-server": "cpe:2.3:a:rollup-plugin-server_project:rollup-plugin-server:*:*:*:*:*:node.js:*:*", "rpi-gpio": "cpe:2.3:a:rpi_project:rpi:*:*:*:*:*:node.js:*:*", "rs-brightcove": "cpe:2.3:a:rs-brightcove_project:rs-brightcove:*:*:*:*:*:node.js:*:*", - "rsshub": "cpe:2.3:a:rsshub_project:rsshub:*:*:*:*:*:node.js:*:*", + "rsshub": "cpe:2.3:a:rsshub:rsshub:*:*:*:*:*:node.js:*:*", "rtcmulticonnection-client": "cpe:2.3:a:rtcmulticonnection-client_project:rtcmulticonnection-client:*:*:*:*:*:node.js:*:*", "s3-uploader": "cpe:2.3:a:s3-uploader_project:s3-uploader:*:*:*:*:*:node.js:*:*", "safe-eval": "cpe:2.3:a:safe-eval_project:safe-eval:*:*:*:*:*:node.js:*:*", @@ -1389,7 +1608,7 @@ "striptags": "cpe:2.3:a:striptags_project:striptags:*:*:*:*:*:node.js:*:*", "summit": "cpe:2.3:a:summit_project:summit:*:*:*:*:*:node.js:*:*", "superagent": "cpe:2.3:a:superagent_project:superagent:*:*:*:*:*:node.js:*:*", - "superjson": "cpe:2.3:a:superjson_project:superjson:*:*:*:*:*:node.js:*:*", + "superjson": "cpe:2.3:a:blitzjs:superjson:*:*:*:*:*:node.js:*:*", "susu-sum": "cpe:2.3:a:susu-sum_project:susu-sum:*:*:*:*:*:node.js:*:*", "svelecte": "cpe:2.3:a:mskocik:svelecte:*:*:*:*:*:node.js:*:*", "svelte": "cpe:2.3:a:svelte:svelte:*:*:*:*:*:node.js:*:*", @@ -1433,7 +1652,7 @@ "ua-parser-js": "cpe:2.3:a:ua-parser-js_project:ua-parser-js:*:*:*:*:*:node.js:*:*", "uap-core": "cpe:2.3:a:uap-core_project:uap-core:*:*:*:*:*:node.js:*:*", "uekw1511server": "cpe:2.3:a:uekw1511server_project:uekw1511server:*:*:*:*:*:node.js:*:*", - "uglify-js": "cpe:2.3:a:lisperator:uglifyjs:*:*:*:*:*:node.js:*:*", + "uglify-js": "cpe:2.3:a:uglifyjs_project:uglifyjs:*:*:*:*:*:node.js:*:*", "umount": "cpe:2.3:a:umount_project:umount:*:*:*:*:*:node.js:*:*", "undefsafe": "cpe:2.3:a:undefsafe_project:undefsafe:*:*:*:*:*:node.js:*:*", "underscore": "cpe:2.3:a:underscorejs:underscore:*:*:*:*:*:node.js:*:*", @@ -1446,7 +1665,7 @@ "unicorn-list": "cpe:2.3:a:unicorn-list_project:unicorn-list:*:*:*:*:*:node.js:*:*", "unzipper": "cpe:2.3:a:unzipper_project:unzipper:*:*:*:*:*:node.js:*:*", "uppy": "cpe:2.3:a:transloadit:uppy:*:*:*:*:*:node.js:*:*", - "uri-js": "cpe:2.3:a:uri-js_project:uri-js:*:*:*:*:*:node.js:*:*", + "uri-js": "cpe:2.3:a:garycourt:uri-js:*:*:*:*:*:node.js:*:*", "uri-template-lite": "cpe:2.3:a:litejs:uri-template-lite:*:*:*:*:*:node.js:*:*", "urijs": "cpe:2.3:a:urijs_project:urijs:*:*:*:*:*:node.js:*:*", "url-js": "cpe:2.3:a:url-js_project:url-js:*:*:*:*:*:node.js:*:*", @@ -1642,7 +1861,7 @@ "pyanxdns": "cpe:2.3:a:pyanxdns_project:pyanxdns:*:*:*:*:*:*:*:*", "pyanyapi": "cpe:2.3:a:pyanyapi_project:pyanyapi:*:*:*:*:*:*:*:*", "pybluemonday": "cpe:2.3:a:python:pybluemonday:*:*:*:*:*:*:*:*", - "pycryptodome": "cpe:2.3:a:python:pycryptodome:*:*:*:*:*:*:*:*", + "pycryptodome": "cpe:2.3:a:pycryptodome:pycryptodome:*:*:*:*:*:python:*:*", "pycryptodomex": "cpe:2.3:a:pycryptodome:pycryptodomex:*:*:*:*:*:python:*:*", "pydash": "cpe:2.3:a:derrickgilland:pydash:*:*:*:*:*:python:*:*", "pyesasky": "cpe:2.3:a:esa:pyesasky:*:*:*:*:*:python:*:*", @@ -1677,7 +1896,7 @@ "slashify": "cpe:2.3:a:google:slashify:*:*:*:*:*:node.js:*:*", "snowflake-connector-python": "cpe:2.3:a:snowflake:snowflake-connector-python:*:*:*:*:*:*:*:*", "sockeye": "cpe:2.3:a:amazon:sockeye:*:*:*:*:*:python:*:*", - "sopel-plugins.channelmgnt": "cpe:2.3:a:mirahezebots:sopel-channelmgnt:*:*:*:*:*:*:*:*", + "sopel-plugins.channelmgnt": "cpe:2.3:a:mirahezebots:channelmgnt:*:*:*:*:*:sopel:*:*", "spacy": "cpe:2.3:a:explosion:spacy:*:*:*:*:*:python:*:*", "sqlparse": "cpe:2.3:a:sqlparse_project:sqlparse:*:*:*:*:*:python:*:*", "starlette": "cpe:2.3:a:encode:starlette:*:*:*:*:*:python:*:*", @@ -1799,7 +2018,7 @@ "puma": "cpe:2.3:a:puma:puma:*:*:*:*:*:ruby:*:*", "rack-cors": "cpe:2.3:a:rack-cors_project:rack-cors:*:*:*:*:*:ruby:*:*", "rack-ssl": "cpe:2.3:a:joshua_peek:rack-ssl:*:*:*:*:*:ruby:*:*", - "rails": "cpe:2.3:a:rubyonrails:ruby_on_rails:*:*:*:*:*:*:*:*", + "rails": "cpe:2.3:a:rubyonrails:rails:*:*:*:*:*:*:*:*", "rails-html-sanitizer": "cpe:2.3:a:rubyonrails:rails_html_sanitizers:*:*:*:*:*:rails:*:*", "rails_multisite": "cpe:2.3:a:discourse:rails_multisite:*:*:*:*:*:ruby:*:*", "rake": "cpe:2.3:a:ruby-lang:rake:*:*:*:*:*:*:*:*", @@ -1862,7 +2081,7 @@ "array-tools": "cpe:2.3:a:array-tools_project:array-tools:*:*:*:*:*:rust:*:*", "ash": "cpe:2.3:a:ash_project:ash:*:*:*:*:*:rust:*:*", "asn1_der": "cpe:2.3:a:asn1_der_project:asn1_der:*:*:*:*:*:*:*:*", - "async-h1": "cpe:2.3:a:async-h1_project:async-h1:*:*:*:*:*:rust:*:*", + "async-h1": "cpe:2.3:a:rust-lang:async-h1:*:*:*:*:*:rust:*:*", "atom": "cpe:2.3:a:atom_project:atom:*:*:*:*:*:rust:*:*", "atomic-option": "cpe:2.3:a:atomic-option_project:atomic-option:*:*:*:*:*:rust:*:*", "autorand": "cpe:2.3:a:autorand_project:autorand:*:*:*:*:*:rust:*:*", @@ -2002,7 +2221,7 @@ "ticketed_lock": "cpe:2.3:a:ticketed_lock_project:ticketed_lock:*:*:*:*:*:rust:*:*", "tiny_future": "cpe:2.3:a:tiny_future_project:tiny_future:*:*:*:*:*:rust:*:*", "tiny_http": "cpe:2.3:a:tiny-http_project:tiny-http:*:*:*:*:*:rust:*:*", - "tokio": "cpe:2.3:a:tokio_project:tokio:*:*:*:*:*:rust:*:*", + "tokio": "cpe:2.3:a:tokio:tokio:*:*:*:*:*:rust:*:*", "tokio-rustls": "cpe:2.3:a:tokio:tokio-rustls:*:*:*:*:*:rust:*:*", "toodee": "cpe:2.3:a:toodee_project:toodee:*:*:*:*:*:rust:*:*", "totp-rs": "cpe:2.3:a:totp-rs_project:totp-rs:*:*:*:*:*:rust:*:*", diff --git a/syft/pkg/cataloger/internal/cpegenerate/dictionary/index-generator/generate.go b/syft/pkg/cataloger/internal/cpegenerate/dictionary/index-generator/generate.go index ccd5f0ed6f8..c14f2ef27fc 100644 --- a/syft/pkg/cataloger/internal/cpegenerate/dictionary/index-generator/generate.go +++ b/syft/pkg/cataloger/internal/cpegenerate/dictionary/index-generator/generate.go @@ -72,9 +72,14 @@ func filterCpeList(cpeList CpeList) CpeList { normalizedName := normalizeCPE(parsedName).BindToURI() cpeItem.Name = normalizedName - parsedCPE, err := wfn.Parse(cpeItem.Cpe23Item.Name) + cpeName := cpeItem.Cpe23Item.Name + if cpeItem.Cpe23Item.Deprecation.DeprecatedBy.Name != "" { + cpeName = cpeItem.Cpe23Item.Deprecation.DeprecatedBy.Name + } + + parsedCPE, err := wfn.Parse(cpeName) if err != nil { - log.Printf("unable to parse CPE value %q: %s", cpeItem.Cpe23Item.Name, err) + log.Printf("unable to parse CPE value %q: %s", cpeName, err) continue } @@ -97,18 +102,19 @@ func normalizeCPE(cpe *wfn.Attributes) *wfn.Attributes { } const ( - prefixForNPMPackages = "https://www.npmjs.com/package/" - prefixForRubyGems = "https://rubygems.org/gems/" - prefixForRubyGemsHTTP = "http://rubygems.org/gems/" - prefixForNativeRubyGems = "https://github.com/ruby/" - prefixForPyPIPackages = "https://pypi.org/project/" - prefixForJenkinsPlugins = "https://github.com/jenkinsci/" - prefixForRustCrates = "https://crates.io/crates/" - prefixForPHPPear = "https://pear.php.net/" - prefixForPHPPearHTTP = "http://pear.php.net/" - prefixForPHPPecl = "https://pecl.php.net/" - prefixForPHPPeclHTTP = "http://pecl.php.net/" - prefixForPHPComposer = "https://packagist.org/packages/" + prefixForNPMPackages = "https://www.npmjs.com/package/" + prefixForRubyGems = "https://rubygems.org/gems/" + prefixForRubyGemsHTTP = "http://rubygems.org/gems/" + prefixForNativeRubyGems = "https://github.com/ruby/" + prefixForPyPIPackages = "https://pypi.org/project/" + prefixForJenkinsPlugins = "https://plugins.jenkins.io/" + prefixForJenkinsPluginsGitHub = "https://github.com/jenkinsci/" + prefixForRustCrates = "https://crates.io/crates/" + prefixForPHPPear = "https://pear.php.net/" + prefixForPHPPearHTTP = "http://pear.php.net/" + prefixForPHPPecl = "https://pecl.php.net/" + prefixForPHPPeclHTTP = "http://pecl.php.net/" + prefixForPHPComposer = "https://packagist.org/packages/" ) // indexCPEList creates an index of CPEs by ecosystem. @@ -136,8 +142,11 @@ func indexCPEList(list CpeList) *dictionary.Indexed { case strings.HasPrefix(ref, prefixForPyPIPackages): addEntryForPyPIPackage(indexed, ref, cpeItemName) - case strings.HasPrefix(ref, prefixForJenkinsPlugins): + case strings.HasPrefix(ref, prefixForJenkinsPluginsGitHub): // It _might_ be a jenkins plugin! + addEntryForJenkinsPluginGitHub(indexed, ref, cpeItemName) + + case strings.HasPrefix(ref, prefixForJenkinsPlugins): addEntryForJenkinsPlugin(indexed, ref, cpeItemName) case strings.HasPrefix(ref, prefixForRustCrates): @@ -170,9 +179,9 @@ func addEntryForRustCrate(indexed *dictionary.Indexed, ref string, cpeItemName s indexed.EcosystemPackages[dictionary.EcosystemRustCrates][ref] = cpeItemName } -func addEntryForJenkinsPlugin(indexed *dictionary.Indexed, ref string, cpeItemName string) { +func addEntryForJenkinsPluginGitHub(indexed *dictionary.Indexed, ref string, cpeItemName string) { // Prune off the non-package-name parts of the URL - ref = strings.TrimPrefix(ref, prefixForJenkinsPlugins) + ref = strings.TrimPrefix(ref, prefixForJenkinsPluginsGitHub) ref = strings.Split(ref, "/")[0] if !strings.HasSuffix(ref, "-plugin") { @@ -189,6 +198,22 @@ func addEntryForJenkinsPlugin(indexed *dictionary.Indexed, ref string, cpeItemNa indexed.EcosystemPackages[dictionary.EcosystemJenkinsPlugins][ref] = cpeItemName } +func addEntryForJenkinsPlugin(indexed *dictionary.Indexed, ref string, cpeItemName string) { + // Prune off the non-package-name parts of the URL + ref = strings.TrimPrefix(ref, prefixForJenkinsPlugins) + ref = strings.Split(ref, "/")[0] + + if ref == "" { + return + } + + if _, ok := indexed.EcosystemPackages[dictionary.EcosystemJenkinsPlugins]; !ok { + indexed.EcosystemPackages[dictionary.EcosystemJenkinsPlugins] = make(dictionary.Packages) + } + + indexed.EcosystemPackages[dictionary.EcosystemJenkinsPlugins][ref] = cpeItemName +} + func addEntryForPyPIPackage(indexed *dictionary.Indexed, ref string, cpeItemName string) { // Prune off the non-package-name parts of the URL ref = strings.TrimPrefix(ref, prefixForPyPIPackages) diff --git a/syft/pkg/cataloger/internal/cpegenerate/dictionary/index-generator/generate_test.go b/syft/pkg/cataloger/internal/cpegenerate/dictionary/index-generator/generate_test.go index 53755379172..e85c135037d 100644 --- a/syft/pkg/cataloger/internal/cpegenerate/dictionary/index-generator/generate_test.go +++ b/syft/pkg/cataloger/internal/cpegenerate/dictionary/index-generator/generate_test.go @@ -65,8 +65,8 @@ func Test_addEntryFuncs(t *testing.T) { }, }, { - name: "addEntryForJenkinsPlugin", - addEntryFunc: addEntryForJenkinsPlugin, + name: "addEntryForJenkinsPluginGitHub", + addEntryFunc: addEntryForJenkinsPluginGitHub, inputRef: "https://github.com/jenkinsci/sonarqube-plugin", inputCpeItemName: "cpe:2.3:a:sonarsource:sonarqube_scanner:2.7:*:*:*:*:jenkins:*:*", expectedIndexed: dictionary.Indexed{ @@ -78,14 +78,27 @@ func Test_addEntryFuncs(t *testing.T) { }, }, { - name: "addEntryForJenkinsPlugin: not actually a plugin", - addEntryFunc: addEntryForJenkinsPlugin, + name: "addEntryForJenkinsPluginGitHub: not actually a plugin", + addEntryFunc: addEntryForJenkinsPluginGitHub, inputRef: "https://github.com/jenkinsci/jenkins", inputCpeItemName: "cpe:2.3:a:jenkins:jenkinsci:2.7:*:*:*:*:*:*:*", expectedIndexed: dictionary.Indexed{ EcosystemPackages: map[string]dictionary.Packages{}, }, }, + { + name: "addEntryForJenkinsPlugin", + addEntryFunc: addEntryForJenkinsPlugin, + inputRef: "https://plugins.jenkins.io/svn-partial-release-mgr/release", + inputCpeItemName: "cpe:2.3:a:jenkins:subversion_partial_release_manager:1.0.1:*:*:*:*:jenkins:*:*", + expectedIndexed: dictionary.Indexed{ + EcosystemPackages: map[string]dictionary.Packages{ + dictionary.EcosystemJenkinsPlugins: { + "svn-partial-release-mgr": "cpe:2.3:a:jenkins:subversion_partial_release_manager:1.0.1:*:*:*:*:jenkins:*:*", + }, + }, + }, + }, { name: "addEntryForPyPIPackage", addEntryFunc: addEntryForPyPIPackage, diff --git a/syft/pkg/cataloger/internal/cpegenerate/dictionary/index-generator/nvd.go b/syft/pkg/cataloger/internal/cpegenerate/dictionary/index-generator/nvd.go index 860861e2d96..089e387ce9d 100644 --- a/syft/pkg/cataloger/internal/cpegenerate/dictionary/index-generator/nvd.go +++ b/syft/pkg/cataloger/internal/cpegenerate/dictionary/index-generator/nvd.go @@ -10,7 +10,12 @@ type CpeItem struct { } `xml:"reference"` } `xml:"references"` Cpe23Item struct { - Name string `xml:"name,attr"` + Name string `xml:"name,attr"` + Deprecation struct { + DeprecatedBy struct { + Name string `xml:"name,attr"` + } `xml:"deprecated-by"` + } `xml:"deprecation"` } `xml:"cpe23-item"` } diff --git a/syft/pkg/cataloger/internal/cpegenerate/dictionary/index-generator/testdata/expected-cpe-index.json b/syft/pkg/cataloger/internal/cpegenerate/dictionary/index-generator/testdata/expected-cpe-index.json index f74e990664e..fe9a684fe54 100644 --- a/syft/pkg/cataloger/internal/cpegenerate/dictionary/index-generator/testdata/expected-cpe-index.json +++ b/syft/pkg/cataloger/internal/cpegenerate/dictionary/index-generator/testdata/expected-cpe-index.json @@ -1,7 +1,9 @@ { "ecosystems": { "jenkins_plugins": { - "sonarqube": "cpe:2.3:a:sonarsource:sonarqube_scanner:*:*:*:*:*:jenkins:*:*" + "fireline": "cpe:2.3:a:jenkins:360_fireline:*:*:*:*:*:jenkins:*:*", + "sonarqube": "cpe:2.3:a:sonarsource:sonarqube_scanner:*:*:*:*:*:jenkins:*:*", + "svn-partial-release-mgr": "cpe:2.3:a:jenkins:subversion_partial_release_manager:*:*:*:*:*:jenkins:*:*" }, "npm": { "merge-recursive": "cpe:2.3:a:umbraengineering:merge-recursive:*:*:*:*:*:node.js:*:*", @@ -30,7 +32,7 @@ "xhprof": "cpe:2.3:a:php:xhprof:*:*:*:*:*:*:*:*" }, "pypi": { - "vault-cli": "cpe:2.3:a:ukg:vault-cli:*:*:*:*:*:python:*:*" + "vault-cli": "cpe:2.3:a:vault-cli_project:vault-cli:*:*:*:*:*:python:*:*" }, "rubygems": { "openssl": "cpe:2.3:a:ruby-lang:openssl:*:*:*:*:*:*:*:*" diff --git a/syft/pkg/cataloger/internal/cpegenerate/dictionary/index-generator/testdata/official-cpe-dictionary_v2.3.xml b/syft/pkg/cataloger/internal/cpegenerate/dictionary/index-generator/testdata/official-cpe-dictionary_v2.3.xml index 702bb8c66ea..94304be3d07 100644 --- a/syft/pkg/cataloger/internal/cpegenerate/dictionary/index-generator/testdata/official-cpe-dictionary_v2.3.xml +++ b/syft/pkg/cataloger/internal/cpegenerate/dictionary/index-generator/testdata/official-cpe-dictionary_v2.3.xml @@ -24994,4 +24994,26 @@ + + Jenkins Subversion Partial Release Manager 1.0.1 for Jenkins + + Version + Product + + + + + + + + + Jenkins 360 FireLine 1.0 for Jenkins + + Product + Version + + + + +