github.com/castai/kvisor@v1.7.1-0.20240516114728-b3572a2607b5/api/v1/runtime/common.proto (about) 1 syntax = "proto3"; 2 3 package runtime.v1; 4 5 option go_package = "github.com/castai/kvisord/api/runtime/v1"; 6 7 message Any { 8 uint32 event_id = 1; 9 uint32 syscall = 2; 10 bytes data = 3; 11 } 12 13 message Exec { 14 string path = 1; 15 repeated string args = 2; 16 ExecMetadata meta = 3; 17 } 18 19 message Library { 20 string name = 1; 21 string version = 2; 22 } 23 24 message ExecMetadata { 25 Language lang = 1; 26 repeated Library libraries = 2; 27 bytes hash_sha256 = 3; 28 } 29 30 enum Language { 31 LANG_UNKNOWN = 0; 32 LANG_GOLANG = 1; 33 LANG_C = 2; 34 } 35 36 message File { 37 string path = 1; 38 } 39 40 message Tuple { 41 string src_ip = 1; 42 string dst_ip = 2; 43 uint32 src_port = 3; 44 uint32 dst_port = 4; 45 string dns_question = 5; 46 } 47 48 enum FlowDirection { 49 FLOW_UNKNOWN = 0; 50 FLOW_INGRESS = 1; 51 FLOW_EGRESS = 2; 52 } 53 54 message DNS { 55 string DNSQuestionDomain = 1; 56 repeated DNSAnswers answers = 2; 57 FlowDirection flow_direction = 3; 58 } 59 60 message DNSAnswers { 61 uint32 type = 1; 62 uint32 class = 2; 63 uint32 ttl = 3; 64 string name = 4; 65 bytes ip = 5; 66 string cname = 6; 67 } 68 69 enum StatsGroup { 70 STATS_GROUP_UNKNOWN = 0; 71 STATS_GROUP_SYSCALL = 1; 72 STATS_GROUP_CPU = 2; 73 STATS_GROUP_MEMORY = 3; 74 STATS_GROUP_IO = 4; 75 STATS_GROUP_NET = 5; 76 } 77 78 message Stats { 79 StatsGroup group = 1; 80 uint32 subgroup = 2; 81 double value = 3; 82 } 83 84 message LogEvent { 85 int32 level = 1; 86 string msg = 2; 87 } 88 89 message SignatureEvent { 90 SignatureMetadata metadata = 1; 91 SignatureFinding finding = 2; 92 } 93 94 enum SignatureEventID { 95 SIGNATURE_UNKNOWN = 0; 96 SIGNATURE_STDIO_VIA_SOCKET = 1; 97 SIGNATURE_TTY_DETECTED = 2; 98 SIGNATURE_SOCKS5_DETECTED = 3; 99 } 100 101 message SignatureMetadata { 102 SignatureEventID id = 1; 103 string version = 2; 104 } 105 106 message SignatureFinding { 107 oneof data { 108 StdioViaSocketFinding stdio_via_socket = 1; 109 TtyDetectedFinding tty_detected = 2; 110 SOCKS5DetectedFinding socks5_detected = 3; 111 } 112 } 113 114 message StdioViaSocketFinding { 115 bytes ip = 1; 116 uint32 port = 2; 117 int32 socketfd = 3; 118 } 119 120 message TtyDetectedFinding { 121 string path = 1; 122 } 123 124 enum SOCKS5Role { 125 SOCKS5_ROLE_UNKNOWN = 0; 126 SOCKS5_ROLE_CLIENT = 1; 127 SOCKS5_ROLE_SERVER = 2; 128 } 129 130 enum SOCKS5AddressType { 131 SOCKS5_ADDRESS_TYPE_UNKNOWN = 0; 132 SOCKS5_ADDRESS_TYPE_IPv4 = 1; 133 SOCKS5_ADDRESS_TYPE_DOMAIN_NAME = 3; 134 SOCKS5_ADDRESS_TYPE_IPv6 = 4; 135 } 136 137 message SOCKS5DetectedFinding { 138 SOCKS5Role role = 1; 139 FlowDirection flow_direction = 2; 140 uint32 cmd_or_reply = 3; 141 SOCKS5AddressType address_type = 4; 142 bytes address = 5; 143 uint32 port = 6; 144 }