Using Signal Sciences Service Broker for PCF

This topic describes how to use Signal Sciences Service Broker for Pivotal Cloud Foundry (PCF).

Enable the Agent for Your App

To use the Signal Sciences service with your app, you must first enable the Signal Sciences agent that runs within the app.


The Signal Sciences Agent does the following:


Follow the steps outlined below to enable the Signal Sciences agent with your app. All languages and frameworks are supported.

  1. Ensure the .enable_sigsci_decorator file is present in the $BUILD_DIR of your app. This is just an empty file.

    • For Java-based apps, add the .enable_sigsci_decorator to your app JAR file. For example:
    ./gradlew clean assemble
    touch .enable_sigsci_decorator
    jar -uvf build/libs/spring-music.jar .enable_sigsci_decorator
  2. Set the following environment variables of your app using cf set-env:

    • Required
      • Agent keys, which can be obtained from the Agents page in the Signal Sciences Dashboard
    • Optional
      • SIGSCI_SERVER_HOSTNAME - Specify a specific hostname for each agent. This is what gets displayed in the Signal Sciences Dashboard UI, and it should be a unique name per instance.
      • SIGSCI_AGENT_VERSION - By default the latest version of the Signal Sciences agent will be installed. To specify a different version set the SIGSCI_AGENT_VERSION environment variable to the desired version number.
      • SIGSCI_REQUIRED - By default, if the Signal Sciences agent fails to start (e.g. invalid agent keys), this will not prevent the app from starting. To ensure your app is not started without Signal Sciences set SIGSCI_REQUIRED environment variable to true.
  3. Ensure your app process obtains its listening port from the $PORT environment variable. Typically, this does not require any changes to your app.

For more information on agent configuration options, see the agent configuration documentation,

Use the Signal Sciences Dashboard

With Signal Sciences enabled, every time your app is deployed and running, you have visibility into common web attacks and anomalies via the Signal Sciences Dashboard.

In the Dashboard, you can enable blocking to protect your app from attacks like SQL Injection, Cross-Site Scripting, Directory Traversal, Command Execution, etc. Also, by leveraging Signal Sciences custom signals you can enable visibility and protection over the business risks associated with your app, e.g. Account Takeover, High Risk Transactions, Vulnerability Discovery, and Policy Validation.

Create a pull request or raise an issue on the source for this page in GitHub