Function: ColumnTypeCheck(config)
Creates a column type check that scans columns of a specific content type (scan_column_type_check).
Usage
ColumnTypeCheck({
$id: Now.ID['check-script-columns'],
name: 'Script Column Validator',
active: true,
category: 'security',
priority: '2',
shortDescription: 'Validates script columns for common security issues',
columnType: 'script',
})
Parameters
config
ColumnTypeCheck
Properties:
-
$id (required):
string | number | ExplicitKey<string> -
category (required):
ScanCategoryClassifies what aspect of the instance this check evaluates -
columnType (required):
ColumnTypeContent type of columns to scan -
name (required):
stringUnique name identifying this check -
priority (required):
ScanPrioritySeverity level: 1=Critical, 2=High, 3=Moderate, 4=Low -
shortDescription (required):
stringBrief summary displayed in scan results -
active (optional):
booleanControls whether this check runs during scans. Defaults to true -
description (optional):
stringFull explanation of what this check evaluates and why -
documentationUrl (optional):
stringLink to external documentation for this check -
findingType (optional):
unknownTable where findings are stored. Defaults to scan_finding -
resolutionDetails (optional):
stringGuidance on how to remediate findings from this check -
runCondition (optional):
stringEncoded query condition that must be met before this check runs -
scoreMax (optional):
numberMaximum number of findings for scoring calculation -
scoreMin (optional):
numberMinimum number of findings before scoring applies -
scoreScale (optional):
numberMultiplier applied to the finding count for scoring -
script (optional):
stringServer-side script executed when the check runs
Examples
Basic Column Type Check
Create an instance scan check that validates script columns for common security issues
/**
* @title Basic Column Type Check
* @description Create an instance scan check that validates script columns for common security issues
*/
import { ColumnTypeCheck } from '@servicenow/sdk/core'
export const scriptColumnSecurityCheck = ColumnTypeCheck({
$id: Now.ID['script-column-security'],
name: 'Script Column Security Validator',
active: true,
category: 'security',
priority: '2',
shortDescription: 'Scans script columns for hardcoded credentials and injection vulnerabilities',
columnType: 'script',
description:
'Inspects all script-type columns across the instance for common security anti-patterns including hardcoded passwords, SQL injection vectors, and unsafe eval usage.',
resolutionDetails:
'Remove hardcoded credentials and use system properties or credential records instead. Replace dynamic queries with parameterized alternatives.',
scoreMin: 0,
scoreMax: 100,
scoreScale: 1,
})
export const htmlColumnXssCheck = ColumnTypeCheck({
$id: Now.ID['html-column-xss'],
name: 'HTML Column XSS Scanner',
active: true,
category: 'security',
priority: '1',
shortDescription: 'Detects potential cross-site scripting vulnerabilities in HTML columns',
columnType: 'html',
})