Keine externen Abhängigkeiten
The core SDK relies only on the Go standard library. It adds no third-party packages or licenses to your binaries and container images.
Verbinden Sie Ihre Go-Dienste, Kubernetes-Controller und Bereitstellungspipelines direkt mit den Sicherheitsstatus-APIs von BlackShield.
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.
Fügen Sie das Modul zu Ihrem Go-Projekt hinzu:
go get github.com/blackshield-security/blackshield-goInitialisieren Sie den Client mit Ihrem Mandanten-API-Schlüssel und rufen Sie aktive Sicherheitsergebnisse ab:
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)
}
}Überprüfen Sie vor der Heraufstufung oder Veröffentlichung, ob ein Artefakt Ihren Sicherheitsrichtlinien entspricht:
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)
}