Skip to content

A PowerShell-based Windows Security and Automation toolset designed to scan, analyze, and report security issues automatically.

License

Notifications You must be signed in to change notification settings

Kettailor/Security_Window

🪟 Security Window

PowerShell License GitHub Workflow Status GitHub stars GitHub forks

Security Window is a PowerShell-based Windows security and automation framework.
It helps developers and system engineers scan, analyze, and report security issues while maintaining clean, consistent PowerShell code through automated GitHub Actions workflows.


🌟 Features

  • 🔍 Static Code Analysis — Runs PSScriptAnalyzer checks automatically on every push or pull request.
  • 🧰 Automated CI/CD Workflow — Integrated GitHub Actions configuration with custom settings file.
  • 🧾 Secure & Modular Scripts — Clean, extensible PowerShell modules ready for integration or extension.
  • ⚙️ Custom Rule Control — Easily configure or disable noisy rules via PSScriptAnalyzerSettings.psd1.
  • 📊 Action Badges & Reports — Instant status feedback in every commit and pull request.

🚀 Quick Start

1. Clone the repository

git clone https://github.com/Kettailor/Security_Window.git
cd Security_Window

2. Run the analysis locally

pwsh
Install-Module PSScriptAnalyzer -Force
Invoke-ScriptAnalyzer -Path ./tools -Recurse

3. Review and fix issues

Follow recommendations shown in the console or use:

Invoke-ScriptAnalyzer -Path ./tools -Recurse -Fix

⚙️ CI/CD Integration

Security Window comes with a ready-to-use GitHub Actions workflow:

name: PowerShell Static Analysis

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  psscan:
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v4
      - name: Run PowerShell Static Analysis
        shell: pwsh
        run: |
          Install-Module PSScriptAnalyzer -Force -Scope CurrentUser
          $results = Invoke-ScriptAnalyzer -Path ./tools -Recurse -Settings ./PSScriptAnalyzerSettings.psd1 -ErrorAction Continue
          $err = $results | Where-Object Severity -eq 'Error'
          if ($err) { exit 1 } else { Write-Host "No errors found." }

🧠 Keywords & SEO

PowerShell, Windows Security, Automation, GitHub Actions, CI/CD, Static Analysis,
Script Analyzer, PSScriptAnalyzer, Secure Coding, Workflow Optimization, Security Auditing


🤝 Contributing

Pull requests are welcome!
If you plan major changes, please open an issue first to discuss what you’d like to modify.
Before committing, make sure your scripts pass Invoke-ScriptAnalyzer.


📜 License

This project is licensed under the MIT License — see the LICENSE file for details.


⭐ Support & Feedback

If you find this useful:

  • Give it a ⭐ star to support development.
  • Fork it and customize for your own workflow.
  • Submit issues or enhancements on the GitHub Issues page.

© 2025 Security Window — Built with ❤️ and PowerShell

About

A PowerShell-based Windows Security and Automation toolset designed to scan, analyze, and report security issues automatically.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published