Use SQLite for persistence and generate Rust protobuf bindings at build time. Add Docker image support for containerized deployment. Co-Authored-By: codex <[email protected]>
107 lines
4.0 KiB
Protocol Buffer
107 lines
4.0 KiB
Protocol Buffer
// Copyright 2019 The Chromium Authors
|
||
// Use of this source code is governed by a BSD-style license that can be
|
||
// found in the LICENSE file.
|
||
//
|
||
// Security Events used for recording security related events.
|
||
|
||
// If you change or add any fields in this file, update proto_visitors.h and
|
||
// potentially proto_enum_conversions.{h, cc}.
|
||
|
||
syntax = "proto2";
|
||
|
||
option go_package = "./sync_pb";
|
||
|
||
option java_multiple_files = true;
|
||
option java_package = "org.chromium.components.sync.protocol";
|
||
|
||
option optimize_for = LITE_RUNTIME;
|
||
|
||
package sync_pb;
|
||
|
||
// User reused their GAIA password on another website.
|
||
message GaiaPasswordReuse {
|
||
// Logged when we detect a password re-use event on a non-GAIA site.
|
||
// If the user hasn’t enabled SafeBrowsing, this will be the last event.
|
||
message PasswordReuseDetected {
|
||
message SafeBrowsingStatus {
|
||
// Is SafeBrowsing enabled?
|
||
optional bool enabled = 1;
|
||
// If SafeBrowsing is enabled, is the user opted-in to extended
|
||
// reporting or Scout?
|
||
enum ReportingPopulation {
|
||
REPORTING_POPULATION_UNSPECIFIED = 0;
|
||
NONE = 1;
|
||
EXTENDED_REPORTING = 2;
|
||
SCOUT = 3;
|
||
}
|
||
optional ReportingPopulation safe_browsing_reporting_population = 2;
|
||
}
|
||
optional SafeBrowsingStatus status = 1;
|
||
}
|
||
optional PasswordReuseDetected reuse_detected = 1;
|
||
|
||
message PasswordReuseLookup {
|
||
enum LookupResult {
|
||
UNSPECIFIED = 0;
|
||
// URL did match the password reuse allowlist.
|
||
// No further action required related to this re-use event.
|
||
ALLOWLIST_HIT = 1;
|
||
// The URL exists in the client’s cache.
|
||
// No further action required related to this re-use event.
|
||
// This event also logs the ReputationVerdict.
|
||
CACHE_HIT = 2;
|
||
// A valid response received from the SafeBrowsing service.
|
||
// This event also logs the ReputationVerdict.
|
||
REQUEST_SUCCESS = 3;
|
||
// Unable to get a valid response from the SafeBrowsing service.
|
||
REQUEST_FAILURE = 4;
|
||
// We won't be able to compute reputation for the URL e.g. local IP
|
||
// address, localhost, not-yet-assigned by ICANN gTLD, etc.
|
||
URL_UNSUPPORTED = 5;
|
||
// URL did match enterprise allowlist.
|
||
// No further action required related to this re-use event.
|
||
ENTERPRISE_ALLOWLIST_HIT = 6;
|
||
// Password reuse lookup is turned off by enterprise policy.
|
||
// No further action required related to this re-use event.
|
||
TURNED_OFF_BY_POLICY = 7;
|
||
}
|
||
optional LookupResult lookup_result = 1;
|
||
|
||
// The following two are only present for CACHE_HIT and REQUEST_SUCCESS.
|
||
// The verdict received from the Reputation service. This is set only
|
||
// if the user has SafeBrowsing enabled and we fetch the verdict from the
|
||
// cache or by sending a verdict request.
|
||
enum ReputationVerdict {
|
||
VERDICT_UNSPECIFIED = 0;
|
||
SAFE = 1;
|
||
LOW_REPUTATION = 2;
|
||
PHISHING = 3;
|
||
}
|
||
optional ReputationVerdict verdict = 2;
|
||
// PhishGuard token that identifies the verdict on the server.
|
||
optional bytes verdict_token = 3;
|
||
}
|
||
// Logged when we try to detect whether the password was reused on a
|
||
// Phishing or a Low-reputation site.
|
||
optional PasswordReuseLookup reuse_lookup = 2;
|
||
|
||
// Logged when the user interacts with the warning UI shown to encourage
|
||
// password change if the site is Phishing or Low-reputation.
|
||
message PasswordReuseDialogInteraction {
|
||
enum InteractionResult {
|
||
UNSPECIFIED = 0;
|
||
// The user took the action suggested by the warning prompt.
|
||
WARNING_ACTION_TAKEN = 1;
|
||
// The user clicked ignore in the warning prompt.
|
||
WARNING_ACTION_IGNORED = 2;
|
||
// The warning UI was ignored, i.e. not interacted with by the user.
|
||
// This could happen if the user navigates away from the page.
|
||
WARNING_UI_IGNORED = 3;
|
||
// The user clicked "Change Password" on chrome://settings page.
|
||
WARNING_ACTION_TAKEN_ON_SETTINGS = 4;
|
||
}
|
||
optional InteractionResult interaction_result = 1;
|
||
}
|
||
optional PasswordReuseDialogInteraction dialog_interaction = 3;
|
||
}
|