Skip to content

Conversation

@shivamvish160
Copy link
Contributor

PR Description:

ACL Audit Utility for ServiceNow

Overview

This script audits Access Control Lists (ACLs) in your ServiceNow instance to identify potential security misconfigurations. It helps ensure that ACLs are properly configured and do not unintentionally expose sensitive data.

Features

  • Detects inactive ACLs
  • Flags ACLs with no condition or script
  • Warns about public read access (ACLs with no roles assigned)
  • Logs findings using gs.info() and gs.warning() for visibility

Usage

  1. Navigate to System Definition > Script Includes in your ServiceNow instance.
  2. Create a new Script Include named ACL_Audit_Utility.
  3. Paste the contents of ACL_Audit_Utility.js into the script field.
  4. Ensure the script is set to Active and Accessible from all application scopes.
  5. Run the script manually or schedule it using a Scheduled Job.

Notes

  • This script does not make any changes to ACLs; it only audits and logs findings.
  • You can extend the script to send email notifications or create audit records in a custom table.

Pull Request Checklist

Overview

  • Put an x inside of the square brackets to check each item.
  • I have read and understood the CONTRIBUTING.md guidelines
  • My pull request has a descriptive title that accurately reflects the changes and the description has been filled in above.
  • I've included only files relevant to the changes described in the PR title and description
  • I've created a new branch in my forked repository for this contribution

Code Quality

  • My code is relevant to ServiceNow developers
  • My code snippets expand meaningfully on official ServiceNow documentation (if applicable)
  • I've disclosed use of ES2021 features (if applicable)
  • I've tested my code snippets in a ServiceNow environment (where possible)

Repository Structure Compliance

  • I've placed my code snippet(s) in one of the required top-level categories:
    • Core ServiceNow APIs/
    • Server-Side Components/
    • Client-Side Components/
    • Modern Development/
    • Integration/
    • Specialized Areas/
  • I've used appropriate sub-categories within the top-level categories
  • Each code snippet has its own folder with a descriptive name

Documentation

  • I've included a README.md file for each code snippet
  • The README.md includes:
    • Description of the code snippet functionality
    • Usage instructions or examples
    • Any prerequisites or dependencies
    • (Optional) Screenshots or diagrams if helpful

Restrictions

  • My PR does not include XML exports of ServiceNow records
  • My PR does not contain sensitive information (passwords, API keys, tokens)
  • My PR does not include changes that fall outside the described scope

@ravichandra1998g ravichandra1998g self-assigned this Oct 18, 2025
Copy link
Contributor

@ravichandra1998g ravichandra1998g left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello @shivamvish160

  • It doesn't have a script including syntax and this doesn't need to be a script include unless it's reusable from different scripts.
    Can you please place this script under the background scripts folder where it suits more.

  • There is also a scheduled jobs folder seperately, please place it there if the invention is to run at scheduled dates..

Closing this for now.
Kindly reopen or create a new PR after making the changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants