cloudosint

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 20, 2026 License: MIT Imports: 14 Imported by: 0

Documentation

Overview

Package cloudosint discovers exposed cloud storage resources — S3 buckets, Azure Blob containers, GCP Cloud Storage buckets and DigitalOcean Spaces — using passive DNS, HTTP probing and public cloud APIs.

Techniques:

  • DNS-based bucket enumeration (subdomain/naming patterns)
  • HTTP HEAD probes to bucket URLs (detects public read, write, no-auth)
  • GrayhatWarfare API (free, indexes open buckets)
  • Certificate transparency (delegates to certs module pattern)

All probes are PASSIVE or HTTP-only — no exploitation attempted. Findings include confidence scores, slog observability and redaction of any credentials per dicas.md §18.

Usage:

m := cloudosint.New()
findings, err := m.Run(ctx, module.Input{
    Target:  "example",           // company/brand name OR domain
    Options: map[string]string{
        "sources":          "dns,http,grayhat",
        "grayhat_key":      "<key>",
        "probe_timeout_ms": "5000",
        "max_permutations": "50",
    },
})

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BucketStatus

type BucketStatus string

BucketStatus classifies the access level of a cloud bucket.

const (
	BucketPublicRead  BucketStatus = "public_read"
	BucketPublicWrite BucketStatus = "public_write"
	BucketPrivate     BucketStatus = "private"
	BucketNotFound    BucketStatus = "not_found"
	BucketUnknown     BucketStatus = "unknown"
)

type Module

type Module struct {
	// contains filtered or unexported fields
}

Module implements module.Module for cloud storage OSINT.

func New

func New() *Module

New returns a Module with a default HTTP client.

func NewWithClient

func NewWithClient(c *http.Client) *Module

NewWithClient allows injecting a custom HTTP client (useful for tests).

func (*Module) Name

func (m *Module) Name() string

Name returns the canonical module identifier.

func (*Module) Run

func (m *Module) Run(ctx context.Context, input module.Input) ([]module.Finding, error)

Run discovers cloud storage buckets and their access status.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL