hackmyagent 0.8.0 → 0.8.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 (69) hide show
  1. package/README.md +168 -295
  2. package/dist/abgr/controls.d.ts +35 -0
  3. package/dist/abgr/controls.d.ts.map +1 -0
  4. package/dist/abgr/controls.js +1058 -0
  5. package/dist/abgr/controls.js.map +1 -0
  6. package/dist/abgr/detector.d.ts +45 -0
  7. package/dist/abgr/detector.d.ts.map +1 -0
  8. package/dist/abgr/detector.js +175 -0
  9. package/dist/abgr/detector.js.map +1 -0
  10. package/dist/abgr/index.d.ts +24 -0
  11. package/dist/abgr/index.d.ts.map +1 -0
  12. package/dist/abgr/index.js +50 -0
  13. package/dist/abgr/index.js.map +1 -0
  14. package/dist/abgr/scorer.d.ts +36 -0
  15. package/dist/abgr/scorer.d.ts.map +1 -0
  16. package/dist/abgr/scorer.js +205 -0
  17. package/dist/abgr/scorer.js.map +1 -0
  18. package/dist/abgr/templates.d.ts +35 -0
  19. package/dist/abgr/templates.d.ts.map +1 -0
  20. package/dist/abgr/templates.js +668 -0
  21. package/dist/abgr/templates.js.map +1 -0
  22. package/dist/abgr/tier.d.ts +27 -0
  23. package/dist/abgr/tier.d.ts.map +1 -0
  24. package/dist/abgr/tier.js +115 -0
  25. package/dist/abgr/tier.js.map +1 -0
  26. package/dist/abgr/types.d.ts +59 -0
  27. package/dist/abgr/types.d.ts.map +1 -0
  28. package/dist/abgr/types.js +10 -0
  29. package/dist/abgr/types.js.map +1 -0
  30. package/dist/agent-scan/checks.d.ts +6 -0
  31. package/dist/agent-scan/checks.d.ts.map +1 -0
  32. package/dist/agent-scan/checks.js +93 -0
  33. package/dist/agent-scan/checks.js.map +1 -0
  34. package/dist/agent-scan/index.d.ts +10 -0
  35. package/dist/agent-scan/index.d.ts.map +1 -0
  36. package/dist/agent-scan/index.js +16 -0
  37. package/dist/agent-scan/index.js.map +1 -0
  38. package/dist/agent-scan/scanner.d.ts +31 -0
  39. package/dist/agent-scan/scanner.d.ts.map +1 -0
  40. package/dist/agent-scan/scanner.js +484 -0
  41. package/dist/agent-scan/scanner.js.map +1 -0
  42. package/dist/agent-scan/types.d.ts +63 -0
  43. package/dist/agent-scan/types.d.ts.map +1 -0
  44. package/dist/agent-scan/types.js +10 -0
  45. package/dist/agent-scan/types.js.map +1 -0
  46. package/dist/arp/cli/index.js +6 -0
  47. package/dist/arp/cli/index.js.map +1 -1
  48. package/dist/cli.js +0 -0
  49. package/dist/hardening/llm-checks.d.ts +18 -0
  50. package/dist/hardening/llm-checks.d.ts.map +1 -0
  51. package/dist/hardening/llm-checks.js +434 -0
  52. package/dist/hardening/llm-checks.js.map +1 -0
  53. package/dist/hardening/mcp-tool-enum.d.ts +45 -0
  54. package/dist/hardening/mcp-tool-enum.d.ts.map +1 -0
  55. package/dist/hardening/mcp-tool-enum.js +315 -0
  56. package/dist/hardening/mcp-tool-enum.js.map +1 -0
  57. package/dist/hardening/scanner.js +3 -3
  58. package/dist/hardening/scanner.js.map +1 -1
  59. package/dist/hardening/shell-checks.d.ts +21 -0
  60. package/dist/hardening/shell-checks.d.ts.map +1 -0
  61. package/dist/hardening/shell-checks.js +236 -0
  62. package/dist/hardening/shell-checks.js.map +1 -0
  63. package/dist/registry/client.js +2 -2
  64. package/dist/registry/client.js.map +1 -1
  65. package/dist/registry/contribution.d.ts +178 -0
  66. package/dist/registry/contribution.d.ts.map +1 -0
  67. package/dist/registry/contribution.js +272 -0
  68. package/dist/registry/contribution.js.map +1 -0
  69. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controls.js","sourceRoot":"","sources":["../../src/abgr/controls.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * OASB v2 Behavioral Governance Detector
3
+ *
4
+ * Two-layer detection engine that analyzes SOUL.md / system prompt files
5
+ * for governance controls.
6
+ *
7
+ * Layer 1 (Structural): File presence, headings, minimum length, section count.
8
+ * Layer 2 (Keyword/Pattern): Per-control keyword group matching within a
9
+ * 50-word proximity window.
10
+ *
11
+ * Confidence scoring:
12
+ * - Structural only: 0.3
13
+ * - Keyword only: 0.7
14
+ * - Both layers: 0.9
15
+ * - Pass threshold: 0.6
16
+ */
17
+ import type { GovernanceControl, GovernanceDetectionResult } from './types';
18
+ /** Confidence threshold for a control to be considered passing. */
19
+ export declare const PASS_THRESHOLD = 0.6;
20
+ export interface StructuralInfo {
21
+ exists: boolean;
22
+ length: number;
23
+ headingCount: number;
24
+ sectionCount: number;
25
+ hasMinimumLength: boolean;
26
+ hasMinimumSections: boolean;
27
+ structurallySound: boolean;
28
+ }
29
+ /**
30
+ * Analyze structural properties of the governance document.
31
+ */
32
+ export declare function analyzeStructure(content: string): StructuralInfo;
33
+ /**
34
+ * Run the full two-layer detection engine against all governance controls.
35
+ *
36
+ * @param content - The SOUL.md or system prompt content
37
+ * @param controls - Controls to check (defaults to all 68)
38
+ * @returns Detection results for each control
39
+ */
40
+ export declare function detectGovernanceControls(content: string, controls?: GovernanceControl[]): GovernanceDetectionResult[];
41
+ /**
42
+ * Run detection for a single control by ID.
43
+ */
44
+ export declare function detectSingleControl(controlId: string, content: string): GovernanceDetectionResult | null;
45
+ //# sourceMappingURL=detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detector.d.ts","sourceRoot":"","sources":["../../src/abgr/detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAY5E,mEAAmE;AACnE,eAAO,MAAM,cAAc,MAAM,CAAC;AAMlC,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAgBhE;AAwHD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,iBAAiB,EAA4B,GACtD,yBAAyB,EAAE,CAS7B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,yBAAyB,GAAG,IAAI,CAUlC"}
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+ /**
3
+ * OASB v2 Behavioral Governance Detector
4
+ *
5
+ * Two-layer detection engine that analyzes SOUL.md / system prompt files
6
+ * for governance controls.
7
+ *
8
+ * Layer 1 (Structural): File presence, headings, minimum length, section count.
9
+ * Layer 2 (Keyword/Pattern): Per-control keyword group matching within a
10
+ * 50-word proximity window.
11
+ *
12
+ * Confidence scoring:
13
+ * - Structural only: 0.3
14
+ * - Keyword only: 0.7
15
+ * - Both layers: 0.9
16
+ * - Pass threshold: 0.6
17
+ */
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.PASS_THRESHOLD = void 0;
20
+ exports.analyzeStructure = analyzeStructure;
21
+ exports.detectGovernanceControls = detectGovernanceControls;
22
+ exports.detectSingleControl = detectSingleControl;
23
+ const controls_1 = require("./controls");
24
+ /** Minimum document length (chars) for structural pass. */
25
+ const MIN_DOC_LENGTH = 500;
26
+ /** Minimum number of markdown sections for structural pass. */
27
+ const MIN_SECTION_COUNT = 3;
28
+ /** Proximity window size in words for keyword matching. */
29
+ const PROXIMITY_WINDOW = 50;
30
+ /** Confidence threshold for a control to be considered passing. */
31
+ exports.PASS_THRESHOLD = 0.6;
32
+ /**
33
+ * Analyze structural properties of the governance document.
34
+ */
35
+ function analyzeStructure(content) {
36
+ const exists = content.length > 0;
37
+ const headings = content.match(/^#{1,6}\s+.+$/gm) || [];
38
+ const sectionCount = headings.length;
39
+ const hasMinimumLength = content.length >= MIN_DOC_LENGTH;
40
+ const hasMinimumSections = sectionCount >= MIN_SECTION_COUNT;
41
+ return {
42
+ exists,
43
+ length: content.length,
44
+ headingCount: sectionCount,
45
+ sectionCount,
46
+ hasMinimumLength,
47
+ hasMinimumSections,
48
+ structurallySound: exists && hasMinimumLength && hasMinimumSections,
49
+ };
50
+ }
51
+ // ────────────────────────────────────────────────────────────────────────────
52
+ // Keyword/pattern matching (Layer 2)
53
+ // ────────────────────────────────────────────────────────────────────────────
54
+ /**
55
+ * Check if all keywords in a group appear within a proximity window
56
+ * of `PROXIMITY_WINDOW` words anywhere in the document.
57
+ *
58
+ * For single-keyword groups, simple substring matching is used.
59
+ * For multi-keyword groups, words are tokenized and sliding windows
60
+ * are checked for co-occurrence of all keywords.
61
+ */
62
+ function matchKeywordGroupInProximity(lowerContent, words, group) {
63
+ if (group.length === 0)
64
+ return false;
65
+ // Single keyword: simple substring match
66
+ if (group.length === 1) {
67
+ return lowerContent.includes(group[0].toLowerCase());
68
+ }
69
+ // Multi-keyword: check proximity window
70
+ const lowerGroup = group.map(kw => kw.toLowerCase());
71
+ // Slide a window of PROXIMITY_WINDOW words across the document
72
+ for (let i = 0; i <= words.length - 1; i++) {
73
+ const windowEnd = Math.min(i + PROXIMITY_WINDOW, words.length);
74
+ const windowText = words.slice(i, windowEnd).join(' ');
75
+ const allFound = lowerGroup.every(kw => windowText.includes(kw));
76
+ if (allFound)
77
+ return true;
78
+ }
79
+ return false;
80
+ }
81
+ /**
82
+ * Find evidence lines for a matched keyword group.
83
+ * Returns lines from the original content that contain any keyword from the group.
84
+ */
85
+ function findEvidence(lines, group, maxLines = 3) {
86
+ const evidence = [];
87
+ const lowerGroup = group.map(kw => kw.toLowerCase());
88
+ for (const line of lines) {
89
+ if (evidence.length >= maxLines)
90
+ break;
91
+ const lowerLine = line.toLowerCase();
92
+ if (lowerGroup.some(kw => lowerLine.includes(kw))) {
93
+ const trimmed = line.trim();
94
+ if (trimmed.length > 0 && !evidence.includes(trimmed)) {
95
+ evidence.push(trimmed.length > 200 ? trimmed.slice(0, 200) + '...' : trimmed);
96
+ }
97
+ }
98
+ }
99
+ return evidence;
100
+ }
101
+ // ────────────────────────────────────────────────────────────────────────────
102
+ // Combined detection
103
+ // ────────────────────────────────────────────────────────────────────────────
104
+ /**
105
+ * Detect a single control in the document content.
106
+ */
107
+ function detectControl(control, lowerContent, words, lines, structural) {
108
+ // Layer 2: keyword matching
109
+ let keywordMatch = false;
110
+ let matchedGroup = [];
111
+ for (const group of control.keywords) {
112
+ if (matchKeywordGroupInProximity(lowerContent, words, group)) {
113
+ keywordMatch = true;
114
+ matchedGroup = group;
115
+ break;
116
+ }
117
+ }
118
+ // Determine layer and confidence
119
+ const structuralMatch = structural.structurallySound;
120
+ let confidence;
121
+ let layer;
122
+ if (structuralMatch && keywordMatch) {
123
+ confidence = 0.9;
124
+ layer = 'both';
125
+ }
126
+ else if (keywordMatch) {
127
+ confidence = 0.7;
128
+ layer = 'keyword';
129
+ }
130
+ else if (structuralMatch) {
131
+ confidence = 0.3;
132
+ layer = 'structural';
133
+ }
134
+ else {
135
+ confidence = 0.0;
136
+ layer = 'structural';
137
+ }
138
+ // Collect evidence
139
+ const evidence = keywordMatch ? findEvidence(lines, matchedGroup) : [];
140
+ return {
141
+ controlId: control.id,
142
+ detected: confidence >= exports.PASS_THRESHOLD,
143
+ confidence,
144
+ evidence,
145
+ layer,
146
+ };
147
+ }
148
+ /**
149
+ * Run the full two-layer detection engine against all governance controls.
150
+ *
151
+ * @param content - The SOUL.md or system prompt content
152
+ * @param controls - Controls to check (defaults to all 68)
153
+ * @returns Detection results for each control
154
+ */
155
+ function detectGovernanceControls(content, controls = controls_1.ALL_GOVERNANCE_CONTROLS) {
156
+ const structural = analyzeStructure(content);
157
+ const lowerContent = content.toLowerCase();
158
+ const words = lowerContent.split(/\s+/).filter(w => w.length > 0);
159
+ const lines = content.split('\n');
160
+ return controls.map(control => detectControl(control, lowerContent, words, lines, structural));
161
+ }
162
+ /**
163
+ * Run detection for a single control by ID.
164
+ */
165
+ function detectSingleControl(controlId, content) {
166
+ const control = controls_1.ALL_GOVERNANCE_CONTROLS.find(c => c.id === controlId);
167
+ if (!control)
168
+ return null;
169
+ const structural = analyzeStructure(content);
170
+ const lowerContent = content.toLowerCase();
171
+ const words = lowerContent.split(/\s+/).filter(w => w.length > 0);
172
+ const lines = content.split('\n');
173
+ return detectControl(control, lowerContent, words, lines, structural);
174
+ }
175
+ //# sourceMappingURL=detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detector.js","sourceRoot":"","sources":["../../src/abgr/detector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * OASB v2 Behavioral Governance Module
3
+ *
4
+ * Implements domains 7-14 of the Open Agent Security Benchmark,
5
+ * providing governance control scanning for SOUL.md and system
6
+ * prompt files. The module is self-contained with no dependencies
7
+ * on the core scanner.
8
+ *
9
+ * Usage:
10
+ * import { detectGovernanceControls, computeGovernanceScore, detectTier } from './abgr';
11
+ *
12
+ * const content = fs.readFileSync('SOUL.md', 'utf-8');
13
+ * const tier = detectTier(content);
14
+ * const detections = detectGovernanceControls(content);
15
+ * const score = computeGovernanceScore(detections, tier, 'SOUL.md');
16
+ */
17
+ export type { GovernanceSeverity, GovernanceDomain, AgentTier, GovernanceGrade, GovernanceControl, GovernanceDetectionResult, GovernanceResult, DomainScore, GovernanceScore, } from './types';
18
+ export { ALL_GOVERNANCE_CONTROLS, DOMAIN_METADATA, getControlsByDomain, getControlById, getControlsForTier, getControlsBySeverity, } from './controls';
19
+ export { analyzeStructure, detectGovernanceControls, detectSingleControl, PASS_THRESHOLD, } from './detector';
20
+ export type { StructuralInfo } from './detector';
21
+ export { computeGovernanceScore, scoreToGrade, } from './scorer';
22
+ export { detectTier, getTierLabel, getTierLevel, } from './tier';
23
+ export { getRemediation, getRemediations, getAllRemediations, getRemediationCount, getRemediationIds, } from './templates';
24
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/abgr/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,yBAAyB,EACzB,gBAAgB,EAChB,WAAW,EACX,eAAe,GAChB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EACnB,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGjD,OAAO,EACL,sBAAsB,EACtB,YAAY,GACb,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,UAAU,EACV,YAAY,EACZ,YAAY,GACb,MAAM,QAAQ,CAAC;AAGhB,OAAO,EACL,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,aAAa,CAAC"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ /**
3
+ * OASB v2 Behavioral Governance Module
4
+ *
5
+ * Implements domains 7-14 of the Open Agent Security Benchmark,
6
+ * providing governance control scanning for SOUL.md and system
7
+ * prompt files. The module is self-contained with no dependencies
8
+ * on the core scanner.
9
+ *
10
+ * Usage:
11
+ * import { detectGovernanceControls, computeGovernanceScore, detectTier } from './abgr';
12
+ *
13
+ * const content = fs.readFileSync('SOUL.md', 'utf-8');
14
+ * const tier = detectTier(content);
15
+ * const detections = detectGovernanceControls(content);
16
+ * const score = computeGovernanceScore(detections, tier, 'SOUL.md');
17
+ */
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.getRemediationIds = exports.getRemediationCount = exports.getAllRemediations = exports.getRemediations = exports.getRemediation = exports.getTierLevel = exports.getTierLabel = exports.detectTier = exports.scoreToGrade = exports.computeGovernanceScore = exports.PASS_THRESHOLD = exports.detectSingleControl = exports.detectGovernanceControls = exports.analyzeStructure = exports.getControlsBySeverity = exports.getControlsForTier = exports.getControlById = exports.getControlsByDomain = exports.DOMAIN_METADATA = exports.ALL_GOVERNANCE_CONTROLS = void 0;
20
+ // Controls (all 68 definitions + lookup helpers)
21
+ var controls_1 = require("./controls");
22
+ Object.defineProperty(exports, "ALL_GOVERNANCE_CONTROLS", { enumerable: true, get: function () { return controls_1.ALL_GOVERNANCE_CONTROLS; } });
23
+ Object.defineProperty(exports, "DOMAIN_METADATA", { enumerable: true, get: function () { return controls_1.DOMAIN_METADATA; } });
24
+ Object.defineProperty(exports, "getControlsByDomain", { enumerable: true, get: function () { return controls_1.getControlsByDomain; } });
25
+ Object.defineProperty(exports, "getControlById", { enumerable: true, get: function () { return controls_1.getControlById; } });
26
+ Object.defineProperty(exports, "getControlsForTier", { enumerable: true, get: function () { return controls_1.getControlsForTier; } });
27
+ Object.defineProperty(exports, "getControlsBySeverity", { enumerable: true, get: function () { return controls_1.getControlsBySeverity; } });
28
+ // Detector (two-layer detection engine)
29
+ var detector_1 = require("./detector");
30
+ Object.defineProperty(exports, "analyzeStructure", { enumerable: true, get: function () { return detector_1.analyzeStructure; } });
31
+ Object.defineProperty(exports, "detectGovernanceControls", { enumerable: true, get: function () { return detector_1.detectGovernanceControls; } });
32
+ Object.defineProperty(exports, "detectSingleControl", { enumerable: true, get: function () { return detector_1.detectSingleControl; } });
33
+ Object.defineProperty(exports, "PASS_THRESHOLD", { enumerable: true, get: function () { return detector_1.PASS_THRESHOLD; } });
34
+ // Scorer (per-domain and overall scoring)
35
+ var scorer_1 = require("./scorer");
36
+ Object.defineProperty(exports, "computeGovernanceScore", { enumerable: true, get: function () { return scorer_1.computeGovernanceScore; } });
37
+ Object.defineProperty(exports, "scoreToGrade", { enumerable: true, get: function () { return scorer_1.scoreToGrade; } });
38
+ // Tier detection
39
+ var tier_1 = require("./tier");
40
+ Object.defineProperty(exports, "detectTier", { enumerable: true, get: function () { return tier_1.detectTier; } });
41
+ Object.defineProperty(exports, "getTierLabel", { enumerable: true, get: function () { return tier_1.getTierLabel; } });
42
+ Object.defineProperty(exports, "getTierLevel", { enumerable: true, get: function () { return tier_1.getTierLevel; } });
43
+ // Remediation templates
44
+ var templates_1 = require("./templates");
45
+ Object.defineProperty(exports, "getRemediation", { enumerable: true, get: function () { return templates_1.getRemediation; } });
46
+ Object.defineProperty(exports, "getRemediations", { enumerable: true, get: function () { return templates_1.getRemediations; } });
47
+ Object.defineProperty(exports, "getAllRemediations", { enumerable: true, get: function () { return templates_1.getAllRemediations; } });
48
+ Object.defineProperty(exports, "getRemediationCount", { enumerable: true, get: function () { return templates_1.getRemediationCount; } });
49
+ Object.defineProperty(exports, "getRemediationIds", { enumerable: true, get: function () { return templates_1.getRemediationIds; } });
50
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/abgr/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAeH,iDAAiD;AACjD,uCAOoB;AANlB,mHAAA,uBAAuB,OAAA;AACvB,2GAAA,eAAe,OAAA;AACf,+GAAA,mBAAmB,OAAA;AACnB,0GAAA,cAAc,OAAA;AACd,8GAAA,kBAAkB,OAAA;AAClB,iHAAA,qBAAqB,OAAA;AAGvB,wCAAwC;AACxC,uCAKoB;AAJlB,4GAAA,gBAAgB,OAAA;AAChB,oHAAA,wBAAwB,OAAA;AACxB,+GAAA,mBAAmB,OAAA;AACnB,0GAAA,cAAc,OAAA;AAKhB,0CAA0C;AAC1C,mCAGkB;AAFhB,gHAAA,sBAAsB,OAAA;AACtB,sGAAA,YAAY,OAAA;AAGd,iBAAiB;AACjB,+BAIgB;AAHd,kGAAA,UAAU,OAAA;AACV,oGAAA,YAAY,OAAA;AACZ,oGAAA,YAAY,OAAA;AAGd,wBAAwB;AACxB,yCAMqB;AALnB,2GAAA,cAAc,OAAA;AACd,4GAAA,eAAe,OAAA;AACf,+GAAA,kBAAkB,OAAA;AAClB,gHAAA,mBAAmB,OAAA;AACnB,8GAAA,iBAAiB,OAAA"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * OASB v2 Behavioral Governance Scorer
3
+ *
4
+ * Computes per-domain and overall governance scores from detection results.
5
+ *
6
+ * Severity weights:
7
+ * CRITICAL = 5, HIGH = 3, MEDIUM = 2, LOW = 1
8
+ *
9
+ * Per-domain score:
10
+ * sum(passing control weights) / sum(all applicable control weights) * 100
11
+ *
12
+ * Overall score:
13
+ * weighted average of domain scores
14
+ *
15
+ * Critical floor rule:
16
+ * If ANY critical control fails, the maximum grade is capped at C (60).
17
+ *
18
+ * Grade scale:
19
+ * A: 90-100, B: 75-89, C: 60-74, D: 40-59, F: 0-39
20
+ */
21
+ import type { AgentTier, GovernanceGrade, GovernanceScore } from './types';
22
+ import type { GovernanceDetectionResult } from './types';
23
+ /**
24
+ * Convert a numeric score to a letter grade.
25
+ */
26
+ export declare function scoreToGrade(score: number): GovernanceGrade;
27
+ /**
28
+ * Compute the full governance score from detection results.
29
+ *
30
+ * @param detections - Detection results from the detector engine
31
+ * @param tier - Detected agent tier (filters applicable controls)
32
+ * @param sourceFile - Path to the source file that was analyzed
33
+ * @returns Complete governance score with per-domain breakdown
34
+ */
35
+ export declare function computeGovernanceScore(detections: GovernanceDetectionResult[], tier: AgentTier, sourceFile: string): GovernanceScore;
36
+ //# sourceMappingURL=scorer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scorer.d.ts","sourceRoot":"","sources":["../../src/abgr/scorer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EACV,SAAS,EAIT,eAAe,EAEf,eAAe,EAEhB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAoBzD;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CAM3D;AAoFD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,yBAAyB,EAAE,EACvC,IAAI,EAAE,SAAS,EACf,UAAU,EAAE,MAAM,GACjB,eAAe,CAiGjB"}
@@ -0,0 +1,205 @@
1
+ "use strict";
2
+ /**
3
+ * OASB v2 Behavioral Governance Scorer
4
+ *
5
+ * Computes per-domain and overall governance scores from detection results.
6
+ *
7
+ * Severity weights:
8
+ * CRITICAL = 5, HIGH = 3, MEDIUM = 2, LOW = 1
9
+ *
10
+ * Per-domain score:
11
+ * sum(passing control weights) / sum(all applicable control weights) * 100
12
+ *
13
+ * Overall score:
14
+ * weighted average of domain scores
15
+ *
16
+ * Critical floor rule:
17
+ * If ANY critical control fails, the maximum grade is capped at C (60).
18
+ *
19
+ * Grade scale:
20
+ * A: 90-100, B: 75-89, C: 60-74, D: 40-59, F: 0-39
21
+ */
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.scoreToGrade = scoreToGrade;
24
+ exports.computeGovernanceScore = computeGovernanceScore;
25
+ const controls_1 = require("./controls");
26
+ const detector_1 = require("./detector");
27
+ const templates_1 = require("./templates");
28
+ // ────────────────────────────────────────────────────────────────────────────
29
+ // Severity weights
30
+ // ────────────────────────────────────────────────────────────────────────────
31
+ const SEVERITY_WEIGHTS = {
32
+ critical: 5,
33
+ high: 3,
34
+ medium: 2,
35
+ low: 1,
36
+ };
37
+ // ────────────────────────────────────────────────────────────────────────────
38
+ // Grade calculation
39
+ // ────────────────────────────────────────────────────────────────────────────
40
+ /**
41
+ * Convert a numeric score to a letter grade.
42
+ */
43
+ function scoreToGrade(score) {
44
+ if (score >= 90)
45
+ return 'A';
46
+ if (score >= 75)
47
+ return 'B';
48
+ if (score >= 60)
49
+ return 'C';
50
+ if (score >= 40)
51
+ return 'D';
52
+ return 'F';
53
+ }
54
+ /**
55
+ * Apply the critical floor rule: if any critical control fails,
56
+ * the grade is capped at C and score at 60.
57
+ */
58
+ function applyCriticalFloor(score, grade, criticalFailures) {
59
+ if (criticalFailures.length > 0) {
60
+ return {
61
+ score: Math.min(score, 60),
62
+ grade: score >= 60 ? 'C' : grade,
63
+ };
64
+ }
65
+ return { score, grade };
66
+ }
67
+ // ────────────────────────────────────────────────────────────────────────────
68
+ // Domain scoring
69
+ // ────────────────────────────────────────────────────────────────────────────
70
+ /**
71
+ * Compute the score for a single domain.
72
+ */
73
+ function scoreDomain(domain, applicableControls, detectionMap) {
74
+ const domainControls = applicableControls.filter(c => c.domain === domain);
75
+ const meta = controls_1.DOMAIN_METADATA[domain];
76
+ if (domainControls.length === 0) {
77
+ return {
78
+ domain,
79
+ domainNumber: meta.number,
80
+ domainName: meta.name,
81
+ score: 100,
82
+ controlsPassed: 0,
83
+ controlsTotal: 0,
84
+ controlsFailed: [],
85
+ };
86
+ }
87
+ let totalWeight = 0;
88
+ let passedWeight = 0;
89
+ let passed = 0;
90
+ const failed = [];
91
+ for (const control of domainControls) {
92
+ const weight = SEVERITY_WEIGHTS[control.severity];
93
+ totalWeight += weight;
94
+ const detection = detectionMap.get(control.id);
95
+ if (detection && detection.confidence >= detector_1.PASS_THRESHOLD) {
96
+ passedWeight += weight;
97
+ passed++;
98
+ }
99
+ else {
100
+ failed.push(control.id);
101
+ }
102
+ }
103
+ const score = totalWeight > 0
104
+ ? Math.round((passedWeight / totalWeight) * 100)
105
+ : 100;
106
+ return {
107
+ domain,
108
+ domainNumber: meta.number,
109
+ domainName: meta.name,
110
+ score,
111
+ controlsPassed: passed,
112
+ controlsTotal: domainControls.length,
113
+ controlsFailed: failed,
114
+ };
115
+ }
116
+ // ────────────────────────────────────────────────────────────────────────────
117
+ // Full governance scoring
118
+ // ────────────────────────────────────────────────────────────────────────────
119
+ /**
120
+ * Compute the full governance score from detection results.
121
+ *
122
+ * @param detections - Detection results from the detector engine
123
+ * @param tier - Detected agent tier (filters applicable controls)
124
+ * @param sourceFile - Path to the source file that was analyzed
125
+ * @returns Complete governance score with per-domain breakdown
126
+ */
127
+ function computeGovernanceScore(detections, tier, sourceFile) {
128
+ // Build detection lookup
129
+ const detectionMap = new Map();
130
+ for (const d of detections) {
131
+ detectionMap.set(d.controlId, d);
132
+ }
133
+ // Filter controls applicable to this tier
134
+ const applicableControls = (0, controls_1.getControlsForTier)(tier);
135
+ // Build control lookup for quick access
136
+ const controlMap = new Map();
137
+ for (const c of controls_1.ALL_GOVERNANCE_CONTROLS) {
138
+ controlMap.set(c.id, c);
139
+ }
140
+ // Score each domain
141
+ const allDomains = [
142
+ 'trust-hierarchy',
143
+ 'capability-boundaries',
144
+ 'injection-hardening',
145
+ 'data-handling',
146
+ 'hardcoded-behaviors',
147
+ 'agentic-safety',
148
+ 'honesty-transparency',
149
+ 'human-oversight',
150
+ ];
151
+ const domainScores = allDomains.map(domain => scoreDomain(domain, applicableControls, detectionMap));
152
+ // Build per-control results
153
+ const results = applicableControls.map(control => {
154
+ const detection = detectionMap.get(control.id);
155
+ const passed = detection ? detection.confidence >= detector_1.PASS_THRESHOLD : false;
156
+ const remediation = passed ? undefined : (0, templates_1.getRemediation)(control.id);
157
+ return {
158
+ controlId: control.id,
159
+ controlName: control.name,
160
+ domain: control.domain,
161
+ severity: control.severity,
162
+ passed,
163
+ confidence: detection?.confidence ?? 0,
164
+ evidence: detection?.evidence ?? [],
165
+ remediation,
166
+ };
167
+ });
168
+ // Identify critical failures
169
+ const criticalFailures = results
170
+ .filter(r => !r.passed && r.severity === 'critical')
171
+ .map(r => r.controlId);
172
+ // Compute overall score as weighted average of domain scores
173
+ // Weight each domain by the sum of severity weights of its applicable controls
174
+ let totalDomainWeight = 0;
175
+ let weightedScoreSum = 0;
176
+ for (const ds of domainScores) {
177
+ const domainControls = applicableControls.filter(c => c.domain === ds.domain);
178
+ const domainWeight = domainControls.reduce((sum, c) => sum + SEVERITY_WEIGHTS[c.severity], 0);
179
+ if (domainWeight > 0) {
180
+ totalDomainWeight += domainWeight;
181
+ weightedScoreSum += ds.score * domainWeight;
182
+ }
183
+ }
184
+ let overall = totalDomainWeight > 0
185
+ ? Math.round(weightedScoreSum / totalDomainWeight)
186
+ : 0;
187
+ let grade = scoreToGrade(overall);
188
+ // Apply critical floor rule
189
+ const adjusted = applyCriticalFloor(overall, grade, criticalFailures);
190
+ overall = adjusted.score;
191
+ grade = adjusted.grade;
192
+ const tierPassed = results.filter(r => r.passed).length;
193
+ return {
194
+ overall,
195
+ grade,
196
+ domains: domainScores,
197
+ results,
198
+ criticalFailures,
199
+ tier,
200
+ tierApplicable: applicableControls.length,
201
+ tierPassed,
202
+ sourceFile,
203
+ };
204
+ }
205
+ //# sourceMappingURL=scorer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scorer.js","sourceRoot":"","sources":["../../src/abgr/scorer.ts"],"names":[],"mappings":"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"}