@intentsolutionsio/pci-dss-validator 1.0.0
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/.claude-plugin/plugin.json +17 -0
- package/LICENSE +21 -0
- package/README.md +0 -0
- package/commands/validate-pci.md +8 -0
- package/package.json +38 -0
- package/skills/validating-pci-dss-compliance/SKILL.md +100 -0
- package/skills/validating-pci-dss-compliance/assets/README.md +5 -0
- package/skills/validating-pci-dss-compliance/references/README.md +4 -0
- package/skills/validating-pci-dss-compliance/scripts/README.md +11 -0
- package/skills/validating-pci-dss-compliance/scripts/generate_report.py +129 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "pci-dss-validator",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Validate PCI DSS compliance",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Jeremy Longshore",
|
|
7
|
+
"email": "[email protected]"
|
|
8
|
+
},
|
|
9
|
+
"repository": "https://github.com/jeremylongshore/claude-code-plugins",
|
|
10
|
+
"license": "MIT",
|
|
11
|
+
"keywords": [
|
|
12
|
+
"security",
|
|
13
|
+
"compliance",
|
|
14
|
+
"auditing",
|
|
15
|
+
"agent-skills"
|
|
16
|
+
]
|
|
17
|
+
}
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Jeremy Longshore
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
File without changes
|
package/package.json
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@intentsolutionsio/pci-dss-validator",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Validate PCI DSS compliance",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"security",
|
|
7
|
+
"compliance",
|
|
8
|
+
"auditing",
|
|
9
|
+
"agent-skills",
|
|
10
|
+
"claude-code",
|
|
11
|
+
"claude-plugin",
|
|
12
|
+
"tonsofskills"
|
|
13
|
+
],
|
|
14
|
+
"repository": {
|
|
15
|
+
"type": "git",
|
|
16
|
+
"url": "git+https://github.com/jeremylongshore/claude-code-plugins-plus-skills.git",
|
|
17
|
+
"directory": "plugins/security/pci-dss-validator"
|
|
18
|
+
},
|
|
19
|
+
"homepage": "https://tonsofskills.com/plugins/pci-dss-validator",
|
|
20
|
+
"bugs": "https://github.com/jeremylongshore/claude-code-plugins-plus-skills/issues",
|
|
21
|
+
"license": "MIT",
|
|
22
|
+
"author": {
|
|
23
|
+
"name": "Jeremy Longshore",
|
|
24
|
+
"email": "[email protected]"
|
|
25
|
+
},
|
|
26
|
+
"publishConfig": {
|
|
27
|
+
"access": "public"
|
|
28
|
+
},
|
|
29
|
+
"files": [
|
|
30
|
+
"README.md",
|
|
31
|
+
".claude-plugin",
|
|
32
|
+
"skills",
|
|
33
|
+
"commands"
|
|
34
|
+
],
|
|
35
|
+
"scripts": {
|
|
36
|
+
"postinstall": "node -e \"console.log(\\\"\\\\nā This npm package is a tracking/proof artifact. Install the plugin via:\\\\n ccpi install pci-dss-validator\\\\n or /plugin install pci-dss-validator@claude-code-plugins-plus in Claude Code\\\\n\\\")\""
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: validating-pci-dss-compliance
|
|
3
|
+
description: Validate PCI-DSS compliance for payment card data security. Use when auditing payment systems. Trigger with 'validate PCI-DSS', 'check payment security', or 'audit card data'.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
allowed-tools: "Read, Write, Edit, Grep, Glob, Bash(security:*), Bash(scan:*), Bash(audit:*)"
|
|
6
|
+
license: MIT
|
|
7
|
+
author: Jeremy Longshore <jeremy@intentsolutions.io>
|
|
8
|
+
compatible-with: claude-code, codex, openclaw
|
|
9
|
+
tags: [security, compliance, audit]
|
|
10
|
+
---
|
|
11
|
+
# Pci Dss Validator
|
|
12
|
+
|
|
13
|
+
Validate payment systems against PCI DSS requirements, checking cardholder data storage, network segmentation, encryption standards, access controls, and vulnerability management processes.
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
This skill streamlines PCI DSS compliance checks by automatically analyzing code and configurations. It flags potential issues, allowing for proactive remediation and improved security posture. It is particularly useful for developers, security engineers, and compliance officers.
|
|
18
|
+
|
|
19
|
+
## How It Works
|
|
20
|
+
|
|
21
|
+
1. **Analyze the Target**: The skill identifies the codebase, configuration files, or infrastructure resources to be evaluated.
|
|
22
|
+
2. **Run PCI DSS Validation**: The pci-dss-validator plugin scans the target for potential PCI DSS violations.
|
|
23
|
+
3. **Generate Report**: The skill compiles a report detailing any identified vulnerabilities or non-compliant configurations, along with remediation recommendations.
|
|
24
|
+
|
|
25
|
+
## When to Use This Skill
|
|
26
|
+
|
|
27
|
+
This skill activates when you need to:
|
|
28
|
+
- Evaluate a new application or system for PCI DSS compliance before deployment.
|
|
29
|
+
- Periodically assess existing systems to maintain PCI DSS compliance.
|
|
30
|
+
- Investigate potential security vulnerabilities related to PCI DSS.
|
|
31
|
+
|
|
32
|
+
## Examples
|
|
33
|
+
|
|
34
|
+
### Example 1: Validating a Web Application
|
|
35
|
+
|
|
36
|
+
User request: "Validate PCI compliance for my e-commerce web application."
|
|
37
|
+
|
|
38
|
+
The skill will:
|
|
39
|
+
1. Identify the source code repository for the web application.
|
|
40
|
+
2. Run the pci-dss-validator plugin against the codebase.
|
|
41
|
+
3. Generate a report highlighting any PCI DSS violations found in the code.
|
|
42
|
+
|
|
43
|
+
### Example 2: Checking Infrastructure Configuration
|
|
44
|
+
|
|
45
|
+
User request: "Check PCI DSS compliance of my AWS infrastructure."
|
|
46
|
+
|
|
47
|
+
The skill will:
|
|
48
|
+
1. Access the AWS configuration files (e.g., Terraform, CloudFormation).
|
|
49
|
+
2. Execute the pci-dss-validator plugin against the infrastructure configuration.
|
|
50
|
+
3. Produce a report outlining any non-compliant configurations in the AWS environment.
|
|
51
|
+
|
|
52
|
+
## Best Practices
|
|
53
|
+
|
|
54
|
+
- **Scope Definition**: Clearly define the scope of the PCI DSS assessment to ensure accurate and relevant results.
|
|
55
|
+
- **Regular Assessments**: Conduct regular PCI DSS assessments to maintain continuous compliance.
|
|
56
|
+
- **Remediation Tracking**: Track and document all remediation efforts to demonstrate ongoing commitment to security.
|
|
57
|
+
|
|
58
|
+
## Integration
|
|
59
|
+
|
|
60
|
+
This skill can be integrated with other security tools and plugins to provide a comprehensive security assessment. For example, it can be used in conjunction with static analysis tools to identify vulnerabilities in code before it is deployed. It can also be integrated with infrastructure-as-code tools to ensure that infrastructure is compliant with PCI DSS from the start.
|
|
61
|
+
|
|
62
|
+
## Prerequisites
|
|
63
|
+
|
|
64
|
+
- Access to codebase and configuration files in ${CLAUDE_SKILL_DIR}/
|
|
65
|
+
- Security scanning tools installed as needed
|
|
66
|
+
- Understanding of security standards and best practices
|
|
67
|
+
- Permissions for security analysis operations
|
|
68
|
+
|
|
69
|
+
## Instructions
|
|
70
|
+
|
|
71
|
+
1. Identify security scan scope and targets
|
|
72
|
+
2. Configure scanning parameters and thresholds
|
|
73
|
+
3. Execute security analysis systematically
|
|
74
|
+
4. Analyze findings for vulnerabilities and compliance gaps
|
|
75
|
+
5. Prioritize issues by severity and impact
|
|
76
|
+
6. Generate detailed security report with remediation steps
|
|
77
|
+
|
|
78
|
+
## Output
|
|
79
|
+
|
|
80
|
+
- Security scan results with vulnerability details
|
|
81
|
+
- Compliance status reports by standard
|
|
82
|
+
- Prioritized list of security issues by severity
|
|
83
|
+
- Remediation recommendations with code examples
|
|
84
|
+
- Executive summary for stakeholders
|
|
85
|
+
|
|
86
|
+
## Error Handling
|
|
87
|
+
|
|
88
|
+
If security scanning fails:
|
|
89
|
+
- Verify tool installation and configuration
|
|
90
|
+
- Check file and directory permissions
|
|
91
|
+
- Validate scan target paths
|
|
92
|
+
- Review tool-specific error messages
|
|
93
|
+
- Ensure network access for dependency checks
|
|
94
|
+
|
|
95
|
+
## Resources
|
|
96
|
+
|
|
97
|
+
- Security standard documentation (OWASP, CWE, CVE)
|
|
98
|
+
- Compliance framework guidelines (GDPR, HIPAA, PCI-DSS)
|
|
99
|
+
- Security scanning tool documentation
|
|
100
|
+
- Vulnerability remediation best practices
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Scripts
|
|
2
|
+
|
|
3
|
+
Bundled resources for pci-dss-validator skill
|
|
4
|
+
|
|
5
|
+
- [x] pci_dss_scan.py: Script to automate PCI DSS compliance scans using the plugin's functionalities. It should take a codebase or configuration file as input and output a detailed report of compliance issues.
|
|
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
|
+
- [x] remediation_suggestions.py: Script that provides automated remediation suggestions for identified PCI DSS violations. This could involve code snippets or configuration changes.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
## Auto-Generated
|
|
11
|
+
Scripts generated on 2025-12-10 03:48:17
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
pci-dss-validator - Generator Script
|
|
4
|
+
Script to generate a formatted report (e.g., HTML, PDF) from the scan results. This allows for easy sharing and documentation of compliance status.
|
|
5
|
+
Generated: 2025-12-10 03:48:17
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
import os
|
|
9
|
+
import json
|
|
10
|
+
import argparse
|
|
11
|
+
from pathlib import Path
|
|
12
|
+
from datetime import datetime
|
|
13
|
+
|
|
14
|
+
class Generator:
|
|
15
|
+
def __init__(self, config: Dict):
|
|
16
|
+
self.config = config
|
|
17
|
+
self.output_dir = Path(config.get('output', './output'))
|
|
18
|
+
self.output_dir.mkdir(parents=True, exist_ok=True)
|
|
19
|
+
|
|
20
|
+
def generate_markdown(self, title: str, content: str) -> Path:
|
|
21
|
+
"""Generate markdown document."""
|
|
22
|
+
filename = f"{title.lower().replace(' ', '_')}_{datetime.now().strftime('%Y%m%d_%H%M%S')}.md"
|
|
23
|
+
file_path = self.output_dir / filename
|
|
24
|
+
|
|
25
|
+
md_content = f"""# {title}
|
|
26
|
+
|
|
27
|
+
Generated by pci-dss-validator
|
|
28
|
+
Date: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}
|
|
29
|
+
|
|
30
|
+
## Overview
|
|
31
|
+
{content}
|
|
32
|
+
|
|
33
|
+
## Configuration
|
|
34
|
+
```json
|
|
35
|
+
{json.dumps(self.config, indent=2)}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Category
|
|
39
|
+
security
|
|
40
|
+
|
|
41
|
+
## Plugin
|
|
42
|
+
pci-dss-validator
|
|
43
|
+
"""
|
|
44
|
+
|
|
45
|
+
file_path.write_text(md_content)
|
|
46
|
+
return file_path
|
|
47
|
+
|
|
48
|
+
def generate_json(self, data: Dict) -> Path:
|
|
49
|
+
"""Generate JSON output."""
|
|
50
|
+
filename = f"output_{datetime.now().strftime('%Y%m%d_%H%M%S')}.json"
|
|
51
|
+
file_path = self.output_dir / filename
|
|
52
|
+
|
|
53
|
+
output_data = {
|
|
54
|
+
"generated_by": "pci-dss-validator",
|
|
55
|
+
"timestamp": datetime.now().isoformat(),
|
|
56
|
+
"category": "security",
|
|
57
|
+
"plugin": "pci-dss-validator",
|
|
58
|
+
"data": data,
|
|
59
|
+
"config": self.config
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
with open(file_path, 'w') as f:
|
|
63
|
+
json.dump(output_data, f, indent=2)
|
|
64
|
+
|
|
65
|
+
return file_path
|
|
66
|
+
|
|
67
|
+
def generate_script(self, name: str, template: str) -> Path:
|
|
68
|
+
"""Generate executable script."""
|
|
69
|
+
filename = f"{name}.sh"
|
|
70
|
+
file_path = self.output_dir / filename
|
|
71
|
+
|
|
72
|
+
script_content = f"""#!/bin/bash
|
|
73
|
+
# Generated by pci-dss-validator
|
|
74
|
+
# Date: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}
|
|
75
|
+
|
|
76
|
+
set -e # Exit on error
|
|
77
|
+
|
|
78
|
+
echo "š Running {name}..."
|
|
79
|
+
|
|
80
|
+
# Template content
|
|
81
|
+
{template}
|
|
82
|
+
|
|
83
|
+
echo "ā
Completed successfully"
|
|
84
|
+
"""
|
|
85
|
+
|
|
86
|
+
file_path.write_text(script_content)
|
|
87
|
+
file_path.chmod(0o755) # Make executable
|
|
88
|
+
return file_path
|
|
89
|
+
|
|
90
|
+
def main():
|
|
91
|
+
parser = argparse.ArgumentParser(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.")
|
|
92
|
+
parser.add_argument('--type', choices=['markdown', 'json', 'script'], default='markdown')
|
|
93
|
+
parser.add_argument('--output', '-o', default='./output', help='Output directory')
|
|
94
|
+
parser.add_argument('--config', '-c', help='Configuration file')
|
|
95
|
+
parser.add_argument('--title', default='pci-dss-validator Output')
|
|
96
|
+
parser.add_argument('--content', help='Content to include')
|
|
97
|
+
|
|
98
|
+
args = parser.parse_args()
|
|
99
|
+
|
|
100
|
+
config = {'output': args.output}
|
|
101
|
+
if args.config and Path(args.config).exists():
|
|
102
|
+
with open(args.config) as f:
|
|
103
|
+
config.update(json.load(f))
|
|
104
|
+
|
|
105
|
+
generator = Generator(config)
|
|
106
|
+
|
|
107
|
+
print(f"š§ Generating {args.type} output...")
|
|
108
|
+
|
|
109
|
+
if args.type == 'markdown':
|
|
110
|
+
output_file = generator.generate_markdown(
|
|
111
|
+
args.title,
|
|
112
|
+
args.content or "Generated content"
|
|
113
|
+
)
|
|
114
|
+
elif args.type == 'json':
|
|
115
|
+
output_file = generator.generate_json(
|
|
116
|
+
{"title": args.title, "content": args.content}
|
|
117
|
+
)
|
|
118
|
+
else: # script
|
|
119
|
+
output_file = generator.generate_script(
|
|
120
|
+
args.title.lower().replace(' ', '_'),
|
|
121
|
+
args.content or "# Add your script content here"
|
|
122
|
+
)
|
|
123
|
+
|
|
124
|
+
print(f"ā
Generated: {output_file}")
|
|
125
|
+
return 0
|
|
126
|
+
|
|
127
|
+
if __name__ == "__main__":
|
|
128
|
+
import sys
|
|
129
|
+
sys.exit(main())
|