Zero dipendenze esterne
The core SDK relies only on the Go standard library. It adds no third-party packages or licenses to your binaries and container images.
Connetti i tuoi servizi Go, i controller Kubernetes e le pipeline di distribuzione direttamente alle API del livello di sicurezza di 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.
Aggiungi il modulo al tuo progetto Go:
go get github.com/blackshield-security/blackshield-goInizializza il client con la chiave API del tenant e recupera i risultati di sicurezza attivi:
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)
}
}Controlla se un elemento soddisfa le tue policy di sicurezza prima della promozione o del rilascio:
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)
}