blob: f5cca6a575b72b54900e5b76c0935f24e6fc16f6 [file] [log] [blame]
// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
syntax = "proto2";
import "shared_pup_enums.proto";
option optimize_for = LITE_RUNTIME;
package chrome_cleaner;
// A single file footprint used to identify UwS.
//
// Next tag: 4.
message StaticDiskFootprint {
optional int32 csidl = 1;
optional string path = 2;
// The expanded path includes the string form of the csidl.
optional string expanded_path = 3;
}
// A single registry footprint used to identify UwS.
//
// Next tag: 7.
message StaticRegistryFootprint {
optional RegistryRoot registry_root = 1;
optional string key_path = 2;
// The expanded key path includes the string form of the registry root.
optional string expanded_key_path = 5;
optional string value_name = 3;
optional string value_substring = 4;
optional RegistryMatchRule rule = 6;
}
// Data for each UwS reported or removed by the given cleaner version.
//
// FoilUwSData is a legacy name that must be kept because existing analysis
// tools use it.
//
// Next tag: 7.
message FoilUwSData {
// Deprecated observed_behaviors, removed after 29.157.
reserved 6;
// Attributes applied to UwS.
enum Attribute {
FLAGS_NONE = 0;
// Used when an UwS should be removed, otherwise it is only reported.
FLAGS_ACTION_REMOVE = 1;
// Used when an UwS should always be removed post-reboot, even when the
// Restart Manager doesn't think a reboot is needed.
FLAGS_REMOVAL_FORCE_REBOOT = 2;
// When the UwS is detected activate the detailed system report.
FLAGS_DETAILED_REPORT = 4;
// Used for UwS that interfere with the prompt, so we don't want to report
// that a cleanup can be done when they are present. This only affects the
// reporter, not the removal tool.
FLAGS_INHIBIT_REPORTING = 8;
// Used for UwS that interfere with the cleaner, so we don't want to offer
// a removal to the user when they are present. This affects both the
// reporter and the removal tool.
FLAGS_INHIBIT_REMOVAL = 16;
// The UwS behavior has been confirmed/observed and the UwS is
// breaking our UwS policies.
FLAGS_STATE_CONFIRMED_UWS = 32;
// The following values have been deprecated.
DEPRECATED_FLAGS_CATEGORY_MALWARE = 64;
DEPRECATED_FLAGS_CATEGORY_BROWSER_HIJACKER = 128;
DEPRECATED_FLAGS_CATEGORY_EXTENSIONS_INJECTOR = 256;
DEPRECATED_FLAGS_CATEGORY_ADS_INJECTOR = 512;
DEPRECATED_FLAGS_CATEGORY_SCAREWARE = 1024;
}
optional int32 id = 1;
optional string name = 2;
repeated Attribute attributes = 3;
repeated StaticDiskFootprint disk_footprints = 4;
repeated StaticRegistryFootprint registry_footprints = 5;
}
// Specifies all UwS recognized by a given version of the reporter or cleaner.
//
// FoilVersionSpec is a legacy name that must be kept because existing analysis
// tools use it.
//
// Next tag: 3.
message FoilVersionSpec {
optional string version = 1;
repeated FoilUwSData uws = 2;
}
// Format for version-UwS association config file.
//
// UwSSpecByFoilVersion is a legacy name that must be kept because existing
// analysis tools use it.
//
// Next tag: 2.
message UwSSpecByFoilVersion {
repeated FoilVersionSpec foil_versions = 1;
}