A GitHub Action that finds SQL injection, hardcoded secrets, and vulnerable dependencies — with strict CI fail mode and optional safe auto-fixes powered by DeepSeek AI.
Security Auditor targets the most common and dangerous vulnerabilities found in Python and JavaScript codebases.
Detects unsafe string formatting in database queries — both raw SQL and ORM misuse — across Python and JavaScript code.
OWASP A03 · CriticalScans for passwords, API keys, tokens, and credentials committed directly in source files using pattern matching.
OWASP A02 · HighChecks requirements.txt and package.json against known CVEs and reports risky package versions.
From a single Action step, Security Auditor scans, fixes, and submits a pull request — with no manual intervention required.
Hover over each phase to see details
Click "Run Scan" to simulate what Security Auditor finds in a vulnerable repository.
Copy a mode that matches your team's security maturity — from visibility-only to full auto-remediation.
Report findings without blocking CI. Perfect for teams rolling out security scanning for the first time — zero disruption, full visibility.
name: Security Scan on: [push, pull_request] jobs: scan: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: taoufikmohamed/securityauditor@v1.1.0 with: repo-path: '.' mode: 'scan' output-path: 'security-report.json' - name: Upload report if: always() uses: actions/upload-artifact@v4 with: name: security-reports path: security-report.json
Block merges when high or critical vulnerabilities are found. Use this to enforce security gates in your CI pipeline.
name: Security Scan (Strict) on: [push, pull_request] jobs: scan: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: taoufikmohamed/securityauditor@v1.1.0 with: repo-path: '.' mode: 'scan' output-path: 'security-report.json' fail-on-findings: 'true' # ← blocks CI - name: Upload report if: always() uses: actions/upload-artifact@v4 with: name: security-reports path: security-report.json
Let DeepSeek AI generate safe patches and automatically open a PR with fixes. Developers just review and merge.
name: Security Scan & Auto-Fix on: [push, pull_request] jobs: scan-and-fix: runs-on: ubuntu-latest permissions: contents: write pull-requests: write steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - uses: taoufikmohamed/securityauditor@v1.1.0 with: mode: 'fix' apply-safe-fixes: 'true' # ← AI auto-applies env: DEEPSEEK_API_KEY: ${{ secrets.DEEPSEEK_API_KEY }} - name: Create PR with fixes uses: peter-evans/create-pull-request@v5 with: title: '[Security] Automated fixes' branch: 'security/automated-fixes'
Post a summary of findings as a PR comment so developers see security results inline during code review.
name: Security Scan (PR Comment) on: [pull_request] jobs: scan: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: taoufikmohamed/securityauditor@v1.1.0 with: mode: 'scan' output-path: '${{ github.workspace }}/report.json' - name: Comment findings on PR if: github.event_name == 'pull_request' uses: actions/github-script@v7 with: script: | const fs = require('fs'); const r = JSON.parse( fs.readFileSync('report.json','utf8')); github.rest.issues.createComment({ issue_number: context.issue.number, owner: context.repo.owner, repo: context.repo.repo, body: `🔒 Security: ${r.summary.total} findings` });
All inputs are optional. Sane defaults get you running in under 60 seconds.
| Input | Default | Description |
|---|---|---|
repo-path |
. |
Path to the repository to scan |
config-path |
config/secauditor.yml |
Path to the auditor configuration file |
mode |
scan |
scan reports findings · fix generates and applies AI diffs |
fail-on-findings |
false |
Exit with code 1 if high/critical findings exist — use to block merges |
apply-safe-fixes |
false |
Auto-apply safe AI-generated diffs in fix mode |
output-path |
report.json |
Path to write the JSON findings report |
Security Auditor is published to the GitHub Marketplace under the Security category. Add it to any repository with a single step — no installation, no containers, no maintenance overhead.
No DevSecOps experience needed. If you have a GitHub repository, you can add security scanning today.
In your repository, create .github/workflows/security.yml — GitHub will auto-detect it.
Copy Mode 1 (Basic Scan) to start. No API key or config file required for your first scan.
The action triggers automatically. Check the Actions tab to see your first scan results.
Add fail-on-findings: 'true' to enforce security gates, or add your DeepSeek key for AI auto-fixes.
# Clone and set up git clone https://github.com/taoufikmohamed/securityauditor cd securityauditor # Run interactive workflow (auto-installs deps) .\run-workflow.ps1 # Or non-interactive scan .\run-workflow.ps1 -Workflow scan -RepoPath . -NonInteractive # Full scan + fix + PR .\run-workflow.ps1 -Workflow full -RepoPath . -BaseBranch main # Scan a GitHub repo by URL (no clone needed) .\run-workflow.ps1 -Workflow scan -RepoUrl https://github.com/owner/repo -NonInteractive