Documentation
¶
Overview ¶
Package analysis is a reverse proxy.
It translates gRPC into RESTful JSON APIs.
Index ¶
- Constants
- Variables
- func RegisterAnalysisServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error
- func RegisterAnalysisServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client AnalysisServiceClient) error
- func RegisterAnalysisServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, ...) (err error)
- func RegisterAnalysisServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server AnalysisServiceServer) error
- func RegisterAnalysisServiceServer(s grpc.ServiceRegistrar, srv AnalysisServiceServer)
- type Analysis
- func (*Analysis) Descriptor() ([]byte, []int)deprecated
- func (x *Analysis) GetAnalysisId() string
- func (x *Analysis) GetAttackGraph() *AttackGraph
- func (x *Analysis) GetCreateTime() *timestamppb.Timestamp
- func (x *Analysis) GetEdbFacts() []string
- func (x *Analysis) GetEndTime() *timestamppb.Timestamp
- func (x *Analysis) GetError() string
- func (x *Analysis) GetIdbRules() []string
- func (x *Analysis) GetName() string
- func (x *Analysis) GetState() Analysis_State
- func (*Analysis) ProtoMessage()
- func (x *Analysis) ProtoReflect() protoreflect.Message
- func (x *Analysis) Reset()
- func (x *Analysis) String() string
- type AnalysisOperationMetadata
- func (*AnalysisOperationMetadata) Descriptor() ([]byte, []int)deprecated
- func (x *AnalysisOperationMetadata) GetAnalysis() string
- func (x *AnalysisOperationMetadata) GetCreateTime() *timestamppb.Timestamp
- func (x *AnalysisOperationMetadata) GetState() Analysis_State
- func (x *AnalysisOperationMetadata) GetUpdateTime() *timestamppb.Timestamp
- func (*AnalysisOperationMetadata) ProtoMessage()
- func (x *AnalysisOperationMetadata) ProtoReflect() protoreflect.Message
- func (x *AnalysisOperationMetadata) Reset()
- func (x *AnalysisOperationMetadata) String() string
- type AnalysisServiceClient
- type AnalysisServiceServer
- type Analysis_State
- func (Analysis_State) Descriptor() protoreflect.EnumDescriptor
- func (x Analysis_State) Enum() *Analysis_State
- func (Analysis_State) EnumDescriptor() ([]byte, []int)deprecated
- func (x Analysis_State) Number() protoreflect.EnumNumber
- func (x Analysis_State) String() string
- func (Analysis_State) Type() protoreflect.EnumType
- type Arc
- type AttackGraph
- func (*AttackGraph) Descriptor() ([]byte, []int)deprecated
- func (x *AttackGraph) GetArcs() []*Arc
- func (x *AttackGraph) GetArcsCsv() string
- func (x *AttackGraph) GetSummary() string
- func (x *AttackGraph) GetVertices() []*Vertex
- func (x *AttackGraph) GetVerticesCsv() string
- func (*AttackGraph) ProtoMessage()
- func (x *AttackGraph) ProtoReflect() protoreflect.Message
- func (x *AttackGraph) Reset()
- func (x *AttackGraph) String() string
- type CreateAnalysisRequest
- func (*CreateAnalysisRequest) Descriptor() ([]byte, []int)deprecated
- func (x *CreateAnalysisRequest) GetAnalysisId() string
- func (x *CreateAnalysisRequest) GetEdbFacts() []string
- func (x *CreateAnalysisRequest) GetIdbRules() []string
- func (x *CreateAnalysisRequest) GetName() string
- func (*CreateAnalysisRequest) ProtoMessage()
- func (x *CreateAnalysisRequest) ProtoReflect() protoreflect.Message
- func (x *CreateAnalysisRequest) Reset()
- func (x *CreateAnalysisRequest) String() string
- type GetAnalysisRequest
- func (*GetAnalysisRequest) Descriptor() ([]byte, []int)deprecated
- func (x *GetAnalysisRequest) GetName() string
- func (*GetAnalysisRequest) ProtoMessage()
- func (x *GetAnalysisRequest) ProtoReflect() protoreflect.Message
- func (x *GetAnalysisRequest) Reset()
- func (x *GetAnalysisRequest) String() string
- type ListAnalysesRequest
- func (*ListAnalysesRequest) Descriptor() ([]byte, []int)deprecated
- func (x *ListAnalysesRequest) GetPageSize() int32
- func (x *ListAnalysesRequest) GetPageToken() string
- func (*ListAnalysesRequest) ProtoMessage()
- func (x *ListAnalysesRequest) ProtoReflect() protoreflect.Message
- func (x *ListAnalysesRequest) Reset()
- func (x *ListAnalysesRequest) String() string
- type ListAnalysesResponse
- func (*ListAnalysesResponse) Descriptor() ([]byte, []int)deprecated
- func (x *ListAnalysesResponse) GetAnalyses() []*Analysis
- func (x *ListAnalysesResponse) GetNextPageToken() string
- func (*ListAnalysesResponse) ProtoMessage()
- func (x *ListAnalysesResponse) ProtoReflect() protoreflect.Message
- func (x *ListAnalysesResponse) Reset()
- func (x *ListAnalysesResponse) String() string
- type UnimplementedAnalysisServiceServer
- func (UnimplementedAnalysisServiceServer) CreateAnalysis(context.Context, *CreateAnalysisRequest) (*longrunningpb.Operation, error)
- func (UnimplementedAnalysisServiceServer) GetAnalysis(context.Context, *GetAnalysisRequest) (*Analysis, error)
- func (UnimplementedAnalysisServiceServer) ListAnalyses(context.Context, *ListAnalysesRequest) (*ListAnalysesResponse, error)
- type UnsafeAnalysisServiceServer
- type Vertex
- func (*Vertex) Descriptor() ([]byte, []int)deprecated
- func (x *Vertex) GetFact() string
- func (x *Vertex) GetId() int32
- func (x *Vertex) GetIsGoal() bool
- func (x *Vertex) GetVertexType() Vertex_VertexType
- func (*Vertex) ProtoMessage()
- func (x *Vertex) ProtoReflect() protoreflect.Message
- func (x *Vertex) Reset()
- func (x *Vertex) String() string
- type Vertex_VertexType
- func (Vertex_VertexType) Descriptor() protoreflect.EnumDescriptor
- func (x Vertex_VertexType) Enum() *Vertex_VertexType
- func (Vertex_VertexType) EnumDescriptor() ([]byte, []int)deprecated
- func (x Vertex_VertexType) Number() protoreflect.EnumNumber
- func (x Vertex_VertexType) String() string
- func (Vertex_VertexType) Type() protoreflect.EnumType
Constants ¶
const ( AnalysisService_CreateAnalysis_FullMethodName = "/proto.api.v1.analysis.AnalysisService/CreateAnalysis" AnalysisService_GetAnalysis_FullMethodName = "/proto.api.v1.analysis.AnalysisService/GetAnalysis" AnalysisService_ListAnalyses_FullMethodName = "/proto.api.v1.analysis.AnalysisService/ListAnalyses" )
Variables ¶
var ( Analysis_State_name = map[int32]string{ 0: "STATE_UNSPECIFIED", 1: "PENDING", 2: "RUNNING", 3: "SUCCEEDED", 4: "FAILED", 5: "CANCELLED", } Analysis_State_value = map[string]int32{ "STATE_UNSPECIFIED": 0, "PENDING": 1, "RUNNING": 2, "SUCCEEDED": 3, "FAILED": 4, "CANCELLED": 5, } )
Enum value maps for Analysis_State.
var ( Vertex_VertexType_name = map[int32]string{ 0: "VERTEX_TYPE_UNSPECIFIED", 1: "AND", 2: "LEAF", 3: "OR", } Vertex_VertexType_value = map[string]int32{ "VERTEX_TYPE_UNSPECIFIED": 0, "AND": 1, "LEAF": 2, "OR": 3, } )
Enum value maps for Vertex_VertexType.
var AnalysisService_ServiceDesc = grpc.ServiceDesc{ ServiceName: "proto.api.v1.analysis.AnalysisService", HandlerType: (*AnalysisServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "CreateAnalysis", Handler: _AnalysisService_CreateAnalysis_Handler, }, { MethodName: "GetAnalysis", Handler: _AnalysisService_GetAnalysis_Handler, }, { MethodName: "ListAnalyses", Handler: _AnalysisService_ListAnalyses_Handler, }, }, Streams: []grpc.StreamDesc{}, Metadata: "proto/api/v1/analysis/analysis.proto", }
AnalysisService_ServiceDesc is the grpc.ServiceDesc for AnalysisService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
var File_proto_api_v1_analysis_analysis_proto protoreflect.FileDescriptor
Functions ¶
func RegisterAnalysisServiceHandler ¶
func RegisterAnalysisServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error
RegisterAnalysisServiceHandler registers the http handlers for service AnalysisService to "mux". The handlers forward requests to the grpc endpoint over "conn".
func RegisterAnalysisServiceHandlerClient ¶
func RegisterAnalysisServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client AnalysisServiceClient) error
RegisterAnalysisServiceHandlerClient registers the http handlers for service AnalysisService to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "AnalysisServiceClient". Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "AnalysisServiceClient" doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in "AnalysisServiceClient" to call the correct interceptors. This client ignores the HTTP middlewares.
func RegisterAnalysisServiceHandlerFromEndpoint ¶
func RegisterAnalysisServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error)
RegisterAnalysisServiceHandlerFromEndpoint is same as RegisterAnalysisServiceHandler but automatically dials to "endpoint" and closes the connection when "ctx" gets done.
func RegisterAnalysisServiceHandlerServer ¶
func RegisterAnalysisServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server AnalysisServiceServer) error
RegisterAnalysisServiceHandlerServer registers the http handlers for service AnalysisService to "mux". UnaryRPC :call AnalysisServiceServer directly. StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterAnalysisServiceHandlerFromEndpoint instead. GRPC interceptors will not work for this type of registration. To use interceptors, you must use the "runtime.WithMiddlewares" option in the "runtime.NewServeMux" call.
func RegisterAnalysisServiceServer ¶
func RegisterAnalysisServiceServer(s grpc.ServiceRegistrar, srv AnalysisServiceServer)
Types ¶
type Analysis ¶
type Analysis struct {
// Resource name. Server-assigned if not provided on creation.
// Format: analyses/{analysis_id}
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Client-provided idempotency key. If a request with the same
// analysis_id is received while a run is in progress or completed,
// the existing operation is returned rather than starting a new run.
// Optional — server assigns a UUID if omitted.
AnalysisId string `protobuf:"bytes,2,opt,name=analysis_id,json=analysisId,proto3" json:"analysis_id,omitempty"`
// EDB ground facts in MulVAL Prolog syntax, one clause per entry.
// Example: "hacl(internet, webServer, tcp, 80)."
// Required.
EdbFacts []string `protobuf:"bytes,3,rep,name=edb_facts,json=edbFacts,proto3" json:"edb_facts,omitempty"`
// Additional IDB interaction rules in MulVAL Prolog syntax.
// These are appended to the default MulVAL interaction rules via
// graph_gen.sh -a. Optional — only the default rules apply if empty.
IdbRules []string `protobuf:"bytes,4,rep,name=idb_rules,json=idbRules,proto3" json:"idb_rules,omitempty"`
// The state of the analysis.
State Analysis_State `protobuf:"varint,5,opt,name=state,proto3,enum=proto.api.v1.analysis.Analysis_State" json:"state,omitempty"`
// When the analysis was created.
CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
// When the analysis completed (succeeded or failed).
EndTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
// The attack graph result. Populated only when state = SUCCEEDED.
AttackGraph *AttackGraph `protobuf:"bytes,8,opt,name=attack_graph,json=attackGraph,proto3" json:"attack_graph,omitempty"`
// Human-readable error message. Populated only when state = FAILED.
Error string `protobuf:"bytes,9,opt,name=error,proto3" json:"error,omitempty"`
// contains filtered or unexported fields
}
Analysis represents a single MulVAL attack graph generation run. Resource name: analyses/{analysis_id}
func (*Analysis) Descriptor
deprecated
func (*Analysis) GetAnalysisId ¶
func (*Analysis) GetAttackGraph ¶
func (x *Analysis) GetAttackGraph() *AttackGraph
func (*Analysis) GetCreateTime ¶
func (x *Analysis) GetCreateTime() *timestamppb.Timestamp
func (*Analysis) GetEdbFacts ¶
func (*Analysis) GetEndTime ¶
func (x *Analysis) GetEndTime() *timestamppb.Timestamp
func (*Analysis) GetIdbRules ¶
func (*Analysis) GetState ¶
func (x *Analysis) GetState() Analysis_State
func (*Analysis) ProtoMessage ¶
func (*Analysis) ProtoMessage()
func (*Analysis) ProtoReflect ¶
func (x *Analysis) ProtoReflect() protoreflect.Message
type AnalysisOperationMetadata ¶
type AnalysisOperationMetadata struct {
// Resource name of the analysis being executed.
Analysis string `protobuf:"bytes,1,opt,name=analysis,proto3" json:"analysis,omitempty"`
// Current state.
State Analysis_State `protobuf:"varint,2,opt,name=state,proto3,enum=proto.api.v1.analysis.Analysis_State" json:"state,omitempty"`
// When the operation was created.
CreateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
// When the operation last changed state.
UpdateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
// contains filtered or unexported fields
}
AnalysisOperationMetadata is embedded in Operation.metadata during a run. AIP-151: metadata must describe the current status of the LRO.
func (*AnalysisOperationMetadata) Descriptor
deprecated
func (*AnalysisOperationMetadata) Descriptor() ([]byte, []int)
Deprecated: Use AnalysisOperationMetadata.ProtoReflect.Descriptor instead.
func (*AnalysisOperationMetadata) GetAnalysis ¶
func (x *AnalysisOperationMetadata) GetAnalysis() string
func (*AnalysisOperationMetadata) GetCreateTime ¶
func (x *AnalysisOperationMetadata) GetCreateTime() *timestamppb.Timestamp
func (*AnalysisOperationMetadata) GetState ¶
func (x *AnalysisOperationMetadata) GetState() Analysis_State
func (*AnalysisOperationMetadata) GetUpdateTime ¶
func (x *AnalysisOperationMetadata) GetUpdateTime() *timestamppb.Timestamp
func (*AnalysisOperationMetadata) ProtoMessage ¶
func (*AnalysisOperationMetadata) ProtoMessage()
func (*AnalysisOperationMetadata) ProtoReflect ¶
func (x *AnalysisOperationMetadata) ProtoReflect() protoreflect.Message
func (*AnalysisOperationMetadata) Reset ¶
func (x *AnalysisOperationMetadata) Reset()
func (*AnalysisOperationMetadata) String ¶
func (x *AnalysisOperationMetadata) String() string
type AnalysisServiceClient ¶
type AnalysisServiceClient interface {
// CreateAnalysis submits a new MulVAL analysis job.
//
// AIP-133: standard Create pattern.
// AIP-151: returns an LRO immediately; poll via GetOperation.
//
// Idempotency: if analysis_id is provided and matches an existing
// in-progress or completed analysis, the existing operation is returned.
CreateAnalysis(ctx context.Context, in *CreateAnalysisRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
// GetAnalysis retrieves a completed or in-progress analysis by name.
//
// AIP-131: standard Get pattern.
GetAnalysis(ctx context.Context, in *GetAnalysisRequest, opts ...grpc.CallOption) (*Analysis, error)
ListAnalyses(ctx context.Context, in *ListAnalysesRequest, opts ...grpc.CallOption) (*ListAnalysesResponse, error)
}
AnalysisServiceClient is the client API for AnalysisService service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
func NewAnalysisServiceClient ¶
func NewAnalysisServiceClient(cc grpc.ClientConnInterface) AnalysisServiceClient
type AnalysisServiceServer ¶
type AnalysisServiceServer interface {
// CreateAnalysis submits a new MulVAL analysis job.
//
// AIP-133: standard Create pattern.
// AIP-151: returns an LRO immediately; poll via GetOperation.
//
// Idempotency: if analysis_id is provided and matches an existing
// in-progress or completed analysis, the existing operation is returned.
CreateAnalysis(context.Context, *CreateAnalysisRequest) (*longrunningpb.Operation, error)
// GetAnalysis retrieves a completed or in-progress analysis by name.
//
// AIP-131: standard Get pattern.
GetAnalysis(context.Context, *GetAnalysisRequest) (*Analysis, error)
ListAnalyses(context.Context, *ListAnalysesRequest) (*ListAnalysesResponse, error)
// contains filtered or unexported methods
}
AnalysisServiceServer is the server API for AnalysisService service. All implementations must embed UnimplementedAnalysisServiceServer for forward compatibility.
type Analysis_State ¶
type Analysis_State int32
Lifecycle states of an analysis.
const ( Analysis_STATE_UNSPECIFIED Analysis_State = 0 // Queued, not yet started. Analysis_PENDING Analysis_State = 1 // MulVAL subprocess is running. Analysis_RUNNING Analysis_State = 2 // Completed successfully. attack_graph is populated. Analysis_SUCCEEDED Analysis_State = 3 // MulVAL returned an error. error field is populated. Analysis_FAILED Analysis_State = 4 // Cancelled by the client. Analysis_CANCELLED Analysis_State = 5 )
func (Analysis_State) Descriptor ¶
func (Analysis_State) Descriptor() protoreflect.EnumDescriptor
func (Analysis_State) Enum ¶
func (x Analysis_State) Enum() *Analysis_State
func (Analysis_State) EnumDescriptor
deprecated
func (Analysis_State) EnumDescriptor() ([]byte, []int)
Deprecated: Use Analysis_State.Descriptor instead.
func (Analysis_State) Number ¶
func (x Analysis_State) Number() protoreflect.EnumNumber
func (Analysis_State) String ¶
func (x Analysis_State) String() string
func (Analysis_State) Type ¶
func (Analysis_State) Type() protoreflect.EnumType
type Arc ¶
type Arc struct {
// Source vertex ID.
Src int32 `protobuf:"varint,1,opt,name=src,proto3" json:"src,omitempty"`
// Destination vertex ID.
Dst int32 `protobuf:"varint,2,opt,name=dst,proto3" json:"dst,omitempty"`
// contains filtered or unexported fields
}
Arc represents a directed edge in the attack graph.
func (*Arc) Descriptor
deprecated
func (*Arc) ProtoMessage ¶
func (*Arc) ProtoMessage()
func (*Arc) ProtoReflect ¶
func (x *Arc) ProtoReflect() protoreflect.Message
type AttackGraph ¶
type AttackGraph struct {
// Raw content of VERTICES.CSV as produced by MulVAL.
VerticesCsv string `protobuf:"bytes,1,opt,name=vertices_csv,json=verticesCsv,proto3" json:"vertices_csv,omitempty"`
// Raw content of ARCS.CSV as produced by MulVAL.
ArcsCsv string `protobuf:"bytes,2,opt,name=arcs_csv,json=arcsCsv,proto3" json:"arcs_csv,omitempty"`
// Raw content of AttackGraph.txt (MulVAL's text summary).
Summary string `protobuf:"bytes,3,opt,name=summary,proto3" json:"summary,omitempty"`
// Parsed vertices for programmatic consumption.
Vertices []*Vertex `protobuf:"bytes,4,rep,name=vertices,proto3" json:"vertices,omitempty"`
// Parsed arcs for programmatic consumption.
Arcs []*Arc `protobuf:"bytes,5,rep,name=arcs,proto3" json:"arcs,omitempty"`
// contains filtered or unexported fields
}
AttackGraph is the output of a completed Analysis.
func (*AttackGraph) Descriptor
deprecated
func (*AttackGraph) Descriptor() ([]byte, []int)
Deprecated: Use AttackGraph.ProtoReflect.Descriptor instead.
func (*AttackGraph) GetArcs ¶
func (x *AttackGraph) GetArcs() []*Arc
func (*AttackGraph) GetArcsCsv ¶
func (x *AttackGraph) GetArcsCsv() string
func (*AttackGraph) GetSummary ¶
func (x *AttackGraph) GetSummary() string
func (*AttackGraph) GetVertices ¶
func (x *AttackGraph) GetVertices() []*Vertex
func (*AttackGraph) GetVerticesCsv ¶
func (x *AttackGraph) GetVerticesCsv() string
func (*AttackGraph) ProtoMessage ¶
func (*AttackGraph) ProtoMessage()
func (*AttackGraph) ProtoReflect ¶
func (x *AttackGraph) ProtoReflect() protoreflect.Message
func (*AttackGraph) Reset ¶
func (x *AttackGraph) Reset()
func (*AttackGraph) String ¶
func (x *AttackGraph) String() string
type CreateAnalysisRequest ¶
type CreateAnalysisRequest struct {
// Resource name. Server-assigned if not provided on creation.
// Format: analyses/{analysis_id}
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Client-provided idempotency key. If a request with the same
// analysis_id is received while a run is in progress or completed,
// the existing operation is returned rather than starting a new run.
// Optional — server assigns a UUID if omitted.
AnalysisId string `protobuf:"bytes,2,opt,name=analysis_id,json=analysisId,proto3" json:"analysis_id,omitempty"`
// EDB ground facts in MulVAL Prolog syntax, one clause per entry.
// Example: "hacl(internet, webServer, tcp, 80)."
// Required.
EdbFacts []string `protobuf:"bytes,3,rep,name=edb_facts,json=edbFacts,proto3" json:"edb_facts,omitempty"`
// Additional IDB interaction rules in MulVAL Prolog syntax.
// These are appended to the default MulVAL interaction rules via
// graph_gen.sh -a. Optional — only the default rules apply if empty.
IdbRules []string `protobuf:"bytes,4,rep,name=idb_rules,json=idbRules,proto3" json:"idb_rules,omitempty"`
// contains filtered or unexported fields
}
func (*CreateAnalysisRequest) Descriptor
deprecated
func (*CreateAnalysisRequest) Descriptor() ([]byte, []int)
Deprecated: Use CreateAnalysisRequest.ProtoReflect.Descriptor instead.
func (*CreateAnalysisRequest) GetAnalysisId ¶
func (x *CreateAnalysisRequest) GetAnalysisId() string
func (*CreateAnalysisRequest) GetEdbFacts ¶
func (x *CreateAnalysisRequest) GetEdbFacts() []string
func (*CreateAnalysisRequest) GetIdbRules ¶
func (x *CreateAnalysisRequest) GetIdbRules() []string
func (*CreateAnalysisRequest) GetName ¶
func (x *CreateAnalysisRequest) GetName() string
func (*CreateAnalysisRequest) ProtoMessage ¶
func (*CreateAnalysisRequest) ProtoMessage()
func (*CreateAnalysisRequest) ProtoReflect ¶
func (x *CreateAnalysisRequest) ProtoReflect() protoreflect.Message
func (*CreateAnalysisRequest) Reset ¶
func (x *CreateAnalysisRequest) Reset()
func (*CreateAnalysisRequest) String ¶
func (x *CreateAnalysisRequest) String() string
type GetAnalysisRequest ¶
type GetAnalysisRequest struct {
// Resource name of the analysis to retrieve.
// Format: analyses/{analysis_id}
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// contains filtered or unexported fields
}
func (*GetAnalysisRequest) Descriptor
deprecated
func (*GetAnalysisRequest) Descriptor() ([]byte, []int)
Deprecated: Use GetAnalysisRequest.ProtoReflect.Descriptor instead.
func (*GetAnalysisRequest) GetName ¶
func (x *GetAnalysisRequest) GetName() string
func (*GetAnalysisRequest) ProtoMessage ¶
func (*GetAnalysisRequest) ProtoMessage()
func (*GetAnalysisRequest) ProtoReflect ¶
func (x *GetAnalysisRequest) ProtoReflect() protoreflect.Message
func (*GetAnalysisRequest) Reset ¶
func (x *GetAnalysisRequest) Reset()
func (*GetAnalysisRequest) String ¶
func (x *GetAnalysisRequest) String() string
type ListAnalysesRequest ¶
type ListAnalysesRequest struct {
// Maximum number of analyses to return.
// Defaults to 50 if unset or zero. Maximum is 1000.
PageSize int32 `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// Opaque token returned by a previous ListAnalyses call.
// Leave empty to start from the beginning.
PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
// contains filtered or unexported fields
}
func (*ListAnalysesRequest) Descriptor
deprecated
func (*ListAnalysesRequest) Descriptor() ([]byte, []int)
Deprecated: Use ListAnalysesRequest.ProtoReflect.Descriptor instead.
func (*ListAnalysesRequest) GetPageSize ¶
func (x *ListAnalysesRequest) GetPageSize() int32
func (*ListAnalysesRequest) GetPageToken ¶
func (x *ListAnalysesRequest) GetPageToken() string
func (*ListAnalysesRequest) ProtoMessage ¶
func (*ListAnalysesRequest) ProtoMessage()
func (*ListAnalysesRequest) ProtoReflect ¶
func (x *ListAnalysesRequest) ProtoReflect() protoreflect.Message
func (*ListAnalysesRequest) Reset ¶
func (x *ListAnalysesRequest) Reset()
func (*ListAnalysesRequest) String ¶
func (x *ListAnalysesRequest) String() string
type ListAnalysesResponse ¶
type ListAnalysesResponse struct {
Analyses []*Analysis `protobuf:"bytes,1,rep,name=analyses,proto3" json:"analyses,omitempty"`
// Token to retrieve the next page.
// Empty when there are no more results.
NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
// contains filtered or unexported fields
}
func (*ListAnalysesResponse) Descriptor
deprecated
func (*ListAnalysesResponse) Descriptor() ([]byte, []int)
Deprecated: Use ListAnalysesResponse.ProtoReflect.Descriptor instead.
func (*ListAnalysesResponse) GetAnalyses ¶
func (x *ListAnalysesResponse) GetAnalyses() []*Analysis
func (*ListAnalysesResponse) GetNextPageToken ¶
func (x *ListAnalysesResponse) GetNextPageToken() string
func (*ListAnalysesResponse) ProtoMessage ¶
func (*ListAnalysesResponse) ProtoMessage()
func (*ListAnalysesResponse) ProtoReflect ¶
func (x *ListAnalysesResponse) ProtoReflect() protoreflect.Message
func (*ListAnalysesResponse) Reset ¶
func (x *ListAnalysesResponse) Reset()
func (*ListAnalysesResponse) String ¶
func (x *ListAnalysesResponse) String() string
type UnimplementedAnalysisServiceServer ¶
type UnimplementedAnalysisServiceServer struct{}
UnimplementedAnalysisServiceServer must be embedded to have forward compatible implementations.
NOTE: this should be embedded by value instead of pointer to avoid a nil pointer dereference when methods are called.
func (UnimplementedAnalysisServiceServer) CreateAnalysis ¶
func (UnimplementedAnalysisServiceServer) CreateAnalysis(context.Context, *CreateAnalysisRequest) (*longrunningpb.Operation, error)
func (UnimplementedAnalysisServiceServer) GetAnalysis ¶
func (UnimplementedAnalysisServiceServer) GetAnalysis(context.Context, *GetAnalysisRequest) (*Analysis, error)
func (UnimplementedAnalysisServiceServer) ListAnalyses ¶
func (UnimplementedAnalysisServiceServer) ListAnalyses(context.Context, *ListAnalysesRequest) (*ListAnalysesResponse, error)
type UnsafeAnalysisServiceServer ¶
type UnsafeAnalysisServiceServer interface {
// contains filtered or unexported methods
}
UnsafeAnalysisServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to AnalysisServiceServer will result in compilation errors.
type Vertex ¶
type Vertex struct {
// Numeric vertex ID as assigned by MulVAL.
Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
// Prolog fact label (e.g. "execCode(webServer,apache)").
Fact string `protobuf:"bytes,2,opt,name=fact,proto3" json:"fact,omitempty"`
// Vertex type as classified by MulVAL.
VertexType Vertex_VertexType `` /* 137-byte string literal not displayed */
// Whether this vertex is the declared attackGoal.
IsGoal bool `protobuf:"varint,4,opt,name=is_goal,json=isGoal,proto3" json:"is_goal,omitempty"`
// contains filtered or unexported fields
}
Vertex represents one node in the attack graph.
func (*Vertex) Descriptor
deprecated
func (*Vertex) GetVertexType ¶
func (x *Vertex) GetVertexType() Vertex_VertexType
func (*Vertex) ProtoMessage ¶
func (*Vertex) ProtoMessage()
func (*Vertex) ProtoReflect ¶
func (x *Vertex) ProtoReflect() protoreflect.Message
type Vertex_VertexType ¶
type Vertex_VertexType int32
const ( Vertex_VERTEX_TYPE_UNSPECIFIED Vertex_VertexType = 0 // A derived logical consequence (AND node). Vertex_AND Vertex_VertexType = 1 // A primitive EDB fact (leaf node). Vertex_LEAF Vertex_VertexType = 2 // An OR node (multiple paths lead here). Vertex_OR Vertex_VertexType = 3 )
func (Vertex_VertexType) Descriptor ¶
func (Vertex_VertexType) Descriptor() protoreflect.EnumDescriptor
func (Vertex_VertexType) Enum ¶
func (x Vertex_VertexType) Enum() *Vertex_VertexType
func (Vertex_VertexType) EnumDescriptor
deprecated
func (Vertex_VertexType) EnumDescriptor() ([]byte, []int)
Deprecated: Use Vertex_VertexType.Descriptor instead.
func (Vertex_VertexType) Number ¶
func (x Vertex_VertexType) Number() protoreflect.EnumNumber
func (Vertex_VertexType) String ¶
func (x Vertex_VertexType) String() string
func (Vertex_VertexType) Type ¶
func (Vertex_VertexType) Type() protoreflect.EnumType