The Google Chrome Content Analysis Connector provides an official mechanism allowing Data Loss Prevention (DLP) agents to more deeply integrate their services with Google Chrome.
DLP agents are background processes on managed computers that allow enterprises to monitor locally running applications for data exfiltration events. They can allow/block these activities based on customer defined DLP policies.
This repository contains the SDK that DLP agents may use to become service
providers for the Google Chrome Content Analysis Connector. The code that must
be compiled and linked into the content analysis agent is located in the agent
subdirectory.
A demo implementation of a service provider is located in the demo
subdirectory.
The code that must be compiled and linked into Google Chrome is located in
the browser
subdirectory.
The Protocol Buffer serialization format is used to serialize messages between the
browser and the agent. The protobuf definitions used can be found in the proto
subdirectory.
This SDK depends on Google Protocol Buffers version 3.18 or later. It may be installed from Google's download page for your developement platform. It may also be installed using a package manager.
The included prepare_build scripts use the Microsoft vcpkg package manager to install protobuf. vcpkg is available on all supported platforms.
The following must be installed on the computer before building the demo:
- git version 2.33 or later.
- cmake version 3.23 or later.
- A C++ compiler toolchain for your platform.
- On linux, the
realpath
shell tool, available in thecoreutils
package. In Debian-based distributions usesudo apt intall coreutils
. In Red Hat distributions usesudo yum install coreutils
. - On Mac, use
brew install cmake coreutils pkg-config googletest
or an equivalent setup
First get things ready by installing required dependencies:
$SDK_DIR/prepare_build <build-dir>
where <build-dir>
is the path to a directory where the demo will be built.
By default, if no argument is provided, a directory named build
will be
created in the project root. Any output within the build/
directory will
be ignored by version control.
prepare_build
performs the following steps:
- Downloads the vcpkg package manager.
- Downloads and builds the Google Protocol Buffers library.
- Creates build files for your specific platform.
To build the demo run the command cmake --build <build-dir>
.
To build the protocol buffer targets run the command cmake --build <build-dir> --target proto