hackmyagent-core 0.2.2 → 0.3.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.
Files changed (54) hide show
  1. package/README.md +181 -6
  2. package/dist/attack/attack.test.d.ts +5 -0
  3. package/dist/attack/attack.test.d.ts.map +1 -0
  4. package/dist/attack/attack.test.js +292 -0
  5. package/dist/attack/attack.test.js.map +1 -0
  6. package/dist/attack/index.d.ts +8 -0
  7. package/dist/attack/index.d.ts.map +1 -0
  8. package/dist/attack/index.js +24 -0
  9. package/dist/attack/index.js.map +1 -0
  10. package/dist/attack/payloads/capability-abuse.d.ts +8 -0
  11. package/dist/attack/payloads/capability-abuse.d.ts.map +1 -0
  12. package/dist/attack/payloads/capability-abuse.js +199 -0
  13. package/dist/attack/payloads/capability-abuse.js.map +1 -0
  14. package/dist/attack/payloads/context-manipulation.d.ts +8 -0
  15. package/dist/attack/payloads/context-manipulation.d.ts.map +1 -0
  16. package/dist/attack/payloads/context-manipulation.js +194 -0
  17. package/dist/attack/payloads/context-manipulation.js.map +1 -0
  18. package/dist/attack/payloads/data-exfiltration.d.ts +8 -0
  19. package/dist/attack/payloads/data-exfiltration.d.ts.map +1 -0
  20. package/dist/attack/payloads/data-exfiltration.js +222 -0
  21. package/dist/attack/payloads/data-exfiltration.js.map +1 -0
  22. package/dist/attack/payloads/index.d.ts +27 -0
  23. package/dist/attack/payloads/index.d.ts.map +1 -0
  24. package/dist/attack/payloads/index.js +68 -0
  25. package/dist/attack/payloads/index.js.map +1 -0
  26. package/dist/attack/payloads/jailbreak.d.ts +8 -0
  27. package/dist/attack/payloads/jailbreak.d.ts.map +1 -0
  28. package/dist/attack/payloads/jailbreak.js +236 -0
  29. package/dist/attack/payloads/jailbreak.js.map +1 -0
  30. package/dist/attack/payloads/prompt-injection.d.ts +8 -0
  31. package/dist/attack/payloads/prompt-injection.d.ts.map +1 -0
  32. package/dist/attack/payloads/prompt-injection.js +235 -0
  33. package/dist/attack/payloads/prompt-injection.js.map +1 -0
  34. package/dist/attack/scanner.d.ts +59 -0
  35. package/dist/attack/scanner.d.ts.map +1 -0
  36. package/dist/attack/scanner.js +312 -0
  37. package/dist/attack/scanner.js.map +1 -0
  38. package/dist/attack/types.d.ts +128 -0
  39. package/dist/attack/types.d.ts.map +1 -0
  40. package/dist/attack/types.js +36 -0
  41. package/dist/attack/types.js.map +1 -0
  42. package/dist/benchmarks/index.d.ts +16 -0
  43. package/dist/benchmarks/index.d.ts.map +1 -0
  44. package/dist/benchmarks/index.js +27 -0
  45. package/dist/benchmarks/index.js.map +1 -0
  46. package/dist/benchmarks/oasb-1.d.ts +95 -0
  47. package/dist/benchmarks/oasb-1.d.ts.map +1 -0
  48. package/dist/benchmarks/oasb-1.js +623 -0
  49. package/dist/benchmarks/oasb-1.js.map +1 -0
  50. package/dist/index.d.ts +6 -1
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +24 -2
  53. package/dist/index.js.map +1 -1
  54. package/package.json +5 -3
package/README.md CHANGED
@@ -1,17 +1,23 @@
1
- # HackMyAgent
2
-
3
- > **AI Agent Security Scanner** — Detect exposed MCP servers, leaked API keys, and vulnerable Claude Code configurations. Free, no signup required.
1
+ # HackMyAgent CLI
4
2
 
5
3
  [![npm version](https://img.shields.io/npm/v/hackmyagent.svg)](https://www.npmjs.com/package/hackmyagent)
6
4
  [![License: Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
7
5
 
6
+ **Part of [OpenA2A](https://opena2a.org)** — open-source security for AI agents
7
+
8
8
  **Website:** [hackmyagent.com](https://hackmyagent.com) — Scan external infrastructure for exposed MCP endpoints, configs, and credentials
9
9
 
10
+ ## Disclaimer
11
+
12
+ HackMyAgent performs passive reconnaissance only (port checks and HTTP requests) — it does not exploit vulnerabilities. However, please only scan systems you own or have permission to test. The authors assume no liability for misuse of this tool.
13
+
10
14
  ```bash
11
15
  npx hackmyagent check @publisher/skill # verify a skill before installing
12
16
  npx hackmyagent secure # harden your agent setup (100 checks)
13
17
  npx hackmyagent secure --fix # auto-fix security issues
14
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
15
21
  ```
16
22
 
17
23
  ## Two Ways to Scan
@@ -26,7 +32,7 @@ npx hackmyagent scan example.com # scan for exposed infrastructure
26
32
  AI agents are powerful but introduce new attack surfaces. Skills can be malicious. Configs can leak secrets. MCP servers can be exposed. HackMyAgent helps you:
27
33
 
28
34
  - **Check** skills before installing (publisher verification, permission analysis)
29
- - **Secure** your agent setup (100-point CIS-style security scan, auto-remediation)
35
+ - **Secure** your agent setup (100-point CIS security scan, auto-remediation)
30
36
  - **Scan** external infrastructure (exposed MCP endpoints, leaked configs)
31
37
 
32
38
  ## Installation
@@ -108,6 +114,8 @@ hackmyagent check @publisher/skill --offline # skip DNS verification
108
114
  - Permissions requested (filesystem, network, shell access)
109
115
  - Revocation status against global blocklist
110
116
 
117
+ **Note:** Only scan systems you own or have permission to test.
118
+
111
119
  **Risk Levels:** `low`, `medium`, `high`, `critical`
112
120
 
113
121
  ### `hackmyagent scan`
@@ -129,6 +137,128 @@ hackmyagent scan example.com --json
129
137
 
130
138
  **Scoring:** A (90-100), B (80-89), C (70-79), D (60-69), F (<60)
131
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
+
222
+ ### `hackmyagent secure-openclaw`
223
+
224
+ Scan OpenClaw/Moltbot installations with 34 specialized security checks and auto-remediation.
225
+
226
+ ```bash
227
+ hackmyagent secure-openclaw # scan default location
228
+ hackmyagent secure-openclaw ~/.moltbot # scan specific directory
229
+ hackmyagent secure-openclaw --fix # auto-fix gateway misconfigurations
230
+ hackmyagent secure-openclaw --fix --dry-run # preview fixes
231
+ hackmyagent secure-openclaw --json # JSON output for CI/CD
232
+ ```
233
+
234
+ **Detects:**
235
+ - Unsigned/malicious skills (ClawHavoc campaign patterns)
236
+ - ClickFix social engineering attacks
237
+ - Reverse shell backdoors
238
+ - Credential exfiltration (wallets, SSH keys, API keys)
239
+ - Heartbeat/cron abuse
240
+ - Gateway misconfigurations (GHSA-g8p2 vulnerability)
241
+ - Disabled sandbox/approval confirmations
242
+
243
+ **Auto-Fix (with `--fix`):**
244
+ | Check | Before | After |
245
+ |-------|--------|-------|
246
+ | GATEWAY-001 | `0.0.0.0` | `127.0.0.1` (local-only) |
247
+ | GATEWAY-003 | Plaintext token | `${OPENCLAW_AUTH_TOKEN}` env var |
248
+ | GATEWAY-004 | Approvals disabled | Approvals enabled |
249
+ | GATEWAY-005 | Sandbox disabled | Sandbox enabled |
250
+
251
+ **Check Categories:**
252
+ | Category | Checks | Description |
253
+ |----------|--------|-------------|
254
+ | SKILL | 12 | Malicious skill detection |
255
+ | HEARTBEAT | 6 | Heartbeat/cron abuse |
256
+ | GATEWAY | 6 | Gateway misconfigurations (4 auto-fixable) |
257
+ | CONFIG | 6 | Insecure settings |
258
+ | SUPPLY | 4 | Supply chain attacks |
259
+
260
+ See [SECURITY_CHECKS.md](docs/SECURITY_CHECKS.md#openclaw-security-checks) for full documentation.
261
+
132
262
  ### `hackmyagent rollback`
133
263
 
134
264
  Undo auto-fix changes.
@@ -163,6 +293,38 @@ jobs:
163
293
  path: security-report.json
164
294
  ```
165
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
+
166
328
  ### Pre-commit Hook
167
329
 
168
330
  ```bash
@@ -194,6 +356,7 @@ For the complete list of 100 security checks with descriptions and remediation g
194
356
 
195
357
  The following issues can be automatically fixed with `--fix`:
196
358
 
359
+ **General (`hackmyagent secure --fix`):**
197
360
  | Check ID | Issue | Auto-Fix Action |
198
361
  |----------|-------|-----------------|
199
362
  | CRED-001 | Exposed API keys | Replace with env var reference |
@@ -203,7 +366,15 @@ The following issues can be automatically fixed with `--fix`:
203
366
  | MCP-001 | Root filesystem access | Scope to project directory |
204
367
  | NET-001 | Bound to 0.0.0.0 | Bind to 127.0.0.1 |
205
368
 
206
- Always use `--dry-run` first to preview changes.
369
+ **OpenClaw (`hackmyagent secure-openclaw --fix`):**
370
+ | Check ID | Issue | Auto-Fix Action |
371
+ |----------|-------|-----------------|
372
+ | GATEWAY-001 | Bound to 0.0.0.0 | Bind to 127.0.0.1 |
373
+ | GATEWAY-003 | Plaintext token in config | Replace with `${OPENCLAW_AUTH_TOKEN}` |
374
+ | GATEWAY-004 | Approvals disabled | Enable approval confirmations |
375
+ | GATEWAY-005 | Sandbox disabled | Enable sandbox mode |
376
+
377
+ Always use `--dry-run` first to preview changes. Backups are created automatically.
207
378
 
208
379
  ## Environment Variables
209
380
 
@@ -248,4 +419,8 @@ Apache-2.0
248
419
 
249
420
  ---
250
421
 
251
- **Need enterprise features?** Check out [AIM (Agent Identity Management)](https://github.com/opena2a-org/agent-identity-management) for centralized policy management, compliance, and audit trails.
422
+ ## Secure What You Find
423
+
424
+ HackMyAgent finds vulnerabilities. **[AIM](https://github.com/opena2a-org/agent-identity-management)** fixes them — the open-source NHI platform for AI agents with cryptographic identity, governance, and access control.
425
+
426
+ → [Get started with AIM](https://opena2a.org/docs/quick-start) | [Learn about NHI governance](https://opena2a.org/nhi)
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Attack Module Tests
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=attack.test.d.ts.map
@@ -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"}