Automated data collection from structured sources: CVE databases, threat intelligence feeds, exploit databases, and security advisories. Transform unstructured web data into structured knowledge units.
Scanned 9/9/2026
Install to Claude Code
npx -y skills add brucesongs/kali-claw --skill data-scraper-agent --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Data Scraper Agent?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/brucesongs-data-scraper-agent)More formats (shields.io, HTML) on the badges page.
---
name: data-scraper-agent
description: "Automated data collection from structured sources: CVE databases, threat intelligence feeds, exploit databases, and security advisories. Transform unstructured web data into structured knowledge units."
origin: openclaw
version: "0.2.0.2"
compatibility:
- openclaw
- claude-code
- cursor
- windsurf
allowed-tools:
- Bash
- Read
- Write
- Edit
- WebSearch
- WebFetch
- Agent
defense_triple_required: false
metadata:
domain: research
tool_count: 0
guide_count: 5
mitre: "N/A (non-attack meta skill)"
last_reviewed: "2026-07-26"
---
# Data Scraper Agent
## Summary
Transform unstructured web data into structured knowledge units.
**Domain**: research
## Skill Identity
| Attribute | Value |
|-----------|-------|
| Domain | Intelligence Gathering |
| Skill ID | data-scraper-agent |
| Version | 1.0.0 |
| Hacker Laws | Law 3 (Intelligence Over Force), Law 9 (Systematic Over Random) |
| Related Skills | deep-research, osint, knowledge-ops |
## Purpose
Automated data collection from structured sources: CVE databases, threat intelligence feeds, exploit databases, and security advisories. Transform unstructured web data into structured knowledge units.
## Core Capabilities
1. **CVE Database Scraping**: NVD, MITRE, vendor-specific databases
2. **Exploit Database Collection**: Exploit-DB, GitHub security advisories
3. **Threat Intel Feeds**: Parse and filter IOC feeds
4. **Structured Data Extraction**: JSON/XML APIs, HTML scraping
## Use Cases
- **Vulnerability Research**: Collect CVEs for specific products
- **Exploit Availability**: Check if public exploits exist for CVEs
- **Threat Intelligence**: Aggregate IOCs for a campaign
- **Vendor Advisories**: Monitor vendor security bulletins
## Tools
- **BeautifulSoup**: HTML parsing
- **Scrapy**: Web scraping framework
- **requests**: HTTP client
- **jq**: JSON filtering
## Scraping Strategy
- **API-first**: Prefer JSON APIs (NVD 2.0, GitHub Advisory) over HTML scraping — schemas are stable, rate limits documented, content validated.
- **Pagination discipline**: Always honor `Link: rel="next"` headers or cursor-based tokens; never scrape past published page limits.
- **Selective extraction**: Pull only the fields you need (`cve.id`, `descriptions[*].value`, `metrics.cvssMetricV31`) instead of dumping full records.
- **Incremental sync**: Track `lastModifiedDate` watermarks per source to avoid re-fetching unchanged records.
## Ethical Scraping
1. Respect `robots.txt` even when the legal status is unclear — courts treat ignored robots files as a hostile signal.
2. Add a descriptive `User-Agent` (`kali-claw-research/1.0 contact@org`) so site operators can reach you.
3. Throttle to ≤1 req/sec by default; back off exponentially on `429`/`503`.
4. Cache aggressively — `If-Modified-Since` and `ETag` cut load on both sides.
5. Avoid scraping content behind authentication unless explicitly authorized.
## Data Normalization
- Coerce all timestamps to UTC ISO 8601 before persisting.
- Map CVE severity to a canonical scale (CVSS v3.1 base score); store vendor-specific scores separately.
- Deduplicate by `(source, primary_id)` tuples — the same CVE appears in NVD, MITRE, and vendor feeds with slight schema drift.
- Preserve raw source payloads alongside normalized records for audit and reprocessing.
## Common Pitfalls
- **Brittle CSS selectors** — HTML structures change without notice; prefer semantic anchors (microdata, JSON-LD) when available.
- **Silent rate-limit bans** — some APIs degrade quietly instead of `429`; monitor response sizes and freshness.
- **Encoding bugs** — non-UTF-8 sources (older vendor advisories) corrupt downstream pipelines without explicit decoding.
- **Schema drift** — NVD 1.x vs 2.0 schemas differ subtly; pin client versions and run schema validation per ingest.
## Pipeline Architecture
- **Extractor stage**: Fetch raw content from source (HTTP GET, API call, RSS feed). Validate HTTP status and content-type before proceeding.
- **Parser stage**: Convert raw bytes to structured records using schema-specific parsers (JSON, XML, HTML table). Reject malformed records to quarantine.
- **Transformer stage**: Normalize fields (dates, severity, identifiers), deduplicate, and enrich with cross-references (link CVEs to advisories).
- **Loader stage**: Persist normalized records to knowledge store. Use upsert semantics to handle re-ingestion without duplication.
## Error Handling and Retry
- Classify errors as retryable (network timeout, HTTP 429/503) vs non-retryable (HTTP 404, invalid API key, schema mismatch).
- Implement exponential backoff with jitter for retryable errors: `sleep(base * 2^attempt + random(0, jitter))`.
- Set per-source circuit breakers: after N consecutive failures, pause that source for a cooling period and alert.
- Log all retry attempts with timestamps and error details for post-mortem analysis.
## Source-Specific Patterns
- **NVD 2.0 API**: Use `startIndex` + `resultsPerPage` pagination; filter by `cpeName` for product-specific queries; handle 503 during peak hours.
- **GitHub Advisory**: Query by ecosystem (`ecosystem=PIP`), severity, and date range; paginate with `cursor` tokens.
- **Exploit-DB**: Scrape search results with rate limiting; cross-reference CVEs via the `files_cves.csv` mapping file.
- **Vendor Advisories**: Each vendor has unique HTML structure; write dedicated parsers per vendor, share common extraction utilities.
## Performance Optimization
- Use async I/O (`aiohttp`, `asyncio`) for parallel requests across independent sources — 10x throughput over sequential fetching.
- Cache raw HTTP responses with `requests-cache` or similar; set TTL per source (NVD: 1h, vendor advisories: 24h).
- Stream large responses instead of buffering into memory — parse JSON incrementally with `ijson` for large datasets.
- Batch database writes (insert 100 records per transaction) instead of individual inserts.
## Monitoring and Alerting
- Track scrape success rate per source (target >95%); alert on sustained drops indicating source changes or IP blocks.
- Monitor ingestion lag: time between source publication and local availability. Flag sources where lag exceeds threshold.
- Log schema validation failures per source — rising failure rates signal upstream format changes.
- Emit structured metrics (source, records_fetched, records_parsed, records_loaded, errors) for dashboard visualization.
## Detection Methods
### Bot Detection (Defender Side)
- **Browser fingerprint anomalies**: Headless Chrome signatures, missing plugins, WebDriver flag.
- **Behavioral patterns**: Linear mouse paths, instant page transitions, no scrolling jitter.
- **Rate patterns**: Request rate exceeding human baseline (>10 req/sec sustained).
- **TLS fingerprint**: JA3/JA4 mismatches; curl/Python signatures vs browser.
### SIEM Detection Rules
- **Cloudflare Bot Management**: ML-based bot scoring.
- **Akamai Bot Manager**: Behavioral fingerprinting.
- **PerimeterX / DataDome**: Real-time bot detection.
## Defense Evasion Techniques
### Stealth Automation
- **puppeteer-extra-stealth**: Removes WebDriver signature.
- **undetected-chromedriver**: Patches ChromeDriver to bypass detection.
- **Real browser binaries**: Use real Chrome/Firefox (not headless); slower but stealthier.
- **Camoufox**: Firefox fork with built-in fingerprint randomization.
- **Realistic timing**: Add jitter to mouse movements; random delays between actions.
### Network Stealth
- **Residential proxies**: Bright Data, Smartproxy; mimics real user IPs.
- **Mobile carrier proxies**: 4G/5G IPs; harder to block (legitimate user pattern).
- **IP rotation**: Rotate per session; avoid single-IP burst.
- **TLS fingerprint matching**: `curl-impersonate` to match real browser JA3.
### Behavioral Mimicry
- **Human-like navigation**: Visit home page → category → product (don't deep-link directly).
- **Referrer chains**: Use search engine referrer to look organic.
- **Mouse movement**: Bezier curve mouse paths with jitter.
## Integration
- Feed scraped data to **knowledge-ops** for storage
- Use **deep-research** to contextualize findings
- Export to **article-writing** for reporting
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!