@runhalo/engine 0.3.1 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -46,6 +46,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
46
46
  Object.defineProperty(exports, "__esModule", { value: true });
47
47
  exports.SCAFFOLD_REGISTRY = exports.detectFramework = exports.ScaffoldEngine = exports.ComplianceScoreEngine = exports.transformSetDefault = exports.transformSanitizeInput = exports.transformRemoveDefault = exports.transformUrlUpgrade = exports.FixEngine = exports.REMEDIATION_MAP = exports.HaloEngine = exports.AU_SBD_RULES = exports.AI_AUDIT_RULES = exports.ETHICAL_RULES = exports.COPPA_RULES = exports.treeSitterParser = exports.TreeSitterParser = void 0;
48
48
  exports.loadRulesFromYAML = loadRulesFromYAML;
49
+ exports.loadRulesFromJSON = loadRulesFromJSON;
50
+ exports.loadRulesFromJSONByPack = loadRulesFromJSONByPack;
51
+ exports.compileRawRules = compileRawRules;
49
52
  exports.parseHaloignore = parseHaloignore;
50
53
  exports.shouldIgnoreFile = shouldIgnoreFile;
51
54
  exports.shouldIgnoreViolation = shouldIgnoreViolation;
@@ -56,6 +59,9 @@ const tree_sitter_1 = __importDefault(require("tree-sitter"));
56
59
  const tree_sitter_typescript_1 = __importDefault(require("tree-sitter-typescript"));
57
60
  const tree_sitter_javascript_1 = __importDefault(require("tree-sitter-javascript"));
58
61
  const yaml = __importStar(require("js-yaml"));
62
+ const ast_engine_1 = require("./ast-engine");
63
+ const frameworks_1 = require("./frameworks");
64
+ const context_analyzer_1 = require("./context-analyzer");
59
65
  // Extract category from ruleId (e.g. "coppa-auth-001" → "auth", "ETHICAL-001" → "ethical", "AU-SBD-001" → "au-sbd")
60
66
  function extractCategory(ruleId) {
61
67
  if (ruleId.startsWith('ETHICAL'))
@@ -64,6 +70,16 @@ function extractCategory(ruleId) {
64
70
  return 'ai-audit';
65
71
  if (ruleId.startsWith('AU-SBD'))
66
72
  return 'au-sbd';
73
+ if (ruleId.startsWith('AU-OSA'))
74
+ return 'au-osa';
75
+ if (ruleId.startsWith('caadca'))
76
+ return 'caadca';
77
+ if (ruleId.startsWith('AI-RISK'))
78
+ return 'ai-risk';
79
+ if (ruleId.startsWith('AI-TRANSPARENCY'))
80
+ return 'ai-transparency';
81
+ if (ruleId.startsWith('CAI-'))
82
+ return 'constitutional-ai';
67
83
  const match = ruleId.match(/^coppa-(\w+)-\d+$/);
68
84
  return match ? match[1] : 'unknown';
69
85
  }
@@ -111,6 +127,71 @@ function loadRulesFromYAML(yamlPath) {
111
127
  return [];
112
128
  }
113
129
  }
130
+ // Convert a JSON rule definition to the engine's Rule interface
131
+ function jsonRuleToRule(jsonRule) {
132
+ const patterns = jsonRule.patterns.map(p => new RegExp(p.pattern, p.flags));
133
+ // Map fixability string to Fixability type
134
+ const fixabilityMap = {
135
+ 'auto': 'auto',
136
+ 'guided': 'guided',
137
+ 'flag-only': 'flag-only',
138
+ };
139
+ const remediation = {
140
+ fixability: fixabilityMap[jsonRule.fixability] || 'flag-only',
141
+ transformType: jsonRule.transform_type || undefined,
142
+ scaffoldId: jsonRule.scaffold_id || undefined,
143
+ guidanceUrl: jsonRule.guidance_url || undefined,
144
+ };
145
+ return {
146
+ id: jsonRule.id,
147
+ name: jsonRule.name,
148
+ severity: jsonRule.severity,
149
+ description: jsonRule.description,
150
+ patterns,
151
+ fixSuggestion: jsonRule.fix_suggestion,
152
+ penalty: jsonRule.penalty,
153
+ languages: jsonRule.languages,
154
+ remediation,
155
+ };
156
+ }
157
+ // JSON Rule Loader — Load rules from rules.json
158
+ function loadRulesFromJSON(jsonPath) {
159
+ try {
160
+ const jsonContent = fs.readFileSync(jsonPath, 'utf-8');
161
+ const config = JSON.parse(jsonContent);
162
+ if (!config?.rules || !Array.isArray(config.rules)) {
163
+ console.warn(`No rules found in JSON file: ${jsonPath}`);
164
+ return [];
165
+ }
166
+ return config.rules.map(jsonRuleToRule);
167
+ }
168
+ catch (error) {
169
+ console.error(`Error loading JSON rules from ${jsonPath}:`, error);
170
+ return [];
171
+ }
172
+ }
173
+ // JSON Rule Loader — Load rules filtered by pack IDs
174
+ function loadRulesFromJSONByPack(jsonPath, packIds) {
175
+ try {
176
+ const jsonContent = fs.readFileSync(jsonPath, 'utf-8');
177
+ const config = JSON.parse(jsonContent);
178
+ if (!config?.rules || !Array.isArray(config.rules)) {
179
+ console.warn(`No rules found in JSON file: ${jsonPath}`);
180
+ return [];
181
+ }
182
+ const packSet = new Set(packIds);
183
+ const filtered = config.rules.filter(r => r.packs.some(p => packSet.has(p)));
184
+ return filtered.map(jsonRuleToRule);
185
+ }
186
+ catch (error) {
187
+ console.error(`Error loading JSON rules from ${jsonPath}:`, error);
188
+ return [];
189
+ }
190
+ }
191
+ // Compile raw JSON rule objects (from API/cache) to engine Rule objects
192
+ function compileRawRules(rawRules) {
193
+ return rawRules.map(jsonRuleToRule);
194
+ }
114
195
  // Tree-sitter Parser for AST analysis
115
196
  class TreeSitterParser {
116
197
  constructor() {
@@ -1072,34 +1153,83 @@ class HaloEngine {
1072
1153
  constructor(config = {}) {
1073
1154
  this.config = config;
1074
1155
  this.treeSitter = new TreeSitterParser();
1075
- // Load rules - first try YAML if path provided, otherwise use hardcoded rules
1076
- let loadedRules = [];
1077
- if (config.rulesPath) {
1078
- // Load from YAML file
1079
- loadedRules = loadRulesFromYAML(config.rulesPath);
1156
+ this.astEngine = new ast_engine_1.ASTRuleEngine();
1157
+ this.contextAnalyzer = new context_analyzer_1.ContextAnalyzer({
1158
+ framework: config.framework,
1159
+ historicalFPRates: config.historicalFPRates,
1160
+ suppressionRates: config.suppressionRates,
1161
+ });
1162
+ // Rule loading priority chain:
1163
+ // 1. config.loadedRules — pre-compiled rules from CLI API fetch
1164
+ // 2. config.rulesPath — YAML file (legacy)
1165
+ // 3. config.packs — load from bundled rules.json filtered by pack
1166
+ // 4. Default — hardcoded arrays with legacy boolean flags
1167
+ if (config.loadedRules && config.loadedRules.length > 0) {
1168
+ // Priority 1: Pre-loaded rules (from CLI API fetch or external source)
1169
+ this.rules = config.loadedRules;
1080
1170
  }
1081
- // If no YAML rules loaded, fall back to hardcoded COPPA_RULES
1082
- this.rules = loadedRules.length > 0
1083
- ? loadedRules
1084
- : (config.rules
1085
- ? exports.COPPA_RULES.filter(r => config.rules.includes(r.id))
1086
- : exports.COPPA_RULES);
1087
- // Add Ethical Design Rules if enabled (Sprint 5 Preview)
1088
- if (config.ethical) {
1089
- this.rules = [...this.rules, ...exports.ETHICAL_RULES];
1171
+ else if (config.rulesPath) {
1172
+ // Priority 2: YAML file (legacy)
1173
+ const yamlRules = loadRulesFromYAML(config.rulesPath);
1174
+ this.rules = yamlRules.length > 0 ? yamlRules : exports.COPPA_RULES;
1090
1175
  }
1091
- // Add AI-Generated Code Audit Rules if enabled (P2.5)
1092
- if (config.aiAudit) {
1093
- this.rules = [...this.rules, ...exports.AI_AUDIT_RULES];
1176
+ else if (config.packs) {
1177
+ // Priority 3: Load from bundled rules.json by pack IDs
1178
+ const jsonRules = this.loadBundledRulesByPack(config.packs);
1179
+ this.rules = jsonRules.length > 0 ? jsonRules : exports.COPPA_RULES;
1094
1180
  }
1095
- // Add Australia Safety by Design sector rules if enabled (P3-3)
1096
- if (config.sectorAuSbd) {
1097
- this.rules = [...this.rules, ...exports.AU_SBD_RULES];
1181
+ else {
1182
+ // Priority 4: Hardcoded arrays with legacy boolean flags
1183
+ this.rules = config.rules
1184
+ ? exports.COPPA_RULES.filter(r => config.rules.includes(r.id))
1185
+ : exports.COPPA_RULES;
1186
+ // Append optional packs via legacy boolean flags
1187
+ if (config.ethical) {
1188
+ this.rules = [...this.rules, ...exports.ETHICAL_RULES];
1189
+ }
1190
+ if (config.aiAudit) {
1191
+ this.rules = [...this.rules, ...exports.AI_AUDIT_RULES];
1192
+ }
1193
+ if (config.sectorAuSbd) {
1194
+ this.rules = [...this.rules, ...exports.AU_SBD_RULES];
1195
+ }
1098
1196
  }
1099
1197
  if (config.severityFilter) {
1100
1198
  this.rules = this.rules.filter(r => config.severityFilter.includes(r.severity));
1101
1199
  }
1102
1200
  }
1201
+ /**
1202
+ * Load rules from the bundled rules.json file, filtered by pack IDs.
1203
+ * Falls back to empty array if rules.json not found.
1204
+ */
1205
+ loadBundledRulesByPack(packIds) {
1206
+ try {
1207
+ const jsonPath = path.resolve(__dirname, '..', 'rules', 'rules.json');
1208
+ return loadRulesFromJSONByPack(jsonPath, packIds);
1209
+ }
1210
+ catch (error) {
1211
+ return [];
1212
+ }
1213
+ }
1214
+ /**
1215
+ * Resolve legacy boolean flags to pack IDs.
1216
+ * Maps ethical/aiAudit/sectorAuSbd booleans to their pack ID equivalents.
1217
+ * Always includes 'coppa' as the base pack.
1218
+ */
1219
+ static resolvePacks(config) {
1220
+ if (config.packs)
1221
+ return config.packs;
1222
+ const packs = ['coppa'];
1223
+ if (config.ethical)
1224
+ packs.push('ethical');
1225
+ if (config.aiAudit)
1226
+ packs.push('ai-audit');
1227
+ if (config.sectorAuSbd)
1228
+ packs.push('au-sbd');
1229
+ if (config.sectorAuOsa)
1230
+ packs.push('au-osa');
1231
+ return packs;
1232
+ }
1103
1233
  /**
1104
1234
  * Get the tree-sitter parser for advanced AST analysis
1105
1235
  */
@@ -1111,18 +1241,17 @@ class HaloEngine {
1111
1241
  */
1112
1242
  scanFileWithAST(filePath, content, language = 'typescript') {
1113
1243
  // First get regex-based violations
1114
- const violations = this.scanFile(filePath, content);
1115
- // Then enhance with AST analysis
1244
+ let violations = this.scanFile(filePath, content);
1245
+ // Sprint 8: Enhanced AST analysis with ASTRuleEngine + framework overrides + ContextAnalyzer
1116
1246
  try {
1117
- const identifiers = this.treeSitter.extractIdentifiers(content);
1247
+ const tree = this.treeSitter.parse(content, language);
1248
+ // Legacy Sprint 1: AST-based detection for social login (signInWithPopup)
1118
1249
  const functionCalls = this.treeSitter.findFunctionCalls(content, 'signInWithPopup');
1119
- // Add AST-based detection for social login
1120
1250
  for (const call of functionCalls) {
1121
- // Check if already detected by regex
1122
1251
  const exists = violations.some(v => v.ruleId === 'coppa-auth-001' &&
1123
1252
  v.line === call.line);
1124
1253
  if (!exists) {
1125
- const authRule = exports.COPPA_RULES.find(r => r.id === 'coppa-auth-001');
1254
+ const authRule = this.rules.find(r => r.id === 'coppa-auth-001') || exports.COPPA_RULES.find(r => r.id === 'coppa-auth-001');
1126
1255
  if (authRule) {
1127
1256
  violations.push({
1128
1257
  ruleId: 'coppa-auth-001',
@@ -1144,10 +1273,65 @@ class HaloEngine {
1144
1273
  }
1145
1274
  }
1146
1275
  }
1276
+ // Sprint 8: Run ASTRuleEngine analysis on every violation to classify FPs
1277
+ if (this.config.astAnalysis !== false) {
1278
+ for (const violation of violations) {
1279
+ try {
1280
+ const astResult = this.astEngine.analyzeViolationWithPath(violation.ruleId, filePath, content, {
1281
+ ruleId: violation.ruleId,
1282
+ line: violation.line,
1283
+ column: violation.column,
1284
+ codeSnippet: violation.codeSnippet,
1285
+ }, tree);
1286
+ violation.astVerdict = astResult.verdict;
1287
+ violation.astConfidence = astResult.confidence;
1288
+ violation.astReason = astResult.reason;
1289
+ // Update matchType to reflect AST involvement
1290
+ if (astResult.verdict !== 'regex_only') {
1291
+ violation.matchType = 'hybrid';
1292
+ }
1293
+ }
1294
+ catch (ruleError) {
1295
+ violation.astVerdict = 'regex_only';
1296
+ violation.astConfidence = 0;
1297
+ violation.astReason = 'AST analysis failed for this violation';
1298
+ }
1299
+ }
1300
+ }
1147
1301
  }
1148
1302
  catch (error) {
1149
- // If AST parsing fails, fall back to regex-only
1303
+ // If AST parsing fails entirely, fall back to regex-only
1150
1304
  console.warn('AST parsing failed, using regex-only mode:', error);
1305
+ for (const v of violations) {
1306
+ v.astVerdict = 'regex_only';
1307
+ v.astConfidence = 0;
1308
+ }
1309
+ }
1310
+ // Sprint 8: Apply framework overrides
1311
+ if (this.config.framework) {
1312
+ const result = (0, frameworks_1.applyFrameworkOverrides)(violations, this.config.framework);
1313
+ violations = result.violations;
1314
+ }
1315
+ // Sprint 8: ContextAnalyzer — compute confidence scores
1316
+ const violationInputs = violations.map(v => ({
1317
+ ruleId: v.ruleId,
1318
+ severity: v.severity,
1319
+ line: v.line,
1320
+ column: v.column,
1321
+ codeSnippet: v.codeSnippet,
1322
+ astVerdict: v.astVerdict,
1323
+ astConfidence: v.astConfidence,
1324
+ astReason: v.astReason,
1325
+ frameworkSuppressed: v.frameworkSuppressed,
1326
+ }));
1327
+ const confidenceResults = this.contextAnalyzer.analyzeFile(violationInputs, filePath, content);
1328
+ for (let i = 0; i < violations.length; i++) {
1329
+ const result = confidenceResults.get(i);
1330
+ if (result) {
1331
+ violations[i].confidence = result.confidence;
1332
+ violations[i].confidenceInterpretation = result.interpretation;
1333
+ violations[i].confidenceReason = result.reason;
1334
+ }
1151
1335
  }
1152
1336
  return violations;
1153
1337
  }
@@ -1168,6 +1352,25 @@ class HaloEngine {
1168
1352
  }
1169
1353
  const violations = [];
1170
1354
  const lines = content.split('\n');
1355
+ // Sprint 8: Test file detection for regex scanner (coppa-sec-010 FP fix)
1356
+ const normalizedPath = filePath.replace(/\\/g, '/');
1357
+ const isTestFile = /\.(test|spec)\.(ts|tsx|js|jsx|py|rb|java|go)$/i.test(normalizedPath) ||
1358
+ /(^|\/)__tests__\//.test(normalizedPath) ||
1359
+ /(^|\/)test\//.test(normalizedPath) ||
1360
+ /(^|\/)tests\//.test(normalizedPath) ||
1361
+ /(^|\/)spec\//.test(normalizedPath) ||
1362
+ /(^|\/)fixtures\//.test(normalizedPath) ||
1363
+ /\.(stories|story)\.(ts|tsx|js|jsx)$/i.test(normalizedPath) ||
1364
+ /(^|\/)cypress\//.test(normalizedPath) ||
1365
+ /(^|\/)e2e\//.test(normalizedPath) ||
1366
+ /jest\.config|vitest\.config|playwright\.config/i.test(normalizedPath);
1367
+ // Rules that commonly false-positive in test/fixture files
1368
+ const TEST_FP_RULES = new Set([
1369
+ 'coppa-sec-010', // Weak passwords in test fixtures
1370
+ 'coppa-tracking-003', // Analytics snippets in test mocks
1371
+ 'coppa-auth-001', // Auth patterns in test helpers
1372
+ 'coppa-sec-015', // XSS patterns in security test cases
1373
+ ]);
1171
1374
  // Parse suppression comments
1172
1375
  const suppressions = parseSuppressions(content);
1173
1376
  // Track lines with global suppressions (at top of file)
@@ -1178,6 +1381,10 @@ class HaloEngine {
1178
1381
  }
1179
1382
  }
1180
1383
  for (const rule of this.rules) {
1384
+ // Sprint 8: Skip rules that commonly FP in test files
1385
+ if (isTestFile && TEST_FP_RULES.has(rule.id)) {
1386
+ continue;
1387
+ }
1181
1388
  // Special handling for coppa-retention-005: skip if schema has retention fields
1182
1389
  if (rule.id === 'coppa-retention-005') {
1183
1390
  // Check if the content has retention-related fields
@@ -1294,7 +1501,7 @@ class HaloEngine {
1294
1501
  * Get rule by ID
1295
1502
  */
1296
1503
  getRule(ruleId) {
1297
- return exports.COPPA_RULES.find(r => r.id === ruleId);
1504
+ return this.rules.find(r => r.id === ruleId) || exports.COPPA_RULES.find(r => r.id === ruleId);
1298
1505
  }
1299
1506
  /**
1300
1507
  * Explain a rule (for MCP)
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Halo Scope Analyzer
3
+ * Determines the context of code being scanned to reduce false positives.
4
+ *
5
+ * Analyzes WHERE code lives (test file? admin route? type definition?)
6
+ * so that rule violations can be weighted or suppressed based on context.
7
+ */
8
+ import Parser from 'tree-sitter';
9
+ /**
10
+ * File-level scope context derived from path heuristics and content analysis.
11
+ */
12
+ export interface ScopeContext {
13
+ /** File is a test: _test.go, .spec.ts, .test.js, __tests__/, test/, tests/ */
14
+ isTestFile: boolean;
15
+ /** File is an admin route: /admin/, admin.py, AdminPanel, AdminDashboard */
16
+ isAdminRoute: boolean;
17
+ /** File is user-facing: /pages/, /components/, /views/, /screens/ */
18
+ isUserFacing: boolean;
19
+ /** File is a type definition: .d.ts, interface{}, type alias files */
20
+ isTypeDefinition: boolean;
21
+ /** File is configuration: .config.ts, config/, settings.py, .env */
22
+ isConfigFile: boolean;
23
+ }
24
+ /**
25
+ * Line-level context derived from AST analysis.
26
+ * Describes what construct the line is enclosed within.
27
+ */
28
+ export interface LineContext {
29
+ /** Line is inside an interface declaration */
30
+ inInterfaceDecl: boolean;
31
+ /** Line is inside a function body */
32
+ inFunctionBody: boolean;
33
+ /** Line is inside a class method */
34
+ inClassMethod: boolean;
35
+ /** Line is inside a JSX/TSX element */
36
+ inJSXElement: boolean;
37
+ }
38
+ /**
39
+ * Analyzes the scope/context of source files and individual lines
40
+ * to help the engine make smarter decisions about rule applicability.
41
+ */
42
+ export declare class ScopeAnalyzer {
43
+ /**
44
+ * Analyze file-level scope from path heuristics and optionally content/AST.
45
+ *
46
+ * @param filePath - Relative or absolute path to the source file
47
+ * @param content - Full text content of the file
48
+ * @param tree - Optional tree-sitter AST (used for deeper analysis)
49
+ * @returns ScopeContext describing the file's role
50
+ */
51
+ analyzeFile(filePath: string, content: string, tree?: Parser.Tree): ScopeContext;
52
+ /**
53
+ * Analyze what AST construct encloses a given line.
54
+ *
55
+ * Walks the tree to find the deepest node that contains the target line,
56
+ * then walks upward through ancestors to determine enclosing constructs.
57
+ *
58
+ * @param line - 1-based line number
59
+ * @param tree - tree-sitter AST
60
+ * @returns LineContext describing the enclosing constructs
61
+ */
62
+ analyzeLineContext(line: number, tree: Parser.Tree): LineContext;
63
+ private detectTestFile;
64
+ private detectAdminRoute;
65
+ private detectUserFacing;
66
+ private detectTypeDefinition;
67
+ private detectConfigFile;
68
+ /**
69
+ * Check via AST whether the file consists primarily of type declarations.
70
+ * A file is considered primarily types if >= 80% of its top-level
71
+ * statements are interface/type declarations.
72
+ */
73
+ private isAstPrimarilyTypes;
74
+ private isTypeNode;
75
+ /**
76
+ * Content-based fallback: count top-level interface/type declaration blocks
77
+ * vs total top-level statements (excluding imports and blanks).
78
+ *
79
+ * Uses a simple state machine: lines starting with `interface` or `type`
80
+ * keywords begin a type block. Lines that are clearly function/class/const
81
+ * declarations begin a non-type block. Lines inside a block (e.g., interface
82
+ * members) are attributed to whatever block they belong to.
83
+ */
84
+ private isContentPrimarilyTypes;
85
+ /**
86
+ * Find the deepest (most specific) AST node whose range contains the
87
+ * target row. This gives us a starting point for ancestor walking.
88
+ */
89
+ private findDeepestNodeAtLine;
90
+ }
91
+ export default ScopeAnalyzer;