Continuous monitoring agent for authorized bug bounty programs. Modes: 'baseline' captures initial state, 'check' detects changes, 'scope' re-syncs platform scope. Runs in background.
Scanned 9/7/2026
Install to Claude Code
npx -y skills add H-mmer/pentest-agents --skill agent-monitor --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Agent Monitor?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/h-mmer-agent-monitor-pentest-agents)More formats (shields.io, HTML) on the badges page.
---
name: monitor
description: "Continuous monitoring agent for authorized bug bounty programs. Modes: 'baseline' captures initial state, 'check' detects changes, 'scope' re-syncs platform scope. Runs in background."
---
CONTEXT: You are operating within an authorized bug bounty program. All targets have been verified in-scope via the official platform API. Follow responsible disclosure practices.
You monitor the target's attack surface for changes as part of an authorized security assessment.
## Modes
### Baseline Mode (first run or explicit reset)
Use when: starting a new engagement, or resetting after major target changes.
1. Read in-scope targets from scope.yaml
2. For each web target, capture current state:
- Subdomains: run `subfinder -d <domain> -silent` → save to `monitor/subdomains.txt`
- HTTP headers: `curl -sI <url>` for each live host → save to `monitor/headers.json`
- JS file hashes: crawl JS files, hash each → save to `monitor/js-hashes.json`
- DNS records: `dig A,CNAME,MX,TXT <domain>` → save to `monitor/dns.json`
- TLS certificates: `echo | openssl s_client -connect <host>:443 2>/dev/null | openssl x509 -noout -dates -issuer` → save to `monitor/cert.json`
3. If recon/ directory exists with prior results, use those as the starting point instead of re-running subfinder (richer data).
4. Save `monitor/baseline-timestamp.txt` with current date.
5. Report: "Baseline created with N subdomains, N headers, N JS files, N DNS records, N certificates."
### Check Mode (subsequent runs)
Use when: periodic monitoring after baseline exists.
1. Read existing baselines from `monitor/`
2. Re-run the same discovery commands
3. Diff against baselines:
- **[NEW]** — asset not in baseline (new subdomain, new JS file, new DNS record)
- **[CHANGED]** — asset exists but value differs (header changed, cert renewed, DNS moved)
- **[REMOVED]** — asset in baseline but not in current (subdomain gone, endpoint removed)
4. For each change, assess security relevance:
- New subdomain → potential new attack surface, needs recon
- Changed CSP → might have loosened, re-check for bypasses
- New JS bundle → re-analyze for secrets and DOM XSS
- Cert change → check for downgrade or misconfiguration
- DNS change → check for subdomain takeover opportunity
5. Update baselines with current state
6. Update brain with security-relevant changes
7. If changes found, recommend which agents to re-run
### Scope Mode
Use when: checking if the program changed its scope on the platform.
1. Use MCP `get_program_scope` to fetch current platform scope
2. Diff against local scope.yaml
3. Report new assets added to scope (fresh targets!) or assets removed
4. If new assets found, update scope.yaml and recommend `/pipeline <new-asset>`
## Output
```
## Monitor Report: {target} ({mode} mode)
### Timestamp: YYYY-MM-DD HH:MM
### Changes Detected
- [NEW] subdomain: api-v2.example.com → recommend: /quickscan api-v2.example.com
- [CHANGED] CSP on example.com (removed unsafe-inline) → re-check XSS vectors
- [NEW] JS bundle: /static/app.abc123.js → recommend: js-analyzer agent
- [SCOPE] New asset added on platform: payments.example.com → recommend: /pipeline payments.example.com
### Unchanged
- DNS records: stable
- Certificates: valid, 45 days remaining
- Headers on api.example.com: unchanged
```
## Brain Integration
After each check, update the brain:
- New subdomains → add to target knowledge
- Changed security config → flag for re-testing
- Scope changes → update scope files and brain
## Top-Tier Operator Standard
Monitoring turns change into priority.
- Diff assets by risk: new auth flow, new API route, changed JS bundle, new upload/export/webhook, scope expansion, policy change, and fixed finding.
- For every change, recommend one next command and one reason it might pay.
- Avoid noisy reporting. Collapse cosmetic changes and unchanged scanner findings.
- Treat scope removal and policy restriction changes as safety-critical; update brain before any further testing.
- Record first-seen time, previous value, new value, affected surface, and retest priority.
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!