@intentsolutionsio/pci-dss-validator 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/skills/validating-pci-dss-compliance/SKILL.md +14 -5
- package/skills/validating-pci-dss-compliance/references/README.md +0 -1
- package/skills/validating-pci-dss-compliance/scripts/README.md +1 -1
- package/skills/validating-pci-dss-compliance/scripts/generate_report.py +24 -24
package/package.json
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: validating-pci-dss-compliance
|
|
3
|
-
description: Validate PCI-DSS compliance for payment card data security. Use when
|
|
3
|
+
description: Validate PCI-DSS compliance for payment card data security. Use when
|
|
4
|
+
auditing payment systems. Trigger with 'validate PCI-DSS', 'check payment security',
|
|
5
|
+
or 'audit card data'.
|
|
4
6
|
version: 1.0.0
|
|
5
|
-
allowed-tools:
|
|
7
|
+
allowed-tools: Read, Write, Edit, Grep, Glob, Bash(security:*), Bash(scan:*), Bash(audit:*)
|
|
6
8
|
license: MIT
|
|
7
9
|
author: Jeremy Longshore <jeremy@intentsolutions.io>
|
|
8
|
-
|
|
9
|
-
|
|
10
|
+
tags:
|
|
11
|
+
- security
|
|
12
|
+
- compliance
|
|
13
|
+
- audit
|
|
14
|
+
compatibility: Designed for Claude Code, also compatible with Codex and OpenClaw
|
|
10
15
|
---
|
|
11
16
|
# Pci Dss Validator
|
|
12
17
|
|
|
@@ -25,6 +30,7 @@ This skill streamlines PCI DSS compliance checks by automatically analyzing code
|
|
|
25
30
|
## When to Use This Skill
|
|
26
31
|
|
|
27
32
|
This skill activates when you need to:
|
|
33
|
+
|
|
28
34
|
- Evaluate a new application or system for PCI DSS compliance before deployment.
|
|
29
35
|
- Periodically assess existing systems to maintain PCI DSS compliance.
|
|
30
36
|
- Investigate potential security vulnerabilities related to PCI DSS.
|
|
@@ -36,6 +42,7 @@ This skill activates when you need to:
|
|
|
36
42
|
User request: "Validate PCI compliance for my e-commerce web application."
|
|
37
43
|
|
|
38
44
|
The skill will:
|
|
45
|
+
|
|
39
46
|
1. Identify the source code repository for the web application.
|
|
40
47
|
2. Run the pci-dss-validator plugin against the codebase.
|
|
41
48
|
3. Generate a report highlighting any PCI DSS violations found in the code.
|
|
@@ -45,6 +52,7 @@ The skill will:
|
|
|
45
52
|
User request: "Check PCI DSS compliance of my AWS infrastructure."
|
|
46
53
|
|
|
47
54
|
The skill will:
|
|
55
|
+
|
|
48
56
|
1. Access the AWS configuration files (e.g., Terraform, CloudFormation).
|
|
49
57
|
2. Execute the pci-dss-validator plugin against the infrastructure configuration.
|
|
50
58
|
3. Produce a report outlining any non-compliant configurations in the AWS environment.
|
|
@@ -86,6 +94,7 @@ This skill can be integrated with other security tools and plugins to provide a
|
|
|
86
94
|
## Error Handling
|
|
87
95
|
|
|
88
96
|
If security scanning fails:
|
|
97
|
+
|
|
89
98
|
- Verify tool installation and configuration
|
|
90
99
|
- Check file and directory permissions
|
|
91
100
|
- Validate scan target paths
|
|
@@ -97,4 +106,4 @@ If security scanning fails:
|
|
|
97
106
|
- Security standard documentation (OWASP, CWE, CVE)
|
|
98
107
|
- Compliance framework guidelines (GDPR, HIPAA, PCI-DSS)
|
|
99
108
|
- Security scanning tool documentation
|
|
100
|
-
- Vulnerability remediation best practices
|
|
109
|
+
- Vulnerability remediation best practices
|
|
@@ -6,6 +6,6 @@ Bundled resources for pci-dss-validator skill
|
|
|
6
6
|
- [x] generate_report.py: Script to generate a formatted report (e.g., HTML, PDF) from the scan results. This allows for easy sharing and documentation of compliance status.
|
|
7
7
|
- [x] remediation_suggestions.py: Script that provides automated remediation suggestions for identified PCI DSS violations. This could involve code snippets or configuration changes.
|
|
8
8
|
|
|
9
|
-
|
|
10
9
|
## Auto-Generated
|
|
10
|
+
|
|
11
11
|
Scripts generated on 2025-12-10 03:48:17
|
|
@@ -5,16 +5,17 @@ Script to generate a formatted report (e.g., HTML, PDF) from the scan results. T
|
|
|
5
5
|
Generated: 2025-12-10 03:48:17
|
|
6
6
|
"""
|
|
7
7
|
|
|
8
|
-
import os
|
|
9
8
|
import json
|
|
10
9
|
import argparse
|
|
11
10
|
from pathlib import Path
|
|
12
11
|
from datetime import datetime
|
|
12
|
+
from typing import Dict
|
|
13
|
+
|
|
13
14
|
|
|
14
15
|
class Generator:
|
|
15
16
|
def __init__(self, config: Dict):
|
|
16
17
|
self.config = config
|
|
17
|
-
self.output_dir = Path(config.get(
|
|
18
|
+
self.output_dir = Path(config.get("output", "./output"))
|
|
18
19
|
self.output_dir.mkdir(parents=True, exist_ok=True)
|
|
19
20
|
|
|
20
21
|
def generate_markdown(self, title: str, content: str) -> Path:
|
|
@@ -25,7 +26,7 @@ class Generator:
|
|
|
25
26
|
md_content = f"""# {title}
|
|
26
27
|
|
|
27
28
|
Generated by pci-dss-validator
|
|
28
|
-
Date: {datetime.now().strftime(
|
|
29
|
+
Date: {datetime.now().strftime("%Y-%m-%d %H:%M:%S")}
|
|
29
30
|
|
|
30
31
|
## Overview
|
|
31
32
|
{content}
|
|
@@ -56,10 +57,10 @@ pci-dss-validator
|
|
|
56
57
|
"category": "security",
|
|
57
58
|
"plugin": "pci-dss-validator",
|
|
58
59
|
"data": data,
|
|
59
|
-
"config": self.config
|
|
60
|
+
"config": self.config,
|
|
60
61
|
}
|
|
61
62
|
|
|
62
|
-
with open(file_path,
|
|
63
|
+
with open(file_path, "w") as f:
|
|
63
64
|
json.dump(output_data, f, indent=2)
|
|
64
65
|
|
|
65
66
|
return file_path
|
|
@@ -71,7 +72,7 @@ pci-dss-validator
|
|
|
71
72
|
|
|
72
73
|
script_content = f"""#!/bin/bash
|
|
73
74
|
# Generated by pci-dss-validator
|
|
74
|
-
# Date: {datetime.now().strftime(
|
|
75
|
+
# Date: {datetime.now().strftime("%Y-%m-%d %H:%M:%S")}
|
|
75
76
|
|
|
76
77
|
set -e # Exit on error
|
|
77
78
|
|
|
@@ -87,17 +88,20 @@ echo "✅ Completed successfully"
|
|
|
87
88
|
file_path.chmod(0o755) # Make executable
|
|
88
89
|
return file_path
|
|
89
90
|
|
|
91
|
+
|
|
90
92
|
def main():
|
|
91
|
-
parser = argparse.ArgumentParser(
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
parser.add_argument(
|
|
95
|
-
parser.add_argument(
|
|
96
|
-
parser.add_argument(
|
|
93
|
+
parser = argparse.ArgumentParser(
|
|
94
|
+
description="Script to generate a formatted report (e.g., HTML, PDF) from the scan results. This allows for easy sharing and documentation of compliance status."
|
|
95
|
+
)
|
|
96
|
+
parser.add_argument("--type", choices=["markdown", "json", "script"], default="markdown")
|
|
97
|
+
parser.add_argument("--output", "-o", default="./output", help="Output directory")
|
|
98
|
+
parser.add_argument("--config", "-c", help="Configuration file")
|
|
99
|
+
parser.add_argument("--title", default="pci-dss-validator Output")
|
|
100
|
+
parser.add_argument("--content", help="Content to include")
|
|
97
101
|
|
|
98
102
|
args = parser.parse_args()
|
|
99
103
|
|
|
100
|
-
config = {
|
|
104
|
+
config = {"output": args.output}
|
|
101
105
|
if args.config and Path(args.config).exists():
|
|
102
106
|
with open(args.config) as f:
|
|
103
107
|
config.update(json.load(f))
|
|
@@ -106,24 +110,20 @@ def main():
|
|
|
106
110
|
|
|
107
111
|
print(f"🔧 Generating {args.type} output...")
|
|
108
112
|
|
|
109
|
-
if args.type ==
|
|
110
|
-
output_file = generator.generate_markdown(
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
)
|
|
114
|
-
elif args.type == 'json':
|
|
115
|
-
output_file = generator.generate_json(
|
|
116
|
-
{"title": args.title, "content": args.content}
|
|
117
|
-
)
|
|
113
|
+
if args.type == "markdown":
|
|
114
|
+
output_file = generator.generate_markdown(args.title, args.content or "Generated content")
|
|
115
|
+
elif args.type == "json":
|
|
116
|
+
output_file = generator.generate_json({"title": args.title, "content": args.content})
|
|
118
117
|
else: # script
|
|
119
118
|
output_file = generator.generate_script(
|
|
120
|
-
args.title.lower().replace(
|
|
121
|
-
args.content or "# Add your script content here"
|
|
119
|
+
args.title.lower().replace(" ", "_"), args.content or "# Add your script content here"
|
|
122
120
|
)
|
|
123
121
|
|
|
124
122
|
print(f"✅ Generated: {output_file}")
|
|
125
123
|
return 0
|
|
126
124
|
|
|
125
|
+
|
|
127
126
|
if __name__ == "__main__":
|
|
128
127
|
import sys
|
|
128
|
+
|
|
129
129
|
sys.exit(main())
|