45 lines
1.3 KiB
Plaintext
45 lines
1.3 KiB
Plaintext
|
|
# PCI DSS Compliance Checker
|
||
|
|
|
||
|
|
Tool for auditing compliance with PCI DSS v4.0. Includes checklists and basic scans.
|
||
|
|
|
||
|
|
## Features
|
||
|
|
- Interactive checklist for 12 PCI DSS requirements.
|
||
|
|
- Basic network/port scans for common issues.
|
||
|
|
- Exports results to Excel.
|
||
|
|
|
||
|
|
## Installation
|
||
|
|
1. Clone: `git clone https://github.com/yourusername/PCI-DSS-Compliance-Checker.git`
|
||
|
|
2. `pip install -r requirements.txt`
|
||
|
|
3. Run: `python checker.py`
|
||
|
|
|
||
|
|
## Usage
|
||
|
|
- Follow prompts to check each requirement.
|
||
|
|
- Run scans from the 'scans' folder as needed.
|
||
|
|
- Output: Updated `pci_report.xlsx`.
|
||
|
|
|
||
|
|
## Disclaimer
|
||
|
|
This is for educational purposes; not a certified auditor.
|
||
|
|
|
||
|
|
MIT License
|
||
|
|
|
||
|
|
|
||
|
|
import openpyxl
|
||
|
|
import subprocess
|
||
|
|
|
||
|
|
# Load checklist
|
||
|
|
wb = openpyxl.load_workbook('pci_checklist.xlsx')
|
||
|
|
ws = wb.active
|
||
|
|
|
||
|
|
# Interactive checks (sample for Requirement 1)
|
||
|
|
for row in range(2, 14): # Assuming 12 requirements starting row 2
|
||
|
|
req = ws.cell(row=row, column=1).value
|
||
|
|
status = input(f"Check {req} (Compliant/Non-Compliant/NA): ")
|
||
|
|
ws.cell(row=row, column=2).value = status
|
||
|
|
|
||
|
|
# Run example scan (e.g., port scan)
|
||
|
|
print("Running basic port scan...")
|
||
|
|
subprocess.run(['python', 'scans/port_scan.py'])
|
||
|
|
|
||
|
|
# Save report
|
||
|
|
wb.save('pci_report.xlsx')
|
||
|
|
print("Report saved as pci_report.xlsx")
|