risken

package module
v0.0.0-...-4afdbe2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 10, 2024 License: MIT Imports: 24 Imported by: 1

README

go-risken

go client library for RISKEN API

Client Library

RISKEN_API_TOKEN is required before using the library. Please create a token on RISKEN beforehand. See document for details.

Example
package main

import (
	"context"
	"log/slog"
	"os"

	"github.com/ca-risken/go-risken"
)

func main() {
	ctx := context.Background()
	token := os.Getenv("RISKEN_API_TOKEN") // Retrieve api token from environment value.
	client := risken.NewClient(token, risken.WithAPIEndpoint("http://your-risken-api-endpoint"))

	resp, err := client.Signin(ctx)
	if err != nil {
		slog.Error(err.Error())
		os.Exit(1)
	}
	slog.Info("Success signin API.", slog.Any("resp", resp))
}

Documentation

Overview

AUTOGENERATED FILE BY CODE GENERATOR. DO NOT EDIT. Source: generator.yaml

AUTOGENERATED FILE BY CODE GENERATOR. DO NOT EDIT. Source: generator.yaml

AUTOGENERATED FILE BY CODE GENERATOR. DO NOT EDIT. Source: generator.yaml

AUTOGENERATED FILE BY CODE GENERATOR. DO NOT EDIT. Source: generator.yaml

AUTOGENERATED FILE BY CODE GENERATOR. DO NOT EDIT. Source: generator.yaml

AUTOGENERATED FILE BY CODE GENERATOR. DO NOT EDIT. Source: generator.yaml

AUTOGENERATED FILE BY CODE GENERATOR. DO NOT EDIT. Source: generator.yaml

AUTOGENERATED FILE BY CODE GENERATOR. DO NOT EDIT. Source: generator.yaml

AUTOGENERATED FILE BY CODE GENERATOR. DO NOT EDIT. Source: generator.yaml

AUTOGENERATED FILE BY CODE GENERATOR. DO NOT EDIT. Source: generator.yaml

AUTOGENERATED FILE BY CODE GENERATOR. DO NOT EDIT. Source: generator.yaml

Index

Constants

View Source
const (
	VERSION             = "0.0.1"
	USER_AGENT          = "go-risken/" + VERSION
	ACCEPT_HEADER       = "application/json"
	CONTENT_TYPE_HEADER = "application/json"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type APIError

type APIError struct {
	// StatusCode is the HTTP response status code
	Status  int    `json:"status"`
	Message string `json:"error"`
}

func (APIError) Error

func (a APIError) Error() string

Error satisfies the error interface, and should contain the StatusCode, APIErrorObject.Message, and APIErrorObject.Code.

type Client

type Client struct {
	HTTPClient HTTPClient
	// contains filtered or unexported fields
}

func NewClient

func NewClient(apiToken string, options ...ClientOptions) *Client

func (*Client) AnalyzeAlert

func (c *Client) AnalyzeAlert(ctx context.Context, req *proto.AnalyzeAlertRequest) error

func (*Client) AnalyzeAttackFlow

func (*Client) AttachDataSource

func (*Client) AttachPolicy

func (*Client) AttachRole

func (*Client) DeleteAWS

func (c *Client) DeleteAWS(ctx context.Context, req *proto.DeleteAWSRequest) error

func (*Client) DeleteAlertCondNotification

func (c *Client) DeleteAlertCondNotification(ctx context.Context, req *proto.DeleteAlertCondNotificationRequest) error

func (*Client) DeleteAlertCondRule

func (c *Client) DeleteAlertCondRule(ctx context.Context, req *proto.DeleteAlertCondRuleRequest) error

func (*Client) DeleteAlertCondition

func (c *Client) DeleteAlertCondition(ctx context.Context, req *proto.DeleteAlertConditionRequest) error

func (*Client) DeleteAlertRule

func (c *Client) DeleteAlertRule(ctx context.Context, req *proto.DeleteAlertRuleRequest) error

func (*Client) DeleteApplicationScan

func (c *Client) DeleteApplicationScan(ctx context.Context, req *proto.DeleteApplicationScanRequest) error

func (*Client) DeleteApplicationScanBasicSetting

func (c *Client) DeleteApplicationScanBasicSetting(ctx context.Context, req *proto.DeleteApplicationScanBasicSettingRequest) error

func (*Client) DeleteCodeScanSetting

func (c *Client) DeleteCodeScanSetting(ctx context.Context, req *proto.DeleteCodeScanSettingRequest) error

func (*Client) DeleteDependencySetting

func (c *Client) DeleteDependencySetting(ctx context.Context, req *proto.DeleteDependencySettingRequest) error

func (*Client) DeleteFinding

func (c *Client) DeleteFinding(ctx context.Context, req *proto.DeleteFindingRequest) error

func (*Client) DeleteFindingSetting

func (c *Client) DeleteFindingSetting(ctx context.Context, req *proto.DeleteFindingSettingRequest) error

func (*Client) DeleteGCP

func (c *Client) DeleteGCP(ctx context.Context, req *proto.DeleteGCPRequest) error

func (*Client) DeleteGitHubSetting

func (c *Client) DeleteGitHubSetting(ctx context.Context, req *proto.DeleteGitHubSettingRequest) error

func (*Client) DeleteGitleaksSetting

func (c *Client) DeleteGitleaksSetting(ctx context.Context, req *proto.DeleteGitleaksSettingRequest) error

func (*Client) DeleteNotification

func (c *Client) DeleteNotification(ctx context.Context, req *proto.DeleteNotificationRequest) error

func (*Client) DeleteOsint

func (c *Client) DeleteOsint(ctx context.Context, req *proto.DeleteOsintRequest) error

func (*Client) DeleteOsintDetectWord

func (c *Client) DeleteOsintDetectWord(ctx context.Context, req *proto.DeleteOsintDetectWordRequest) error

func (*Client) DeletePendFinding

func (c *Client) DeletePendFinding(ctx context.Context, req *proto.DeletePendFindingRequest) error

func (*Client) DeletePolicy

func (c *Client) DeletePolicy(ctx context.Context, req *proto.DeletePolicyRequest) error

func (*Client) DeletePortscanSetting

func (c *Client) DeletePortscanSetting(ctx context.Context, req *proto.DeletePortscanSettingRequest) error

func (*Client) DeletePortscanTarget

func (c *Client) DeletePortscanTarget(ctx context.Context, req *proto.DeletePortscanTargetRequest) error

func (*Client) DeleteProject

func (c *Client) DeleteProject(ctx context.Context, req *proto.DeleteProjectRequest) error

func (*Client) DeleteRelOsintDataSource

func (c *Client) DeleteRelOsintDataSource(ctx context.Context, req *proto.DeleteRelOsintDataSourceRequest) error

func (*Client) DeleteResource

func (c *Client) DeleteResource(ctx context.Context, req *proto.DeleteResourceRequest) error

func (*Client) DeleteRole

func (c *Client) DeleteRole(ctx context.Context, req *proto.DeleteRoleRequest) error

func (*Client) DeleteUserReserved

func (c *Client) DeleteUserReserved(ctx context.Context, req *proto.DeleteUserReservedRequest) error

func (*Client) DeleteWpscanSetting

func (c *Client) DeleteWpscanSetting(ctx context.Context, req *proto.DeleteWpscanSettingRequest) error

func (*Client) DetachDataSource

func (c *Client) DetachDataSource(ctx context.Context, req *proto.DetachDataSourceRequest) error

func (*Client) DetachGCPDataSource

func (c *Client) DetachGCPDataSource(ctx context.Context, req *proto.DetachGCPDataSourceRequest) error

func (*Client) DetachPolicy

func (c *Client) DetachPolicy(ctx context.Context, req *proto.DetachPolicyRequest) error

func (*Client) DetachRole

func (c *Client) DetachRole(ctx context.Context, req *proto.DetachRoleRequest) error

func (*Client) Do

func (c *Client) Do(r *http.Request) (*http.Response, error)

Do sets some headers on the request, before actioning it using the internal HTTPClient. This also assumes any request body is in JSON format and sets the Content-Type to application/json.

func (*Client) GetAISummary

func (*Client) GetFinding

func (*Client) GetGCPDataSource

func (*Client) GetOsint

func (*Client) GetPendFinding

func (*Client) GetPolicy

func (*Client) GetRecommend

func (*Client) GetReportFinding

func (*Client) GetResource

func (*Client) GetRole

func (*Client) GetUser

func (*Client) InvokeScan

func (c *Client) InvokeScan(ctx context.Context, req *proto.InvokeScanRequest) error

func (*Client) InvokeScanCodeScan

func (c *Client) InvokeScanCodeScan(ctx context.Context, req *proto.InvokeScanCodeScanRequest) error

func (*Client) InvokeScanDependency

func (c *Client) InvokeScanDependency(ctx context.Context, req *proto.InvokeScanDependencyRequest) error

func (*Client) InvokeScanDiagnosis

func (c *Client) InvokeScanDiagnosis(ctx context.Context, req *proto.InvokeScanRequest) error

func (*Client) InvokeScanGCP

func (c *Client) InvokeScanGCP(ctx context.Context, req *proto.InvokeScanGCPRequest) error

func (*Client) InvokeScanGitleaks

func (c *Client) InvokeScanGitleaks(ctx context.Context, req *proto.InvokeScanGitleaksRequest) error

func (*Client) InvokeScanOsint

func (c *Client) InvokeScanOsint(ctx context.Context, req *proto.InvokeScanRequest) error

func (*Client) ListAWS

func (*Client) ListAccessToken

func (*Client) ListAlert

func (*Client) ListAlertCondRule

func (*Client) ListAlertHistory

func (*Client) ListAlertRule

func (*Client) ListCodeDataSource

func (c *Client) ListCodeDataSource(ctx context.Context, req *proto.ListDataSourceRequest) (*proto.ListDataSourceResponse, error)

func (*Client) ListDataSource

func (*Client) ListFinding

func (*Client) ListFindingTag

func (*Client) ListGCP

func (*Client) ListGitHubSetting

func (*Client) ListGitleaksCache

func (*Client) ListNotification

func (*Client) ListOsint

func (*Client) ListPolicy

func (*Client) ListProject

func (*Client) ListResource

func (*Client) ListResourceTag

func (*Client) ListRole

func (*Client) ListUser

func (*Client) ListUserReserved

func (*Client) ListWpscanSetting

func (*Client) NewRequest

func (c *Client) NewRequest(ctx context.Context, method, path string, param interface{}) (*http.Request, error)

func (*Client) PutAWS

func (*Client) PutAlert

func (*Client) PutAlertCondRule

func (*Client) PutAlertCondition

func (*Client) PutAlertFirstViewedAt

func (c *Client) PutAlertFirstViewedAt(ctx context.Context, req *proto.PutAlertFirstViewedAtRequest) error

func (*Client) PutAlertRule

func (*Client) PutFinding

func (*Client) PutFindingSetting

func (*Client) PutGCP

func (*Client) PutGitHubSetting

func (*Client) PutNotification

func (*Client) PutOsint

func (*Client) PutPendFinding

func (*Client) PutPolicy

func (*Client) PutPortscanTarget

func (*Client) PutRecommend

func (*Client) PutResource

func (*Client) PutRole

func (*Client) PutUserReserved

func (*Client) PutWpscanSetting

func (*Client) Signin

func (c *Client) Signin(ctx context.Context) (*SigninResponse, error)

func (*Client) TagFinding

func (*Client) TagProject

func (*Client) TestNotification

func (c *Client) TestNotification(ctx context.Context, req *proto.TestNotificationRequest) error

func (*Client) UntagFinding

func (c *Client) UntagFinding(ctx context.Context, req *proto.UntagFindingRequest) error

func (*Client) UntagProject

func (c *Client) UntagProject(ctx context.Context, req *proto.UntagProjectRequest) error

func (*Client) UpdateProject

type ClientOptions

type ClientOptions func(*Client)

func WithAPIEndpoint

func WithAPIEndpoint(endpoint string) ClientOptions

type HTTPClient

type HTTPClient interface {
	Do(*http.Request) (*http.Response, error)
}

type SigninResponse

type SigninResponse struct {
	ProjectID     uint32 `json:"project_id,omitempty"`
	AccessTokenID uint32 `json:"access_token_id,omitempty"`
}

Directories

Path Synopsis
examples
aws
iam
tools

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL