#!/usr/bin/env node
/**
* CSP Violation Scanner
* Scans HTML and JS files for Content Security Policy violations
*
* Violations checked (inst_008):
* - Inline event handlers (onclick, onload, etc.)
* - Inline styles (style="...")
* - Inline scripts ()
* - javascript: URLs
*
* Usage:
* node scripts/check-csp-violations.js [pattern]
*
* Examples:
* node scripts/check-csp-violations.js
* node scripts/check-csp-violations.js public
*/
const fs = require('fs');
const path = require('path');
const { execSync } = require('child_process');
// Default patterns to scan
const DEFAULT_PATTERNS = [
'public/**/*.html',
'public/**/*.js'
];
// CSP violation patterns
const VIOLATION_PATTERNS = {
inline_event_handlers: {
regex: /\s(on[a-z]+)=["'][^"']*["']/gi,
description: 'Inline event handler',
severity: 'HIGH'
},
inline_styles: {
regex: /\sstyle=["'][^"']*["']/gi,
description: 'Inline style attribute',
severity: 'HIGH'
},
inline_scripts: {
regex: /