零外部依赖
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)
}