Ferramentas para desenvolvedores

Integração Go SDK

Conecte seus serviços Go, controladores Kubernetes e pipelines de implantação diretamente às APIs de postura de segurança do BlackShield.

Zero dependências externas

The core SDK relies only on the Go standard library. It adds no third-party packages or licenses to your binaries and container images.

Nova tentativa e espera integradas

Transient network hiccups, 5xx gateway errors, and 429 rate limits retry automatically with exponential backoff and jitter.

Streaming e paginação digitada

Process thousands of findings or telemetry events without memory spikes using streaming NDJSON readers and typed cursor paginators.

Instalação

Adicione o módulo ao seu projeto Go:

go get github.com/blackshield-security/blackshield-go

Início rápido: resultados da consulta

Inicialize o cliente com sua chave de API de locatário e busque descobertas de segurança ativas:

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)
    }
}

Avaliação da política de implantação

Verifique se um artefato atende às suas políticas de segurança antes da promoção ou lançamento:

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)
}

Guias relacionados

Integração Go SDK