外部依存性ゼロ
The core SDK relies only on the Go standard library. It adds no third-party packages or licenses to your binaries and container images.
Go サービス、Kubernetes コントローラー、展開パイプラインを BlackShield のセキュリティ体制 API に直接接続します。
The core SDK relies only on the Go standard library. It adds no third-party packages or licenses to your binaries and container images.
Transient network hiccups, 5xx gateway errors, and 429 rate limits retry automatically with exponential backoff and jitter.
Process thousands of findings or telemetry events without memory spikes using streaming NDJSON readers and typed cursor paginators.
モジュールを Go プロジェクトに追加します。
go get github.com/blackshield-security/blackshield-goテナント API キーを使用してクライアントを初期化し、アクティブなセキュリティ検出結果を取得します。
package main
import (
"context"
"fmt"
"log"
"github.com/blackshield-security/blackshield-go"
)
func main() {
client, err := blackshield.NewClient(
blackshield.WithAPIKey("bsk_live_your_api_key"),
)
if err != nil {
log.Fatalf("client error: %v", err)
}
ctx := context.Background()
page, err := client.Findings.List(ctx, blackshield.FindingsFilter{
Severity: []string{"critical", "high"},
Limit: 10,
})
if err != nil {
log.Fatalf("query failed: %v", err)
}
for _, f := range page.Items {
fmt.Printf("[%s] %s: %s\n", f.Severity, f.ID, f.Title)
}
}プロモーションまたはリリースの前に、アーティファクトがセキュリティ ポリシーを満たしているかどうかを確認します。
decision, err := client.Policies.EvaluateDeploy(ctx, blackshield.DeployEvaluationRequest{
ServiceID: "payment-service",
ArtifactURI: "123456789.dkr.ecr.us-east-1.amazonaws.com/payments:v1.2.0",
GitCommitSHA: "abcdef0123456789abcdef0123456789abcdef01",
Environment: "production",
})
if err != nil {
log.Fatalf("policy evaluation failed: %v", err)
}
if !decision.Allowed {
log.Fatalf("Release rejected: %s (Violations: %v)", decision.Reason, decision.Violations)
}