hackmyagent-core 0.2.3 → 0.3.1
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 +116 -0
- package/dist/attack/attack.test.d.ts +5 -0
- package/dist/attack/attack.test.d.ts.map +1 -0
- package/dist/attack/attack.test.js +292 -0
- package/dist/attack/attack.test.js.map +1 -0
- package/dist/attack/index.d.ts +8 -0
- package/dist/attack/index.d.ts.map +1 -0
- package/dist/attack/index.js +24 -0
- package/dist/attack/index.js.map +1 -0
- package/dist/attack/payloads/capability-abuse.d.ts +8 -0
- package/dist/attack/payloads/capability-abuse.d.ts.map +1 -0
- package/dist/attack/payloads/capability-abuse.js +199 -0
- package/dist/attack/payloads/capability-abuse.js.map +1 -0
- package/dist/attack/payloads/context-manipulation.d.ts +8 -0
- package/dist/attack/payloads/context-manipulation.d.ts.map +1 -0
- package/dist/attack/payloads/context-manipulation.js +194 -0
- package/dist/attack/payloads/context-manipulation.js.map +1 -0
- package/dist/attack/payloads/data-exfiltration.d.ts +8 -0
- package/dist/attack/payloads/data-exfiltration.d.ts.map +1 -0
- package/dist/attack/payloads/data-exfiltration.js +222 -0
- package/dist/attack/payloads/data-exfiltration.js.map +1 -0
- package/dist/attack/payloads/index.d.ts +27 -0
- package/dist/attack/payloads/index.d.ts.map +1 -0
- package/dist/attack/payloads/index.js +68 -0
- package/dist/attack/payloads/index.js.map +1 -0
- package/dist/attack/payloads/jailbreak.d.ts +8 -0
- package/dist/attack/payloads/jailbreak.d.ts.map +1 -0
- package/dist/attack/payloads/jailbreak.js +236 -0
- package/dist/attack/payloads/jailbreak.js.map +1 -0
- package/dist/attack/payloads/prompt-injection.d.ts +8 -0
- package/dist/attack/payloads/prompt-injection.d.ts.map +1 -0
- package/dist/attack/payloads/prompt-injection.js +235 -0
- package/dist/attack/payloads/prompt-injection.js.map +1 -0
- package/dist/attack/scanner.d.ts +59 -0
- package/dist/attack/scanner.d.ts.map +1 -0
- package/dist/attack/scanner.js +312 -0
- package/dist/attack/scanner.js.map +1 -0
- package/dist/attack/types.d.ts +128 -0
- package/dist/attack/types.d.ts.map +1 -0
- package/dist/attack/types.js +36 -0
- package/dist/attack/types.js.map +1 -0
- package/dist/benchmarks/index.d.ts +16 -0
- package/dist/benchmarks/index.d.ts.map +1 -0
- package/dist/benchmarks/index.js +27 -0
- package/dist/benchmarks/index.js.map +1 -0
- package/dist/benchmarks/oasb-1.d.ts +95 -0
- package/dist/benchmarks/oasb-1.d.ts.map +1 -0
- package/dist/benchmarks/oasb-1.js +623 -0
- package/dist/benchmarks/oasb-1.js.map +1 -0
- package/dist/hardening/scanner.d.ts.map +1 -1
- package/dist/hardening/scanner.js +1 -0
- package/dist/hardening/scanner.js.map +1 -1
- package/dist/hardening/security-check.d.ts +3 -0
- package/dist/hardening/security-check.d.ts.map +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -16,6 +16,8 @@ npx hackmyagent check @publisher/skill # verify a skill before installing
|
|
|
16
16
|
npx hackmyagent secure # harden your agent setup (100 checks)
|
|
17
17
|
npx hackmyagent secure --fix # auto-fix security issues
|
|
18
18
|
npx hackmyagent scan example.com # scan for exposed infrastructure
|
|
19
|
+
npx hackmyagent attack --local # red team with 55 attack payloads
|
|
20
|
+
npx hackmyagent benchmark --benchmark oasb-1 # run OASB-1 security benchmark
|
|
19
21
|
```
|
|
20
22
|
|
|
21
23
|
## Two Ways to Scan
|
|
@@ -135,6 +137,88 @@ hackmyagent scan example.com --json
|
|
|
135
137
|
|
|
136
138
|
**Scoring:** A (90-100), B (80-89), C (70-79), D (60-69), F (<60)
|
|
137
139
|
|
|
140
|
+
### `hackmyagent attack`
|
|
141
|
+
|
|
142
|
+
Red team your AI agent with adversarial security testing. 55 attack payloads across 5 categories.
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
# Local simulation (no API calls - test payloads locally)
|
|
146
|
+
hackmyagent attack --local
|
|
147
|
+
hackmyagent attack --local --system-prompt "You are a helpful assistant"
|
|
148
|
+
|
|
149
|
+
# Test an API endpoint
|
|
150
|
+
hackmyagent attack https://api.example.com/v1/chat
|
|
151
|
+
hackmyagent attack https://api.example.com --api-format anthropic
|
|
152
|
+
|
|
153
|
+
# Filter by category or intensity
|
|
154
|
+
hackmyagent attack --local --category prompt-injection
|
|
155
|
+
hackmyagent attack --local --intensity aggressive
|
|
156
|
+
|
|
157
|
+
# Output formats
|
|
158
|
+
hackmyagent attack --local -f json
|
|
159
|
+
hackmyagent attack --local -f sarif -o results.sarif
|
|
160
|
+
|
|
161
|
+
# Verbose mode (show each payload result)
|
|
162
|
+
hackmyagent attack --local --verbose
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
**Attack Categories:**
|
|
166
|
+
|
|
167
|
+
| Category | Payloads | Description |
|
|
168
|
+
|----------|----------|-------------|
|
|
169
|
+
| `prompt-injection` | 12 | Manipulate agent behavior via malicious input |
|
|
170
|
+
| `jailbreak` | 12 | Bypass safety guardrails and restrictions |
|
|
171
|
+
| `data-exfiltration` | 11 | Extract sensitive information from the agent |
|
|
172
|
+
| `capability-abuse` | 10 | Misuse agent tools and capabilities |
|
|
173
|
+
| `context-manipulation` | 10 | Poison agent context or memory |
|
|
174
|
+
|
|
175
|
+
**Intensity Levels:**
|
|
176
|
+
|
|
177
|
+
| Level | Description |
|
|
178
|
+
|-------|-------------|
|
|
179
|
+
| `passive` | Observation only, minimal risk |
|
|
180
|
+
| `active` | Standard attack payloads (default) |
|
|
181
|
+
| `aggressive` | Creative/risky payloads, full suite |
|
|
182
|
+
|
|
183
|
+
**Output Formats:**
|
|
184
|
+
- `text` - Human-readable report (default)
|
|
185
|
+
- `json` - Machine-readable JSON
|
|
186
|
+
- `sarif` - SARIF 2.1.0 for GitHub Security tab integration
|
|
187
|
+
|
|
188
|
+
**Risk Scoring:**
|
|
189
|
+
- 0-24: LOW - Minor issues, agent is reasonably secure
|
|
190
|
+
- 25-49: MEDIUM - Some vulnerabilities, review recommended
|
|
191
|
+
- 50-69: HIGH - Significant vulnerabilities, action required
|
|
192
|
+
- 70-100: CRITICAL - Severe vulnerabilities, immediate action needed
|
|
193
|
+
|
|
194
|
+
### `hackmyagent benchmark`
|
|
195
|
+
|
|
196
|
+
Run the OASB-1 (OpenA2A Security Benchmark) against your agent configuration.
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
# Run benchmark
|
|
200
|
+
hackmyagent benchmark --benchmark oasb-1
|
|
201
|
+
|
|
202
|
+
# Target specific directory
|
|
203
|
+
hackmyagent benchmark --benchmark oasb-1 ./my-project
|
|
204
|
+
|
|
205
|
+
# Output formats
|
|
206
|
+
hackmyagent benchmark --benchmark oasb-1 -f json
|
|
207
|
+
hackmyagent benchmark --benchmark oasb-1 -f sarif -o results.sarif
|
|
208
|
+
hackmyagent benchmark --benchmark oasb-1 -f html -o report.html
|
|
209
|
+
hackmyagent benchmark --benchmark oasb-1 -f asp -o profile.asp.json
|
|
210
|
+
|
|
211
|
+
# CI/CD with fail threshold
|
|
212
|
+
hackmyagent benchmark --benchmark oasb-1 --fail-below 70
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
**Output Formats:**
|
|
216
|
+
- `text` - Human-readable report (default)
|
|
217
|
+
- `json` - Machine-readable JSON
|
|
218
|
+
- `sarif` - SARIF 2.1.0 for GitHub/IDE integration
|
|
219
|
+
- `html` - Standalone HTML report
|
|
220
|
+
- `asp` - Agent Security Profile (HackMyAgent format)
|
|
221
|
+
|
|
138
222
|
### `hackmyagent secure-openclaw`
|
|
139
223
|
|
|
140
224
|
Scan OpenClaw/Moltbot installations with 34 specialized security checks and auto-remediation.
|
|
@@ -209,6 +293,38 @@ jobs:
|
|
|
209
293
|
path: security-report.json
|
|
210
294
|
```
|
|
211
295
|
|
|
296
|
+
### GitHub Actions with Attack Mode (SARIF)
|
|
297
|
+
|
|
298
|
+
```yaml
|
|
299
|
+
name: AI Agent Security
|
|
300
|
+
on: [push, pull_request]
|
|
301
|
+
|
|
302
|
+
jobs:
|
|
303
|
+
attack-scan:
|
|
304
|
+
runs-on: ubuntu-latest
|
|
305
|
+
steps:
|
|
306
|
+
- uses: actions/checkout@v4
|
|
307
|
+
- uses: actions/setup-node@v4
|
|
308
|
+
with:
|
|
309
|
+
node-version: '20'
|
|
310
|
+
- name: Run attack simulation
|
|
311
|
+
run: npx hackmyagent attack --local -f sarif -o attack-results.sarif
|
|
312
|
+
- name: Upload SARIF to GitHub Security
|
|
313
|
+
uses: github/codeql-action/upload-sarif@v3
|
|
314
|
+
with:
|
|
315
|
+
sarif_file: attack-results.sarif
|
|
316
|
+
|
|
317
|
+
benchmark:
|
|
318
|
+
runs-on: ubuntu-latest
|
|
319
|
+
steps:
|
|
320
|
+
- uses: actions/checkout@v4
|
|
321
|
+
- uses: actions/setup-node@v4
|
|
322
|
+
with:
|
|
323
|
+
node-version: '20'
|
|
324
|
+
- name: Run OASB-1 benchmark
|
|
325
|
+
run: npx hackmyagent benchmark --benchmark oasb-1 --fail-below 70
|
|
326
|
+
```
|
|
327
|
+
|
|
212
328
|
### Pre-commit Hook
|
|
213
329
|
|
|
214
330
|
```bash
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attack.test.d.ts","sourceRoot":"","sources":["../../src/attack/attack.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Attack Module Tests
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const vitest_1 = require("vitest");
|
|
7
|
+
const scanner_1 = require("./scanner");
|
|
8
|
+
const payloads_1 = require("./payloads");
|
|
9
|
+
const types_1 = require("./types");
|
|
10
|
+
(0, vitest_1.describe)('Attack Payloads', () => {
|
|
11
|
+
(0, vitest_1.describe)('payload structure', () => {
|
|
12
|
+
(0, vitest_1.it)('all payloads have required fields', () => {
|
|
13
|
+
for (const payload of payloads_1.ALL_PAYLOADS) {
|
|
14
|
+
(0, vitest_1.expect)(payload.id).toBeTruthy();
|
|
15
|
+
(0, vitest_1.expect)(payload.category).toBeTruthy();
|
|
16
|
+
(0, vitest_1.expect)(payload.name).toBeTruthy();
|
|
17
|
+
(0, vitest_1.expect)(payload.description).toBeTruthy();
|
|
18
|
+
(0, vitest_1.expect)(payload.intensity).toBeTruthy();
|
|
19
|
+
(0, vitest_1.expect)(payload.payload).toBeTruthy();
|
|
20
|
+
(0, vitest_1.expect)(payload.severity).toBeTruthy();
|
|
21
|
+
(0, vitest_1.expect)(payload.remediation).toBeTruthy();
|
|
22
|
+
(0, vitest_1.expect)(Array.isArray(payload.successIndicators)).toBe(true);
|
|
23
|
+
(0, vitest_1.expect)(Array.isArray(payload.blockedIndicators)).toBe(true);
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
(0, vitest_1.it)('all payloads have unique IDs', () => {
|
|
27
|
+
const ids = payloads_1.ALL_PAYLOADS.map(p => p.id);
|
|
28
|
+
const uniqueIds = new Set(ids);
|
|
29
|
+
(0, vitest_1.expect)(ids.length).toBe(uniqueIds.size);
|
|
30
|
+
});
|
|
31
|
+
(0, vitest_1.it)('payload IDs follow naming convention', () => {
|
|
32
|
+
const prefixes = {
|
|
33
|
+
'prompt-injection': 'PI',
|
|
34
|
+
'jailbreak': 'JB',
|
|
35
|
+
'data-exfiltration': 'DE',
|
|
36
|
+
'capability-abuse': 'CA',
|
|
37
|
+
'context-manipulation': 'CM',
|
|
38
|
+
};
|
|
39
|
+
for (const payload of payloads_1.ALL_PAYLOADS) {
|
|
40
|
+
const expectedPrefix = prefixes[payload.category];
|
|
41
|
+
(0, vitest_1.expect)(payload.id.startsWith(expectedPrefix)).toBe(true);
|
|
42
|
+
(0, vitest_1.expect)(payload.id).toMatch(/^[A-Z]{2}-\d{3}$/);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
(0, vitest_1.it)('all indicators are valid RegExp', () => {
|
|
46
|
+
for (const payload of payloads_1.ALL_PAYLOADS) {
|
|
47
|
+
for (const indicator of payload.successIndicators) {
|
|
48
|
+
(0, vitest_1.expect)(indicator).toBeInstanceOf(RegExp);
|
|
49
|
+
}
|
|
50
|
+
for (const indicator of payload.blockedIndicators) {
|
|
51
|
+
(0, vitest_1.expect)(indicator).toBeInstanceOf(RegExp);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
(0, vitest_1.describe)('PAYLOAD_STATS', () => {
|
|
57
|
+
(0, vitest_1.it)('reports correct total count', () => {
|
|
58
|
+
(0, vitest_1.expect)(payloads_1.PAYLOAD_STATS.total).toBe(payloads_1.ALL_PAYLOADS.length);
|
|
59
|
+
});
|
|
60
|
+
(0, vitest_1.it)('reports correct category counts', () => {
|
|
61
|
+
(0, vitest_1.expect)(payloads_1.PAYLOAD_STATS.byCategory['prompt-injection']).toBe(payloads_1.PROMPT_INJECTION_PAYLOADS.length);
|
|
62
|
+
(0, vitest_1.expect)(payloads_1.PAYLOAD_STATS.byCategory['jailbreak']).toBe(payloads_1.JAILBREAK_PAYLOADS.length);
|
|
63
|
+
(0, vitest_1.expect)(payloads_1.PAYLOAD_STATS.byCategory['data-exfiltration']).toBe(payloads_1.DATA_EXFILTRATION_PAYLOADS.length);
|
|
64
|
+
(0, vitest_1.expect)(payloads_1.PAYLOAD_STATS.byCategory['capability-abuse']).toBe(payloads_1.CAPABILITY_ABUSE_PAYLOADS.length);
|
|
65
|
+
(0, vitest_1.expect)(payloads_1.PAYLOAD_STATS.byCategory['context-manipulation']).toBe(payloads_1.CONTEXT_MANIPULATION_PAYLOADS.length);
|
|
66
|
+
});
|
|
67
|
+
(0, vitest_1.it)('category counts sum to total', () => {
|
|
68
|
+
const sum = Object.values(payloads_1.PAYLOAD_STATS.byCategory).reduce((a, b) => a + b, 0);
|
|
69
|
+
(0, vitest_1.expect)(sum).toBe(payloads_1.PAYLOAD_STATS.total);
|
|
70
|
+
});
|
|
71
|
+
(0, vitest_1.it)('intensity counts sum to total', () => {
|
|
72
|
+
const sum = Object.values(payloads_1.PAYLOAD_STATS.byIntensity).reduce((a, b) => a + b, 0);
|
|
73
|
+
(0, vitest_1.expect)(sum).toBe(payloads_1.PAYLOAD_STATS.total);
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
(0, vitest_1.describe)('getPayloadsByCategory', () => {
|
|
77
|
+
(0, vitest_1.it)('returns only payloads of specified category', () => {
|
|
78
|
+
const categories = [
|
|
79
|
+
'prompt-injection',
|
|
80
|
+
'jailbreak',
|
|
81
|
+
'data-exfiltration',
|
|
82
|
+
'capability-abuse',
|
|
83
|
+
'context-manipulation',
|
|
84
|
+
];
|
|
85
|
+
for (const category of categories) {
|
|
86
|
+
const payloads = (0, payloads_1.getPayloadsByCategory)(category);
|
|
87
|
+
(0, vitest_1.expect)(payloads.length).toBeGreaterThan(0);
|
|
88
|
+
for (const payload of payloads) {
|
|
89
|
+
(0, vitest_1.expect)(payload.category).toBe(category);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
(0, vitest_1.describe)('getPayloadsByIntensity', () => {
|
|
95
|
+
(0, vitest_1.it)('passive returns only passive payloads', () => {
|
|
96
|
+
const payloads = (0, payloads_1.getPayloadsByIntensity)('passive');
|
|
97
|
+
for (const payload of payloads) {
|
|
98
|
+
(0, vitest_1.expect)(payload.intensity).toBe('passive');
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
(0, vitest_1.it)('active returns passive and active payloads', () => {
|
|
102
|
+
const payloads = (0, payloads_1.getPayloadsByIntensity)('active');
|
|
103
|
+
const intensities = new Set(payloads.map(p => p.intensity));
|
|
104
|
+
(0, vitest_1.expect)(intensities.has('aggressive')).toBe(false);
|
|
105
|
+
});
|
|
106
|
+
(0, vitest_1.it)('aggressive returns all payloads', () => {
|
|
107
|
+
const payloads = (0, payloads_1.getPayloadsByIntensity)('aggressive');
|
|
108
|
+
(0, vitest_1.expect)(payloads.length).toBe(payloads_1.ALL_PAYLOADS.length);
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
(0, vitest_1.describe)('getPayloads', () => {
|
|
112
|
+
(0, vitest_1.it)('returns all payloads when no filters', () => {
|
|
113
|
+
const payloads = (0, payloads_1.getPayloads)(undefined, 'aggressive');
|
|
114
|
+
(0, vitest_1.expect)(payloads.length).toBe(payloads_1.ALL_PAYLOADS.length);
|
|
115
|
+
});
|
|
116
|
+
(0, vitest_1.it)('filters by category', () => {
|
|
117
|
+
const payloads = (0, payloads_1.getPayloads)(['prompt-injection'], 'aggressive');
|
|
118
|
+
for (const payload of payloads) {
|
|
119
|
+
(0, vitest_1.expect)(payload.category).toBe('prompt-injection');
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
(0, vitest_1.it)('filters by multiple categories', () => {
|
|
123
|
+
const payloads = (0, payloads_1.getPayloads)(['prompt-injection', 'jailbreak'], 'aggressive');
|
|
124
|
+
for (const payload of payloads) {
|
|
125
|
+
(0, vitest_1.expect)(['prompt-injection', 'jailbreak']).toContain(payload.category);
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
(0, vitest_1.it)('combines category and intensity filters', () => {
|
|
129
|
+
const payloads = (0, payloads_1.getPayloads)(['prompt-injection'], 'passive');
|
|
130
|
+
for (const payload of payloads) {
|
|
131
|
+
(0, vitest_1.expect)(payload.category).toBe('prompt-injection');
|
|
132
|
+
(0, vitest_1.expect)(payload.intensity).toBe('passive');
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
(0, vitest_1.describe)('getPayloadById', () => {
|
|
137
|
+
(0, vitest_1.it)('returns payload for valid ID', () => {
|
|
138
|
+
const payload = (0, payloads_1.getPayloadById)('PI-001');
|
|
139
|
+
(0, vitest_1.expect)(payload).toBeDefined();
|
|
140
|
+
(0, vitest_1.expect)(payload?.id).toBe('PI-001');
|
|
141
|
+
});
|
|
142
|
+
(0, vitest_1.it)('returns undefined for invalid ID', () => {
|
|
143
|
+
const payload = (0, payloads_1.getPayloadById)('INVALID-999');
|
|
144
|
+
(0, vitest_1.expect)(payload).toBeUndefined();
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
(0, vitest_1.describe)('ATTACK_CATEGORIES', () => {
|
|
149
|
+
(0, vitest_1.it)('has all categories defined', () => {
|
|
150
|
+
const categories = [
|
|
151
|
+
'prompt-injection',
|
|
152
|
+
'jailbreak',
|
|
153
|
+
'data-exfiltration',
|
|
154
|
+
'capability-abuse',
|
|
155
|
+
'context-manipulation',
|
|
156
|
+
];
|
|
157
|
+
for (const category of categories) {
|
|
158
|
+
(0, vitest_1.expect)(types_1.ATTACK_CATEGORIES[category]).toBeDefined();
|
|
159
|
+
(0, vitest_1.expect)(types_1.ATTACK_CATEGORIES[category].name).toBeTruthy();
|
|
160
|
+
(0, vitest_1.expect)(types_1.ATTACK_CATEGORIES[category].description).toBeTruthy();
|
|
161
|
+
(0, vitest_1.expect)(Array.isArray(types_1.ATTACK_CATEGORIES[category].oasbControls)).toBe(true);
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
});
|
|
165
|
+
(0, vitest_1.describe)('AttackScanner', () => {
|
|
166
|
+
(0, vitest_1.describe)('constructor', () => {
|
|
167
|
+
(0, vitest_1.it)('creates scanner with default options', () => {
|
|
168
|
+
const scanner = new scanner_1.AttackScanner();
|
|
169
|
+
(0, vitest_1.expect)(scanner).toBeInstanceOf(scanner_1.AttackScanner);
|
|
170
|
+
});
|
|
171
|
+
(0, vitest_1.it)('creates scanner with custom options', () => {
|
|
172
|
+
const scanner = new scanner_1.AttackScanner({
|
|
173
|
+
intensity: 'aggressive',
|
|
174
|
+
timeout: 60000,
|
|
175
|
+
delay: 500,
|
|
176
|
+
});
|
|
177
|
+
(0, vitest_1.expect)(scanner).toBeInstanceOf(scanner_1.AttackScanner);
|
|
178
|
+
});
|
|
179
|
+
});
|
|
180
|
+
(0, vitest_1.describe)('scan (local mode)', () => {
|
|
181
|
+
(0, vitest_1.it)('runs scan in local simulation mode', async () => {
|
|
182
|
+
const scanner = new scanner_1.AttackScanner({ delay: 0 });
|
|
183
|
+
const report = await scanner.scan({ url: '', type: 'local' }, { categories: ['prompt-injection'], intensity: 'passive', delay: 0 });
|
|
184
|
+
(0, vitest_1.expect)(report.target).toBe('local');
|
|
185
|
+
(0, vitest_1.expect)(report.targetType).toBe('local');
|
|
186
|
+
(0, vitest_1.expect)(report.intensity).toBe('passive');
|
|
187
|
+
(0, vitest_1.expect)(report.categories).toContain('prompt-injection');
|
|
188
|
+
(0, vitest_1.expect)(report.summary.total).toBeGreaterThan(0);
|
|
189
|
+
(0, vitest_1.expect)(report.results.length).toBe(report.summary.total);
|
|
190
|
+
(0, vitest_1.expect)(report.riskScore).toBeGreaterThanOrEqual(0);
|
|
191
|
+
(0, vitest_1.expect)(report.riskScore).toBeLessThanOrEqual(100);
|
|
192
|
+
});
|
|
193
|
+
(0, vitest_1.it)('respects stopOnSuccess option', async () => {
|
|
194
|
+
// Create a scanner that will stop on first success
|
|
195
|
+
// In local mode, most will be inconclusive, but we test the flow
|
|
196
|
+
const scanner = new scanner_1.AttackScanner({ delay: 0 });
|
|
197
|
+
const report = await scanner.scan({ url: '', type: 'local' }, { intensity: 'passive', stopOnSuccess: true, delay: 0 });
|
|
198
|
+
// Should have at least one result
|
|
199
|
+
(0, vitest_1.expect)(report.results.length).toBeGreaterThanOrEqual(1);
|
|
200
|
+
});
|
|
201
|
+
(0, vitest_1.it)('returns correct summary structure', async () => {
|
|
202
|
+
const scanner = new scanner_1.AttackScanner({ delay: 0 });
|
|
203
|
+
const report = await scanner.scan({ url: '', type: 'local' }, { categories: ['jailbreak'], intensity: 'passive', delay: 0 });
|
|
204
|
+
(0, vitest_1.expect)(report.summary).toHaveProperty('total');
|
|
205
|
+
(0, vitest_1.expect)(report.summary).toHaveProperty('successful');
|
|
206
|
+
(0, vitest_1.expect)(report.summary).toHaveProperty('blocked');
|
|
207
|
+
(0, vitest_1.expect)(report.summary).toHaveProperty('inconclusive');
|
|
208
|
+
(0, vitest_1.expect)(report.summary).toHaveProperty('bySeverity');
|
|
209
|
+
(0, vitest_1.expect)(report.summary).toHaveProperty('byCategory');
|
|
210
|
+
// Check bySeverity structure
|
|
211
|
+
(0, vitest_1.expect)(report.summary.bySeverity).toHaveProperty('critical');
|
|
212
|
+
(0, vitest_1.expect)(report.summary.bySeverity).toHaveProperty('high');
|
|
213
|
+
(0, vitest_1.expect)(report.summary.bySeverity).toHaveProperty('medium');
|
|
214
|
+
(0, vitest_1.expect)(report.summary.bySeverity).toHaveProperty('low');
|
|
215
|
+
(0, vitest_1.expect)(report.summary.bySeverity).toHaveProperty('info');
|
|
216
|
+
// Check byCategory structure
|
|
217
|
+
(0, vitest_1.expect)(report.summary.byCategory).toHaveProperty('jailbreak');
|
|
218
|
+
(0, vitest_1.expect)(report.summary.byCategory['jailbreak']).toHaveProperty('total');
|
|
219
|
+
(0, vitest_1.expect)(report.summary.byCategory['jailbreak']).toHaveProperty('successful');
|
|
220
|
+
});
|
|
221
|
+
(0, vitest_1.it)('calculates risk rating correctly', async () => {
|
|
222
|
+
const scanner = new scanner_1.AttackScanner({ delay: 0 });
|
|
223
|
+
const report = await scanner.scan({ url: '', type: 'local' }, { categories: ['prompt-injection'], intensity: 'passive', delay: 0 });
|
|
224
|
+
// Risk rating should be one of the valid values
|
|
225
|
+
(0, vitest_1.expect)(['critical', 'high', 'medium', 'low', 'secure']).toContain(report.riskRating);
|
|
226
|
+
// Score and rating should be consistent
|
|
227
|
+
if (report.riskScore >= 70) {
|
|
228
|
+
(0, vitest_1.expect)(report.riskRating).toBe('critical');
|
|
229
|
+
}
|
|
230
|
+
else if (report.riskScore >= 50) {
|
|
231
|
+
(0, vitest_1.expect)(report.riskRating).toBe('high');
|
|
232
|
+
}
|
|
233
|
+
else if (report.riskScore >= 25) {
|
|
234
|
+
(0, vitest_1.expect)(report.riskRating).toBe('medium');
|
|
235
|
+
}
|
|
236
|
+
else if (report.riskScore > 0) {
|
|
237
|
+
(0, vitest_1.expect)(report.riskRating).toBe('low');
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
(0, vitest_1.expect)(report.riskRating).toBe('secure');
|
|
241
|
+
}
|
|
242
|
+
});
|
|
243
|
+
(0, vitest_1.it)('includes duration in report', async () => {
|
|
244
|
+
const scanner = new scanner_1.AttackScanner({ delay: 0 });
|
|
245
|
+
const report = await scanner.scan({ url: '', type: 'local' }, { categories: ['prompt-injection'], intensity: 'passive', delay: 0 });
|
|
246
|
+
(0, vitest_1.expect)(report.duration).toBeGreaterThanOrEqual(0);
|
|
247
|
+
(0, vitest_1.expect)(report.startTime).toBeInstanceOf(Date);
|
|
248
|
+
(0, vitest_1.expect)(report.endTime).toBeInstanceOf(Date);
|
|
249
|
+
});
|
|
250
|
+
(0, vitest_1.it)('runs specific payloads by ID', async () => {
|
|
251
|
+
const scanner = new scanner_1.AttackScanner({ delay: 0 });
|
|
252
|
+
const report = await scanner.scan({ url: '', type: 'local' }, { payloadIds: ['PI-001', 'JB-001'], delay: 0 });
|
|
253
|
+
(0, vitest_1.expect)(report.results.length).toBe(2);
|
|
254
|
+
const ids = report.results.map(r => r.payload.id);
|
|
255
|
+
(0, vitest_1.expect)(ids).toContain('PI-001');
|
|
256
|
+
(0, vitest_1.expect)(ids).toContain('JB-001');
|
|
257
|
+
});
|
|
258
|
+
});
|
|
259
|
+
(0, vitest_1.describe)('response analysis', () => {
|
|
260
|
+
(0, vitest_1.it)('detects blocked responses', async () => {
|
|
261
|
+
const scanner = new scanner_1.AttackScanner({ delay: 0 });
|
|
262
|
+
// The local simulation doesn't trigger blocked patterns,
|
|
263
|
+
// but we verify the structure is in place
|
|
264
|
+
const report = await scanner.scan({ url: '', type: 'local' }, { categories: ['prompt-injection'], intensity: 'passive', delay: 0 });
|
|
265
|
+
// Each result should have the blocked field
|
|
266
|
+
for (const result of report.results) {
|
|
267
|
+
(0, vitest_1.expect)(typeof result.blocked).toBe('boolean');
|
|
268
|
+
(0, vitest_1.expect)(typeof result.success).toBe('boolean');
|
|
269
|
+
(0, vitest_1.expect)(typeof result.confidence).toBe('number');
|
|
270
|
+
(0, vitest_1.expect)(result.confidence).toBeGreaterThanOrEqual(0);
|
|
271
|
+
(0, vitest_1.expect)(result.confidence).toBeLessThanOrEqual(1);
|
|
272
|
+
}
|
|
273
|
+
});
|
|
274
|
+
});
|
|
275
|
+
});
|
|
276
|
+
(0, vitest_1.describe)('Attack Result Structure', () => {
|
|
277
|
+
(0, vitest_1.it)('results have all required fields', async () => {
|
|
278
|
+
const scanner = new scanner_1.AttackScanner({ delay: 0 });
|
|
279
|
+
const report = await scanner.scan({ url: '', type: 'local' }, { categories: ['prompt-injection'], intensity: 'passive', delay: 0 });
|
|
280
|
+
for (const result of report.results) {
|
|
281
|
+
(0, vitest_1.expect)(result.payload).toBeDefined();
|
|
282
|
+
(0, vitest_1.expect)(result.target).toBeDefined();
|
|
283
|
+
(0, vitest_1.expect)(typeof result.success).toBe('boolean');
|
|
284
|
+
(0, vitest_1.expect)(typeof result.blocked).toBe('boolean');
|
|
285
|
+
(0, vitest_1.expect)(typeof result.confidence).toBe('number');
|
|
286
|
+
(0, vitest_1.expect)(result.evidence).toBeDefined();
|
|
287
|
+
(0, vitest_1.expect)(typeof result.duration).toBe('number');
|
|
288
|
+
(0, vitest_1.expect)(result.timestamp).toBeInstanceOf(Date);
|
|
289
|
+
}
|
|
290
|
+
});
|
|
291
|
+
});
|
|
292
|
+
//# sourceMappingURL=attack.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attack.test.js","sourceRoot":"","sources":["../../src/attack/attack.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Attack Module
|
|
3
|
+
* Adversarial security testing for AI agents
|
|
4
|
+
*/
|
|
5
|
+
export { AttackScanner } from './scanner';
|
|
6
|
+
export { AttackCategory, AttackIntensity, AttackSeverity, AttackPayload, AttackResult, AttackReport, AttackTarget, AttackOptions, ATTACK_CATEGORIES, } from './types';
|
|
7
|
+
export { ALL_PAYLOADS, PAYLOAD_STATS, getPayloads, getPayloadById, getPayloadsByCategory, getPayloadsByIntensity, PROMPT_INJECTION_PAYLOADS, JAILBREAK_PAYLOADS, DATA_EXFILTRATION_PAYLOADS, CAPABILITY_ABUSE_PAYLOADS, CONTEXT_MANIPULATION_PAYLOADS, } from './payloads';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/attack/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,YAAY,EACZ,aAAa,EACb,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,kBAAkB,EAClB,0BAA0B,EAC1B,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Attack Module
|
|
4
|
+
* Adversarial security testing for AI agents
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.CONTEXT_MANIPULATION_PAYLOADS = exports.CAPABILITY_ABUSE_PAYLOADS = exports.DATA_EXFILTRATION_PAYLOADS = exports.JAILBREAK_PAYLOADS = exports.PROMPT_INJECTION_PAYLOADS = exports.getPayloadsByIntensity = exports.getPayloadsByCategory = exports.getPayloadById = exports.getPayloads = exports.PAYLOAD_STATS = exports.ALL_PAYLOADS = exports.ATTACK_CATEGORIES = exports.AttackScanner = void 0;
|
|
8
|
+
var scanner_1 = require("./scanner");
|
|
9
|
+
Object.defineProperty(exports, "AttackScanner", { enumerable: true, get: function () { return scanner_1.AttackScanner; } });
|
|
10
|
+
var types_1 = require("./types");
|
|
11
|
+
Object.defineProperty(exports, "ATTACK_CATEGORIES", { enumerable: true, get: function () { return types_1.ATTACK_CATEGORIES; } });
|
|
12
|
+
var payloads_1 = require("./payloads");
|
|
13
|
+
Object.defineProperty(exports, "ALL_PAYLOADS", { enumerable: true, get: function () { return payloads_1.ALL_PAYLOADS; } });
|
|
14
|
+
Object.defineProperty(exports, "PAYLOAD_STATS", { enumerable: true, get: function () { return payloads_1.PAYLOAD_STATS; } });
|
|
15
|
+
Object.defineProperty(exports, "getPayloads", { enumerable: true, get: function () { return payloads_1.getPayloads; } });
|
|
16
|
+
Object.defineProperty(exports, "getPayloadById", { enumerable: true, get: function () { return payloads_1.getPayloadById; } });
|
|
17
|
+
Object.defineProperty(exports, "getPayloadsByCategory", { enumerable: true, get: function () { return payloads_1.getPayloadsByCategory; } });
|
|
18
|
+
Object.defineProperty(exports, "getPayloadsByIntensity", { enumerable: true, get: function () { return payloads_1.getPayloadsByIntensity; } });
|
|
19
|
+
Object.defineProperty(exports, "PROMPT_INJECTION_PAYLOADS", { enumerable: true, get: function () { return payloads_1.PROMPT_INJECTION_PAYLOADS; } });
|
|
20
|
+
Object.defineProperty(exports, "JAILBREAK_PAYLOADS", { enumerable: true, get: function () { return payloads_1.JAILBREAK_PAYLOADS; } });
|
|
21
|
+
Object.defineProperty(exports, "DATA_EXFILTRATION_PAYLOADS", { enumerable: true, get: function () { return payloads_1.DATA_EXFILTRATION_PAYLOADS; } });
|
|
22
|
+
Object.defineProperty(exports, "CAPABILITY_ABUSE_PAYLOADS", { enumerable: true, get: function () { return payloads_1.CAPABILITY_ABUSE_PAYLOADS; } });
|
|
23
|
+
Object.defineProperty(exports, "CONTEXT_MANIPULATION_PAYLOADS", { enumerable: true, get: function () { return payloads_1.CONTEXT_MANIPULATION_PAYLOADS; } });
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/attack/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,qCAA0C;AAAjC,wGAAA,aAAa,OAAA;AAEtB,iCAUiB;AADf,0GAAA,iBAAiB,OAAA;AAGnB,uCAYoB;AAXlB,wGAAA,YAAY,OAAA;AACZ,yGAAA,aAAa,OAAA;AACb,uGAAA,WAAW,OAAA;AACX,0GAAA,cAAc,OAAA;AACd,iHAAA,qBAAqB,OAAA;AACrB,kHAAA,sBAAsB,OAAA;AACtB,qHAAA,yBAAyB,OAAA;AACzB,8GAAA,kBAAkB,OAAA;AAClB,sHAAA,0BAA0B,OAAA;AAC1B,qHAAA,yBAAyB,OAAA;AACzB,yHAAA,6BAA6B,OAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Capability Abuse Attack Payloads
|
|
3
|
+
* Tests for OASB-1 controls: 2.2, 2.3, 4.2
|
|
4
|
+
*/
|
|
5
|
+
import { AttackPayload } from '../types';
|
|
6
|
+
export declare const CAPABILITY_ABUSE_PAYLOADS: AttackPayload[];
|
|
7
|
+
export default CAPABILITY_ABUSE_PAYLOADS;
|
|
8
|
+
//# sourceMappingURL=capability-abuse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capability-abuse.d.ts","sourceRoot":"","sources":["../../../src/attack/payloads/capability-abuse.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,eAAO,MAAM,yBAAyB,EAAE,aAAa,EA+LpD,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
|