Herramientas para desarrolladores

Ir a la integración del SDK

Conecte sus servicios Go, controladores Kubernetes y canalizaciones de implementación directamente a las API de postura de seguridad de BlackShield.

Cero dependencias 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.

Reintento y retroceso integrados

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

Streaming y paginación mecanografiada

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

Instalación

Agregue el módulo a su proyecto Go:

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

Inicio rápido: resultados de la consulta

Inicialice el cliente con la clave API de su inquilino y obtenga los resultados de seguridad activos:

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

Evaluación de la política de implementación

Compruebe si un artefacto cumple con sus políticas de seguridad antes de su promoción o lanzamiento:

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

Guías relacionadas

Ir a la integración del SDK