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.
Files changed (59) hide show
  1. package/README.md +116 -0
  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/hardening/scanner.d.ts.map +1 -1
  51. package/dist/hardening/scanner.js +1 -0
  52. package/dist/hardening/scanner.js.map +1 -1
  53. package/dist/hardening/security-check.d.ts +3 -0
  54. package/dist/hardening/security-check.d.ts.map +1 -1
  55. package/dist/index.d.ts +6 -1
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +24 -2
  58. package/dist/index.js.map +1 -1
  59. package/package.json +1 -1
@@ -0,0 +1,95 @@
1
+ /**
2
+ * OASB-1: AI Agent Security Benchmark
3
+ * Version 1.0.0
4
+ *
5
+ * Maps OASB-1 controls to HackMyAgent check IDs
6
+ */
7
+ export type BenchmarkLevel = 'L1' | 'L2' | 'L3';
8
+ export interface BenchmarkControl {
9
+ id: string;
10
+ name: string;
11
+ category: string;
12
+ level: BenchmarkLevel;
13
+ scored: boolean;
14
+ description: string;
15
+ /** HackMyAgent check IDs that verify this control */
16
+ checkIds: string[];
17
+ /** Control is automated (🤖), manual (👤), or forward-looking (🔮) */
18
+ verification: 'automated' | 'manual' | 'forward';
19
+ /** Remediation guidance for this control */
20
+ remediation?: string;
21
+ /** URL to detailed documentation */
22
+ helpUrl?: string;
23
+ }
24
+ export interface BenchmarkCategory {
25
+ id: number;
26
+ name: string;
27
+ description: string;
28
+ controls: BenchmarkControl[];
29
+ }
30
+ export interface BenchmarkResult {
31
+ benchmark: string;
32
+ version: string;
33
+ level: BenchmarkLevel;
34
+ timestamp: Date;
35
+ /** Overall compliance percentage */
36
+ compliance: number;
37
+ /** L1 compliance percentage */
38
+ l1Compliance: number;
39
+ /** L2 compliance percentage (includes L1) */
40
+ l2Compliance: number;
41
+ /** L3 compliance percentage (includes L1+L2) */
42
+ l3Compliance: number;
43
+ /** Rating based on compliance */
44
+ rating: 'Certified' | 'Compliant' | 'Passing' | 'Needs Improvement' | 'Failing';
45
+ categories: BenchmarkCategoryResult[];
46
+ /** Total controls checked */
47
+ totalControls: number;
48
+ /** Controls that passed */
49
+ passedControls: number;
50
+ /** Controls that failed */
51
+ failedControls: number;
52
+ /** Controls that couldn't be verified (forward/manual) */
53
+ unverifiedControls: number;
54
+ }
55
+ export interface BenchmarkCategoryResult {
56
+ category: string;
57
+ compliance: number;
58
+ passed: number;
59
+ failed: number;
60
+ unverified: number;
61
+ controls: BenchmarkControlResult[];
62
+ }
63
+ export interface BenchmarkControlResult {
64
+ controlId: string;
65
+ name: string;
66
+ level: BenchmarkLevel;
67
+ status: 'passed' | 'failed' | 'unverified';
68
+ /** Findings that relate to this control */
69
+ findings: string[];
70
+ /** Fix instructions if failed */
71
+ remediation?: string;
72
+ }
73
+ /**
74
+ * OASB-1 Benchmark Definition
75
+ */
76
+ export declare const OASB_1_CATEGORIES: BenchmarkCategory[];
77
+ /**
78
+ * Get all controls for a specific level (includes lower levels)
79
+ */
80
+ export declare function getControlsForLevel(level: BenchmarkLevel): BenchmarkControl[];
81
+ /**
82
+ * Get all controls for a specific category
83
+ */
84
+ export declare function getControlsForCategory(categoryName: string): BenchmarkControl[];
85
+ /**
86
+ * Get all check IDs that map to OASB-1 controls for a given level
87
+ */
88
+ export declare function getCheckIdsForLevel(level: BenchmarkLevel): string[];
89
+ /**
90
+ * Calculate compliance rating based on percentages
91
+ */
92
+ export declare function calculateRating(l1Compliance: number, l2Compliance: number, l3Compliance: number, level: BenchmarkLevel): BenchmarkResult['rating'];
93
+ export declare const OASB_1_VERSION = "1.0.0";
94
+ export declare const OASB_1_NAME = "OASB-1: AI Agent Security Benchmark";
95
+ //# sourceMappingURL=oasb-1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oasb-1.d.ts","sourceRoot":"","sources":["../../src/benchmarks/oasb-1.ts"],"names":[],"mappings":"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"}