Output Formats
Understanding s3finder's real-time output and report formats.
Real-Time Terminal Output
During scanning, results display in real-time with color-coded status. A live progress bar at the bottom shows scanning statistics:
text
____ _____ __ _ _
/ ___|___ / / _(_)_ __ __| | ___ _ __
\___ \ |_ \| |_| | '_ \ / _` |/ _ \ '__|
___) |__) | _| | | | | (_| | __/ |
|____/____/|_| |_|_| |_|\__,_|\___|_|
v1.2.4
[PUBLIC] acme-backup (objects: 1547, region: us-east-1)
https://acme-backup.s3.amazonaws.com
[PRIVATE] acme-internal (region: eu-west-1)
[████████████████░░░░░░░░░░░░░░] 55.0% [429/780] Public:1 Private:1 Err:12 145 r/s ETA:2s [22s]
Progress Bar
The live progress bar displays:
- Visual progress - Fill bar showing scan completion percentage
- Scanned count - Current/total buckets scanned
- Public/Private/Errors - Real-time discovery counts
- RPS - Current requests per second
- ETA - Estimated time remaining
- Elapsed time - Total time since scan started
Status Tags
| Tag | Color | Meaning |
|---|---|---|
[PUBLIC] | Green | Bucket is publicly readable (HTTP 200) |
[PRIVATE] | Yellow | Bucket exists but access denied (HTTP 403) |
[ERROR] | Red | Request failed (timeout, throttled) |
JSON Output Format
bash
s3finder -s acme-corp -o results.json -f json
JSON Structure
json
{
"scan_info": {
"seed": "acme-corp",
"started_at": "2024-01-15T10:30:00Z",
"completed_at": "2024-01-15T10:30:45Z",
"duration_seconds": 45,
"total_scanned": 780,
"total_found": 2,
"ai_enabled": false
},
"results": [
{
"bucket": "acme-backup",
"status": "public",
"region": "us-east-1",
"url": "https://acme-backup.s3.amazonaws.com",
"acl": "public-read",
"object_count": 1547,
"sample_objects": [
"backup-2024-01-01.tar.gz",
"config/settings.json"
]
}
]
}
JSON Fields
| Field | Type | Description |
|---|---|---|
scan_info.seed | string | Seed keyword used |
scan_info.duration_seconds | number | Scan duration |
results[].bucket | string | Bucket name |
results[].status | string | "public" or "private" |
results[].region | string | AWS region |
results[].object_count | number | Object count (public only) |
Plain Text Output
bash
s3finder -s acme-corp -o results.txt -f txt
text
s3finder Scan Report
====================
Seed: acme-corp
Date: 2024-01-15 10:30:00
Duration: 45s
Scanned: 780 | Found: 2
RESULTS
-------
[PUBLIC] acme-backup
Region: us-east-1
URL: https://acme-backup.s3.amazonaws.com
Objects: 1547
[PRIVATE] acme-internal
Region: eu-west-1
Processing Output
Using jq
bash
# List only public buckets
cat results.json | jq '.results[] | select(.status == "public") | .bucket'
# Get all bucket URLs
cat results.json | jq -r '.results[].url'
Piping
bash
# Disable colors for clean piping
s3finder -s acme --no-color | tee scan.log
Output Options
| Flag | Default | Description |
|---|---|---|
--output, -o | results.json | Output file path |
--format, -f | json | Format (json, txt) |
--no-color | false | Disable colors |
--verbose, -v | false | Show errors |
Results are written to file only after scan completes. Real-time results always display in terminal.