1// Copyright 2018 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4// 5// Safe Browsing Reporter request protocol buffers. This protocol message should 6// be kept in sync with the server implementation in Google3. 7 8syntax = "proto2"; 9 10import "shared_data.proto"; 11 12option optimize_for = LITE_RUNTIME; 13 14package chrome_cleaner; 15 16// Reporter logs to be sent to the Safe Browsing API. 17// 18// FoilReporterLogs is a legacy name that must be kept because existing 19// analysis tools use it. 20// 21// Next tag: 13. 22message FoilReporterLogs { 23 // Corresponded to data related to reporter experiments. 24 reserved 7, 8, 12; 25 26 // Environmental data regarding the machine and the Reporter. 27 // Next tag: 9. 28 message EnvironmentData { 29 // The Windows version as an enum value from base::win::Version. 30 optional uint32 windows_version = 1; 31 // Reporter's version number (X.Y.Z). 32 optional string reporter_version = 2; 33 34 // The user's installed Chrome version. 35 optional string chrome_version = 3; 36 37 // The channel of the user's installed chrome. The possible values are: 38 // 0: unknown; 1: canary; 2: dev; 3: beta; 4: stable. 39 optional int32 chrome_channel = 4; 40 41 // The user's default locale. e.g. "en-US". 42 optional string default_locale = 5; 43 44 // The country of the client IP. e.g. "US". This field is set by the Safe 45 // Browsing server on receiving a report and should not be set in the 46 // reporter copy of this proto. 47 optional string client_country = 6; 48 49 // The bitness of the reporter process, 32 or 64. 50 optional int32 bitness = 7; 51 52 // The engine run by the reporter. 53 optional Engine engine = 8; 54 } 55 optional EnvironmentData environment = 1; 56 57 // The identifier of the current report, generated by the server and that 58 // cannot be linked to the user who sent this data. 59 optional string token = 2; 60 61 // The exit code of the Reporter run. 62 optional uint32 exit_code = 3; 63 64 // The list of UwS matched by the reporter with corresponding matching data. 65 repeated UwS detected_uws = 4; 66 67 // The timestamp when the server received this report, given as the number of 68 // micro-seconds since Unix Epoch. 69 optional int64 timestamp = 5; 70 71 // Identifier used to group all reports generated during the same run of the 72 // software reporter (which may include multiple invocations of the reporter 73 // binary, each generating a report). 74 optional string session_id = 6; 75 76 // Information about reporter processes and their resource usage. 77 repeated ProcessInformation process_information = 9; 78 79 // Flag to signal if we encountered a modified Chrome shortcut on the machine. 80 optional bool found_modified_chrome_shortcuts = 10; 81 82 // UwS trace locations scanned by the reporter. 83 repeated UwS.TraceLocation scanned_locations = 11; 84} 85