Automated summary
This skill guides the hardening of Bright Data credentials (Customer ID, zone passwords, API tokens) and access control for scraping zones.
Strengths
- Provides a clear credential inventory with scope, rotation cadence, and recommended storage for each item
- Recommends per-environment zone isolation (dev/staging/prod) so test credentials cannot burn production proxy bandwidth
- Includes concrete rotation commands for Vercel and AWS Secrets Manager plus a pre-commit hook that blocks leaked credentials
- Covers validation of inbound webhooks through the Authorization header
Limitations
- Bright Data-specific: the patterns need adaptation before reuse with other vendors
- Webhook origin validation is only partial (known-IP list deferred to docs, no signature verification)
- Assumes familiarity with environment variables and the Bright Data control panel
Use it when setting up or auditing the security configuration of a project built on Bright Data, especially for secret storage and token rotation.
Skip it if your project does not use Bright Data, or if you need vendor-agnostic security guidance.
Security analysis
CautionThe skill contains legitimate security guidance for Bright Data credentials, including environment variable management, zone isolation, rotation, and webhook validation. It uses shell commands and network calls to official Bright Data endpoints for testing and rotation, which are legitimate but involve powerful tooling beyond the declared allowed-tools. No destructive, exfiltrating, or obfuscated actions are present.
- •Uses shell commands (curl, aws cli, vercel cli, bash scripts) for credential rotation and secret scanning, but declared allowed-tools only include Read, Write, Grep; this mismatch may cause execution failures if the agent tries to run them.
- •Pre-commit hook script writes to .git/hooks/pre-commit, which modifies repository configuration; benign but should be reviewed by user.
Examples
Audite ma configuration Bright Data dans ce repo : vérifie que les mots de passe de zone et le jeton API sont bien en variables d'environnement, que .env est ignoré par git, et dis-moi ce qu'il manque.Aide-moi à mettre en place des zones Bright Data séparées pour dev, staging et prod, avec un fichier config/brightdata.ts qui sélectionne la bonne zone selon NODE_ENV.Guide-moi pas à pas pour rotationner mon BRIGHTDATA_API_TOKEN sur Vercel puis sur AWS Secrets Manager, avec la commande curl de test avant de révoquer l'ancien jeton.name: brightdata-security-basics description: | Apply Bright Data security best practices for secrets and access control. Use when securing API keys, implementing least privilege access, or auditing Bright Data security configuration. Trigger with phrases like "brightdata security", "brightdata secrets", "secure brightdata", "brightdata API key security". allowed-tools: Read, Write, Grep version: 1.0.0 license: MIT author: Jeremy Longshore jeremy@intentsolutions.io tags: [saas, scraping, data, brightdata] compatible-with: claude-code
Bright Data Security Basics
Overview
Security best practices for Bright Data zone credentials, API tokens, and webhook delivery. Bright Data credentials include Customer ID, zone passwords, and API tokens — all must be protected.
Prerequisites
- Bright Data zones configured
- Understanding of environment variables
- Access to Bright Data control panel
Instructions
Step 1: Credential Inventory
| Credential | Scope | Rotation | Storage |
|-----------|-------|----------|---------|
| Customer ID | Account-wide | Never changes | Can be in config |
| Zone Password | Per-zone | Rotate quarterly | Secrets vault only |
| API Token | Account-wide | Rotate quarterly | Secrets vault only |
| SSL Cert (brd-ca.crt) | Public | Auto-renewed | Can be in repo |
Step 2: Environment Variable Security
# .env (NEVER commit)
BRIGHTDATA_CUSTOMER_ID=c_abc123
BRIGHTDATA_ZONE=web_unlocker1
BRIGHTDATA_ZONE_PASSWORD=z_pass_xyz
BRIGHTDATA_API_TOKEN=abc123def456
# .gitignore
.env
.env.local
.env.*.local
# .env.example (safe to commit — no real values)
BRIGHTDATA_CUSTOMER_ID=
BRIGHTDATA_ZONE=
BRIGHTDATA_ZONE_PASSWORD=
BRIGHTDATA_API_TOKEN=
Step 3: Zone Isolation by Environment
Create separate zones per environment so staging credentials cannot access production proxy bandwidth:
// config/brightdata.ts
const ZONE_MAP = {
development: 'web_unlocker_dev',
staging: 'web_unlocker_staging',
production: 'web_unlocker_prod',
} as const;
export function getZone(): string {
const env = process.env.NODE_ENV || 'development';
return process.env.BRIGHTDATA_ZONE || ZONE_MAP[env] || ZONE_MAP.development;
}
Step 4: Credential Rotation
# 1. Create new API token in Bright Data CP > Settings > API tokens
# 2. Update secrets in your deployment platform
# Vercel
vercel env rm BRIGHTDATA_API_TOKEN production
vercel env add BRIGHTDATA_API_TOKEN production
# AWS
aws secretsmanager update-secret --secret-id brightdata/api-token --secret-string "new_token"
# 3. Test new credentials
curl -H "Authorization: Bearer ${NEW_TOKEN}" \
https://api.brightdata.com/zone/get_active_zones
# 4. Revoke old token in Bright Data CP
Step 5: Git Secret Scanning
# Pre-commit hook to catch leaked credentials
# .git/hooks/pre-commit
#!/bin/bash
if git diff --cached | grep -iE '(BRIGHTDATA_ZONE_PASSWORD|BRIGHTDATA_API_TOKEN)=.{5,}'; then
echo "ERROR: Bright Data credentials detected in staged changes"
exit 1
fi
Step 6: Webhook Delivery Security
When using webhook delivery for Web Scraper API results:
// Validate webhook came from Bright Data
function validateWebhookSource(req: Request): boolean {
// Bright Data sends from known IPs — check docs for current list
// Also validate the Authorization header you configured
const authHeader = req.headers.get('Authorization');
return authHeader === `Bearer ${process.env.BRIGHTDATA_WEBHOOK_SECRET}`;
}
Security Checklist
- [ ] Zone passwords in environment variables, never hardcoded
- [ ]
.envfiles in.gitignore - [ ] Separate zones per environment (dev/staging/prod)
- [ ] API tokens rotated quarterly
- [ ] Pre-commit hook blocks credential leaks
- [ ] Webhook endpoints validate Authorization header
- [ ] HTTPS-only for all proxy connections
- [ ]
brd-ca.crtdownloaded (public cert, safe in repo)
Error Handling
| Issue | Detection | Mitigation | |-------|-----------|------------| | Leaked zone password | Git scanning, log monitoring | Rotate immediately in CP | | Leaked API token | Secret scanning | Revoke in CP, create new token | | Unauthorized zone usage | Billing alerts | Check zone activity logs | | Proxy abuse | Unusual bandwidth spikes | Review zone usage in CP |
Resources
Next Steps
For production deployment, see brightdata-prod-checklist.
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/bright-data-security-basics-mrwakclp/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/bright-data-security-basics-mrwakclp' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/bright-data-security-basics-mrwakclp/download' --output '.skill-downloads/bright-data-security-basics-mrwakclp/SKILL.md.part' && mv '.skill-downloads/bright-data-security-basics-mrwakclp/SKILL.md.part' '.skill-downloads/bright-data-security-basics-mrwakclp/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
Tools declared by the author (check availability in your agent): Read, Write, Grep
Original excerpt: Prerequisites
- Bright Data zones configured
- Understanding of environment variables
- Access to Bright Data control panel
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/bright-data-security-basics-mrwakclp/SKILL.md' && test -s '.skill-downloads/bright-data-security-basics-mrwakclp/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/brightdata-security-basics' && cp -R '.skill-downloads/bright-data-security-basics-mrwakclp' '.claude/skills/brightdata-security-basics'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/bright-data-security-basics-mrwakclp'openskills read 'bright-data-security-basics-mrwakclp'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/bright-data-security-basics-mrwakclp/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
DeFi AMM Security
Security
Security checklist for Solidity AMM contracts, liquidity pools, and swap flows. Covers reentrancy, donation attacks, oracle manipulation, slippage, and integer math.
Semgrep Rule Creator
Security
Creates custom Semgrep rules for detecting security vulnerabilities, bug patterns, and code patterns. Includes test-first methodology, taint mode support, and validation steps. Helps when building targeted static analysis detections.
Dev Toolbar Review Guide
Security
Safety rules for the dev toolbar, PostHog client, and feature flags. Use when reviewing changes to dev-tools and related files, covering environment guards, override cookies, and SSE stream safety.