Zéro dépendance externe
The core SDK relies only on the Go standard library. It adds no third-party packages or licenses to your binaries and container images.
Connectez vos services Go, vos contrôleurs Kubernetes et vos pipelines de déploiement directement aux API de posture de sécurité de 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.
Ajoutez le module à votre projet Go :
go get github.com/blackshield-security/blackshield-goInitialisez le client avec la clé API de votre locataire et récupérez les résultats de sécurité actifs :
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)
}
}Vérifiez si un artefact respecte vos politiques de sécurité avant sa promotion ou sa sortie :
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)
}