@accounta/dsh-bounty-hunt 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +243 -0
- package/dsh-bundle.yml +51 -0
- package/package.json +38 -0
package/README.md
ADDED
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
# DSH Bounty Hunt Plugin
|
|
2
|
+
|
|
3
|
+
DeepSeek Harness plugin for automated bug bounty hunting workflows.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **Target Management**: Add, track, and scope targets across multiple bounty programs
|
|
8
|
+
- **Finding Tracking**: Log, verify, and organize security findings
|
|
9
|
+
- **IDOR Testing**: Dedicated tools for testing insecure direct object reference vulnerabilities
|
|
10
|
+
- **Report Generation**: Automatic markdown/JSON/HTML report generation
|
|
11
|
+
- **Agent Presets**: Pre-configured agents for reconnaissance, exploitation, and reporting
|
|
12
|
+
|
|
13
|
+
## Installation
|
|
14
|
+
|
|
15
|
+
### Quick Install (Recommended)
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
cd ~/bounty-lab/dsh-bounty-hunt
|
|
19
|
+
./install.sh
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
This automatically registers the plugin in your DSH Web profile.
|
|
23
|
+
|
|
24
|
+
### Manual Install
|
|
25
|
+
|
|
26
|
+
1. **Get the absolute path:**
|
|
27
|
+
```bash
|
|
28
|
+
echo ~/bounty-lab/dsh-bounty-hunt
|
|
29
|
+
# Output: /home/edslawn/bounty-lab/dsh-bounty-hunt (or your actual path)
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
2. **Edit `~/.dsh/profiles/web/cordis.patch.yml`:**
|
|
33
|
+
```yaml
|
|
34
|
+
patch:
|
|
35
|
+
- insert:
|
|
36
|
+
- id: bounty-hunt-plugin
|
|
37
|
+
name: /home/edslawn/bounty-lab/dsh-bounty-hunt/src/index.ts
|
|
38
|
+
config:
|
|
39
|
+
enabled: true
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
3. **Start DSH:**
|
|
43
|
+
```bash
|
|
44
|
+
dsh web
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Verify Installation
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
dsh bounty/list-targets
|
|
51
|
+
# Should return: { ok: true, targets: [] }
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Usage
|
|
55
|
+
|
|
56
|
+
### Add a Target
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
dsh bounty/add-target \
|
|
60
|
+
--name "Acme Inc" \
|
|
61
|
+
--domain "acme.com" \
|
|
62
|
+
--program "HackerOne" \
|
|
63
|
+
--scope '["*.acme.com","api.acme.com"]' \
|
|
64
|
+
--outOfScope '["test.acme.com"]'
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Test IDOR Vulnerability
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
dsh bounty/test-idor \
|
|
71
|
+
--endpoint "https://api.target.com/submissions/\{id\}" \
|
|
72
|
+
--idParam "id" \
|
|
73
|
+
--authHeader "Bearer YOUR_TOKEN" \
|
|
74
|
+
--testIds '["submission_1","submission_2","submission_3"]'
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Log a Finding
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
dsh bounty/add-finding \
|
|
81
|
+
--targetName "Acme Inc" \
|
|
82
|
+
--severity "critical" \
|
|
83
|
+
--title "SQL Injection in Login Form" \
|
|
84
|
+
--description "The username field is vulnerable to SQL injection" \
|
|
85
|
+
--endpoint "https://acme.com/login" \
|
|
86
|
+
--proof "' OR '1'='1"
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Generate Report
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
dsh bounty/generate-report \
|
|
93
|
+
--targetName "Acme Inc" \
|
|
94
|
+
--format "markdown"
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Agent Presets
|
|
98
|
+
|
|
99
|
+
### Recon Agent
|
|
100
|
+
|
|
101
|
+
Specialized for target enumeration and attack surface discovery:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
dsh --preset recon-agent
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Capabilities:
|
|
108
|
+
- Add and manage targets
|
|
109
|
+
- Verify scope compliance
|
|
110
|
+
- List active targets
|
|
111
|
+
|
|
112
|
+
### Exploit Agent
|
|
113
|
+
|
|
114
|
+
Specialized for vulnerability discovery and testing:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
dsh --preset exploit-agent
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Capabilities:
|
|
121
|
+
- Test IDOR vulnerabilities
|
|
122
|
+
- Log findings with proof
|
|
123
|
+
- Verify reproducibility
|
|
124
|
+
|
|
125
|
+
### Reporting Agent
|
|
126
|
+
|
|
127
|
+
Specialized for documentation and submission:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
dsh --preset reporting-agent
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Capabilities:
|
|
134
|
+
- List findings by severity
|
|
135
|
+
- Generate formatted reports
|
|
136
|
+
- Manage submission status
|
|
137
|
+
|
|
138
|
+
## Workflow Example
|
|
139
|
+
|
|
140
|
+
### 1. Start with Recon
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
dsh --preset recon-agent
|
|
144
|
+
# Claude> Add target Acme Inc...
|
|
145
|
+
# Claude> Verify scope for api.acme.com...
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### 2. Switch to Exploitation
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
dsh --preset exploit-agent
|
|
152
|
+
# Claude> Test IDOR on /api/submissions/{id}...
|
|
153
|
+
# Claude> Log critical finding...
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### 3. Generate Report
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
dsh --preset reporting-agent
|
|
160
|
+
# Claude> Generate markdown report for Acme Inc...
|
|
161
|
+
# Claude> Summarize findings by severity...
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
## Integration with Bounty-Lab
|
|
165
|
+
|
|
166
|
+
The plugin integrates with your existing bounty-lab infrastructure:
|
|
167
|
+
|
|
168
|
+
```
|
|
169
|
+
~/bounty-lab/
|
|
170
|
+
├── dsh-bounty-hunt/ # This plugin
|
|
171
|
+
├── methodology/ # Your existing methodology docs
|
|
172
|
+
├── targets/ # Your target research
|
|
173
|
+
└── nuclei-templates/ # Your custom templates
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
Future enhancements can bridge:
|
|
177
|
+
- Nuclei template execution
|
|
178
|
+
- Existing exploit PoCs
|
|
179
|
+
- Historical finding data
|
|
180
|
+
- Methodologies and playbooks
|
|
181
|
+
|
|
182
|
+
## Architecture
|
|
183
|
+
|
|
184
|
+
The plugin uses Cordis' service model:
|
|
185
|
+
|
|
186
|
+
```typescript
|
|
187
|
+
interface BountyHuntService {
|
|
188
|
+
targets: BountyTarget[]
|
|
189
|
+
findings: Finding[]
|
|
190
|
+
addTarget(target: BountyTarget): void
|
|
191
|
+
addFinding(finding: Finding): void
|
|
192
|
+
verifyFinding(id: string): void
|
|
193
|
+
}
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
All state is maintained in memory during the session. For persistence, hook into `ctx.storage` to save findings to SQLite.
|
|
197
|
+
|
|
198
|
+
## Extending the Plugin
|
|
199
|
+
|
|
200
|
+
### Add a Custom Tool
|
|
201
|
+
|
|
202
|
+
```typescript
|
|
203
|
+
ctx.tools.define('bounty/my-custom-scan', {
|
|
204
|
+
description: 'My custom vulnerability scanner',
|
|
205
|
+
parameters: { /* ... */ },
|
|
206
|
+
}, async (args) => {
|
|
207
|
+
// Implementation
|
|
208
|
+
return { ok: true, result: 'data' }
|
|
209
|
+
})
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### Add an Agent Preset
|
|
213
|
+
|
|
214
|
+
Edit `dsh-bundle.yml` and add to `preset-agents`:
|
|
215
|
+
|
|
216
|
+
```yaml
|
|
217
|
+
preset-agents:
|
|
218
|
+
my-agent:
|
|
219
|
+
description: Custom hunting agent
|
|
220
|
+
tools: [bounty/...]
|
|
221
|
+
systemPrompt: >
|
|
222
|
+
Custom instruction...
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
## Known Limitations
|
|
226
|
+
|
|
227
|
+
- Current IDOR testing is a framework; actual HTTP testing requires integration with curl/fetch
|
|
228
|
+
- Findings stored in memory only (not persisted between sessions)
|
|
229
|
+
- No platform API integration yet (HackerOne, Intigriti, Bugcrowd)
|
|
230
|
+
|
|
231
|
+
## Roadmap
|
|
232
|
+
|
|
233
|
+
- [ ] HTTP client integration (real IDOR testing)
|
|
234
|
+
- [ ] SQLite persistence for findings
|
|
235
|
+
- [ ] Platform API connectors
|
|
236
|
+
- [ ] Nuclei integration
|
|
237
|
+
- [ ] Multi-target orchestration
|
|
238
|
+
- [ ] Automated verification checks
|
|
239
|
+
- [ ] Slack/Discord reporting
|
|
240
|
+
|
|
241
|
+
## Contributing
|
|
242
|
+
|
|
243
|
+
Open an issue or PR to improve the plugin!
|
package/dsh-bundle.yml
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# DSH Bounty Hunt Bundle
|
|
2
|
+
# Registers bounty hunting tools and agents
|
|
3
|
+
|
|
4
|
+
rows:
|
|
5
|
+
- id: bounty-hunt-core
|
|
6
|
+
package: '@edslawn/dsh-bounty-hunt'
|
|
7
|
+
config:
|
|
8
|
+
description: Core bug bounty hunting plugin
|
|
9
|
+
features:
|
|
10
|
+
- target-management
|
|
11
|
+
- idor-testing
|
|
12
|
+
- finding-tracking
|
|
13
|
+
- report-generation
|
|
14
|
+
|
|
15
|
+
preset-agents:
|
|
16
|
+
recon-agent:
|
|
17
|
+
description: Reconnaissance agent for target enumeration
|
|
18
|
+
tools:
|
|
19
|
+
- bounty/add-target
|
|
20
|
+
- bounty/list-targets
|
|
21
|
+
- bounty/scope-verify
|
|
22
|
+
systemPrompt: >
|
|
23
|
+
You are a reconnaissance agent for bug bounty hunting.
|
|
24
|
+
Your role is to help identify and verify attack surface for targets.
|
|
25
|
+
Always verify scope before testing any endpoint.
|
|
26
|
+
Focus on finding new subdomains, APIs, and services.
|
|
27
|
+
|
|
28
|
+
exploit-agent:
|
|
29
|
+
description: Exploitation and vulnerability testing agent
|
|
30
|
+
tools:
|
|
31
|
+
- bounty/test-idor
|
|
32
|
+
- bounty/add-finding
|
|
33
|
+
- bounty/verify-finding
|
|
34
|
+
systemPrompt: >
|
|
35
|
+
You are an exploitation agent for bug bounty hunting.
|
|
36
|
+
Your role is to identify and test potential vulnerabilities.
|
|
37
|
+
Always follow responsible disclosure practices.
|
|
38
|
+
Focus on high-impact findings (RCE, auth bypass, data exposure).
|
|
39
|
+
Document clear reproduction steps for every finding.
|
|
40
|
+
|
|
41
|
+
reporting-agent:
|
|
42
|
+
description: Report generation and finding management
|
|
43
|
+
tools:
|
|
44
|
+
- bounty/list-findings
|
|
45
|
+
- bounty/generate-report
|
|
46
|
+
- bounty/add-finding
|
|
47
|
+
systemPrompt: >
|
|
48
|
+
You are a reporting agent for bug bounty hunting.
|
|
49
|
+
Your role is to organize findings, generate reports, and track submission status.
|
|
50
|
+
Prioritize findings by severity and impact.
|
|
51
|
+
Format clear, actionable reports for bounty programs.
|
package/package.json
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@accounta/dsh-bounty-hunt",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "DeepSeek Harness plugin for bug bounty hunting automation",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./lib/index.js",
|
|
7
|
+
"types": "./lib/index.d.ts",
|
|
8
|
+
"files": [
|
|
9
|
+
"lib",
|
|
10
|
+
"dsh-bundle.yml"
|
|
11
|
+
],
|
|
12
|
+
"scripts": {
|
|
13
|
+
"build": "tsc",
|
|
14
|
+
"watch": "tsc --watch",
|
|
15
|
+
"test": "vitest"
|
|
16
|
+
},
|
|
17
|
+
"keywords": [
|
|
18
|
+
"bug-bounty",
|
|
19
|
+
"security",
|
|
20
|
+
"penetration-testing",
|
|
21
|
+
"recon",
|
|
22
|
+
"exploit"
|
|
23
|
+
],
|
|
24
|
+
"author": "edslawn",
|
|
25
|
+
"license": "MIT",
|
|
26
|
+
"peerDependencies": {
|
|
27
|
+
"@deepseek-ai/dsh": "*"
|
|
28
|
+
},
|
|
29
|
+
"devDependencies": {
|
|
30
|
+
"@deepseek-ai/dsh": "workspace:*",
|
|
31
|
+
"@types/node": "^22",
|
|
32
|
+
"typescript": "^5",
|
|
33
|
+
"vitest": "^2"
|
|
34
|
+
},
|
|
35
|
+
"dsh": {
|
|
36
|
+
"bundle": "dsh-bundle.yml"
|
|
37
|
+
}
|
|
38
|
+
}
|