Introduction

For a secure software as JS7 users are enabled to know what is inside its code:

  • the JS7 source code is publicly available from https://github.com/sos-berlin
  • the JS7 ships with a Software Bill of Materials (SBOM) that provides the information which 3rd-party products, versions and licenses are included.
    FEATURE AVAILABILITY STARTING FROM RELEASE 2.5.3

JS7 - Package Management allows to enable and to disable software packages based on information from the SBOM.

Software Bill of Materials

SBOM Format

The JS7 SBOM is provided  from an sbom.json file in the OWASP CyclonDX format.

Tools to manage and to visualize the SBOM include the OWASP dependency-track. In addition a number of web sites are available that allow to visualize an SBOM. 

Vulnerability Management

The JS7 includes a number of 3rd-party components:

  • SOS is striving to use up-to-date versions of 3rd-party components.
  • SOS cannot exclude a situation when 3rd-party components are hit by vulnerabilities.
    • SOS is monitoring 3rd-party components for vulnerabilities at an ongoing basis.
    • If vulnerabilities are detected the Release Policy - Vulnerability Management applies.
      • This includes to make information about vulnerabilities public with our Change Management System, see https://change.sos-berlin.com
      • This includes to add fixed versions of 3rd-party components to JS7 maintenance releases in a timely manner.
  • The SBOM enables users to check directly from their JS7 scheduling environment if a vulnerable version of a 3rd-party component is included.
    • JS7 SBOM files include any components developed by SOS and by 3rd-parties.
    • In addition, dependencies for any components are included with an SBOM file. This allows to track down which components are affected by a given vulnerability.
    • Users of JS7 can check independently from SOS if the version of JS7 in use is affected by a given vulnerability and which component or feature makes use of vulnerable libraries.
  • Users have a choice to remove vulnerable 3rd-party components from the installation of a JS7 product:
    • The JS7 - Package Management offers to disable/enable software packages.
    • This approach is applicable if minor features of JS7 are affected and if users are willing not to use such features.

Accessing the Software Bill of Materials

The sbom.json file is provided individually for Controller, Agent and JOC Cockpit. 

Within limits users can operate the JS7 products from different releases. This requires the sbom.json file to be available per product and release.

Accessing the Controller SBOM

The sbom.json file is available from the JS7_CONTROLLER_HOME directory.

Example:

  • Unix: /opt/sos-berlin.com/js7/controller/sbom.json
  • Windows: C:\Program Files\sos-berlin.com\js7\controller\sbom.json

Accessing the Agent SBOM

The sbom.json file is available from the JS7_AGENT_HOME directory.

Example:

  • Unix: /opt/sos-berlin.com/js7/agent/sbom.json
  • Windows: C:\Program Files\sos-berlin.com\js7\agent\sbom.json

Accessing the JOC Cockpit SBOM

The SBOM ships from the sbom.json file that is available from the JOC_HOME directory.

Example:

  • Unix: /opt/sos-berlin.com/js7/joc/sbom.json
  • Windows: C:\Program Files\sos-berlin.com\js7\joc\sbom.json

Example

Find the following example of an SBOM file for JS7 Agent release 2.5.3:

Extract of the SBOM example
{
  "bomFormat" : "CycloneDX",
  "specVersion" : "1.4",
  "serialNumber" : "urn:uuid:26528067-d05b-4457-bec6-59e72e50d80e",
  "version" : 1,
  "metadata" : {
    "timestamp" : "2023-04-11T12:24:08Z",
    "tools" : [
      {
        "vendor" : "OWASP Foundation",
        "name" : "CycloneDX Maven plugin",
        "version" : "2.7.1",
        "hashes" : [
          {
            "alg" : "MD5",
            "content" : "538c878ebf89b372876e247d056a3fc5"
          },
          {
            "alg" : "SHA-1",
            "content" : "4561e50edb47e12a03712b1afce9b20cba32fd28"
          },
          {
            "alg" : "SHA-256",
            "content" : "f0ea7b3bcf5c7ba649b8d9807e805385330501881677d47333aebce8305ef4d4"
          },
          {
            "alg" : "SHA-512",
            "content" : "a35400ca6411692ae8964fe7030eaba2a83a2fa50e2883def3054191283c3b48e2dcdd68bf80f5a0ede3898cc6b7cb7b998aacd2c1e969320053c43b6ab8d873"
          },
          {
            "alg" : "SHA-384",
            "content" : "75c0c03a03c69e82ad1f7b942d6d733da8261c4058174355d6b24ebd88cee34180f2e8484d2b0fedaf459078bdf6e927"
          },
          {
            "alg" : "SHA3-384",
            "content" : "98cd312d4dfc104a0a66d65023d0aade423f08951f2a9e0215e703f0c81c4f274d8e11a2db1abc30a558b820d65860c4"
          },
          {
            "alg" : "SHA3-256",
            "content" : "0c5fd65013128de457b049a824c4ad11212d668b503613ce19a54d545e5cf82d"
          },
          {
            "alg" : "SHA3-512",
            "content" : "72ea0ed8faa3cc4493db96d0223094842e7153890b091ff364040ad3ad89363157fc9d1bd852262124aec83134f0c19aa4fd0fa482031d38a76d74dfd36b7964"
          }
        ]
      }
    ],
    "component" : {
      "group" : "com.sos-berlin.setups",
      "name" : "agent-sos-sbom",
      "version" : "2.5.3",
      "description" : "A pom that creates all setups.",
      "licenses" : [ ],
      "purl" : "pkg:maven/com.sos-berlin.setups/agent-sos-sbom@2.5.3?type=jar",
      "externalReferences" : [
        {
          "type" : "vcs",
          "url" : "https://github.com/sos-berlin/setup/jobscheduler/agent-sos-sbom"
        }
      ],
      "type" : "library",
      "bom-ref" : "pkg:maven/com.sos-berlin.setups/agent-sos-sbom@2.5.3?type=jar"
    }
  },
  "components" : [
    {
      "publisher" : "Software- und Organisations-Service GmbH, Berlin",
      "group" : "com.sos-berlin.js7.engine",
      "name" : "js7-agent_2.13",
      "version" : "2.5.3",
      "description" : "js7-agent",
      "scope" : "optional",
      "hashes" : [
        {
          "alg" : "MD5",
          "content" : "9890f27abea81351d992f6233f5319d4"
        },
        {
          "alg" : "SHA-1",
          "content" : "eb6e46e9d60555b97e19ec4e47466747d626121c"
        },
        {
          "alg" : "SHA-256",
          "content" : "9bce37ed1a7d72726f50868cfbc25c67b408040c6de08b1b6b92ef38ebfbef91"
        },
        {
          "alg" : "SHA-512",
          "content" : "182deb6603a92e68b63d2a8e9f222f3d6ebf6d0128c86c77d6f0ac0935fd9ceb749e41a0dc4899cde963f083a5491f1bee0d308f765862be7b7617407c1949eb"
        },
        {
          "alg" : "SHA-384",
          "content" : "30e11a6173cebb1ada2d0997967f744593891e2c7fdae56cb6752ef0ee2d3b335949bb1b58913cbbb2b9c57b9cd4499e"
        },
        {
          "alg" : "SHA3-384",
          "content" : "01469eed6af10deaaccc7d6553782811b3d50f266b374033f49c77a942a6fd864fb674eaf4f237e1197c23d33f0d4d43"
        },
        {
          "alg" : "SHA3-256",
          "content" : "e6ef3c6d8e6a11cf1011139e4e595a9228433a9ba97dcd8a8faa4624f095dfe3"
        },
        {
          "alg" : "SHA3-512",
          "content" : "0b83b3118ab0142dc010273f1da042f8ec6ee904e96af3aa0d5d7b679b2a0e32f23178798fa5bd9f864fc4c887393d72f8f81e79a3fe9ef970273b21c16ab760"
        }
      ],
      "licenses" : [
        {
          "license" : {
            "name" : "GPLv3",
            "url" : "https://www.gnu.org/licenses/gpl-3.0.txt"
          }
        }
      ],
      "purl" : "pkg:maven/com.sos-berlin.js7.engine/js7-agent_2.13@2.5.3?type=jar",
      "externalReferences" : [
        {
          "type" : "website",
          "url" : "https://js7.sh"
        },
        {
          "type" : "vcs",
          "url" : "https://github.com/sos-berlin/js7"
        }
      ],
      "type" : "library",
      "bom-ref" : "pkg:maven/com.sos-berlin.js7.engine/js7-agent_2.13@2.5.3?type=jar"
    },
...
  "dependencies" : [
    {
      "ref" : "pkg:maven/com.sos-berlin.setups/agent-sos-sbom@2.5.3?type=jar",
      "dependsOn" : [
        "pkg:maven/com.sos-berlin.js7.engine/js7-agent_2.13@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin.js7.engine/js7-agent-client_2.13@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin.js7.engine/js7-agent-data_2.13@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin.js7.engine/js7-base_2.13@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin.js7.engine/js7-cluster_2.13@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin.js7.engine/js7-cluster-watch_2.13@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin.js7.engine/js7-cluster-watch-api_2.13@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin.js7.engine/js7-common_2.13@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin.js7.engine/js7-common-http_2.13@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin.js7.engine/js7-controller_2.13@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin.js7.engine/js7-controller-client_2.13@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin.js7.engine/js7-core_2.13@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin.js7.engine/js7-data_2.13@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin.js7.engine/js7-data-for-java_2.13@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin.js7.engine/js7-journal_2.13@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin.js7.engine/js7-launcher_2.13@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin.js7.engine/js7-launcher-for-java_2.13@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin.js7.engine/js7-launcher-for-windows_2.13@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin.js7.engine/js7-license_2.13@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin.js7.engine/js7-proxy_2.13@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin.js7.engine/js7-service-pgp_2.13@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin.js7.engine/js7-subagent_2.13@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin/sos-commons-cli@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin/sos-commons-credentialstore@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin/sos-commons-exception@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin/sos-commons-hibernate@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin/sos-commons-httpclient@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin/sos-commons-mail@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin/sos-commons-sign@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin/sos-commons-util@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin/sos-commons-vfs@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin/sos-commons-xml@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin/sos-jitl-jobs@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin/sos-js7-loganonymizer@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin/sos-webservices-json@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin/sos-yade-commons@2.5.3?type=jar"
      ]
    },
    {
      "ref" : "pkg:maven/com.sos-berlin.js7.engine/js7-agent_2.13@2.5.3?type=jar",
      "dependsOn" : [
        "pkg:maven/org.scala-lang/scala-library@2.13.10?type=jar",
        "pkg:maven/com.sos-berlin.js7.engine/js7-subagent_2.13@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin.js7.engine/js7-agent-data_2.13@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin.js7.engine/js7-launcher_2.13@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin.js7.engine/js7-core_2.13@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin.js7.engine/js7-common_2.13@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin.js7.engine/js7-data_2.13@2.5.3?type=jar",
        "pkg:maven/com.google.code.findbugs/jsr305@3.0.2?type=jar",
        "pkg:maven/com.typesafe.akka/akka-actor_2.13@2.6.20?type=jar",
        "pkg:maven/com.typesafe.akka/akka-stream_2.13@2.6.20?type=jar",
        "pkg:maven/com.typesafe.akka/akka-slf4j_2.13@2.6.20?type=jar",
        "pkg:maven/com.typesafe.akka/akka-http_2.13@10.2.10?type=jar",
        "pkg:maven/com.intellij/annotations@12.0?type=jar",
        "pkg:maven/com.google.inject/guice@5.1.0?type=jar",
        "pkg:maven/javax.inject/javax.inject@1?type=jar",
        "pkg:maven/com.google.guava/guava@31.1-jre?type=jar"
      ]
    },
    {
      "ref" : "pkg:maven/org.scala-lang/scala-library@2.13.10?type=jar",
      "dependsOn" : [ ]
    },
    {
      "ref" : "pkg:maven/com.sos-berlin.js7.engine/js7-subagent_2.13@2.5.3?type=jar",
      "dependsOn" : [
        "pkg:maven/org.scala-lang/scala-library@2.13.10?type=jar",
        "pkg:maven/com.sos-berlin.js7.engine/js7-launcher_2.13@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin.js7.engine/js7-common_2.13@2.5.3?type=jar",
        "pkg:maven/com.sos-berlin.js7.engine/js7-data_2.13@2.5.3?type=jar",
        "pkg:maven/com.intellij/annotations@12.0?type=jar"
      ]
    },
...




  • No labels