Comprehensive audit of permissions and security configuration
Comprehensive security audit of your project's permissions and configuration. Run this to identify permission issues, hardcoded secrets, and security vulnerabilities before they become problems. Use --quick for basic checks or --comprehensive for deep threat analysis.
/plugin marketplace add aws-solutions-library-samples/guidance-for-claude-code-with-amazon-bedrock/plugin install security@aws-claude-code-plugins[--quick|--comprehensive] [focus-area]You are a security auditor specializing in permission management and access control. Perform comprehensive security audits of Claude Code configurations and project permissions.
$ARGUMENTS
Parse the arguments to determine:
Deploy concurrent security specialists: @security-reviewer @qa-engineer @business-analyst
# Check for overly permissive files
find . -type f -perm /go+w -exec ls -la {} \;
# Identify sensitive files with wrong permissions
find . -name "*.key" -o -name "*.pem" -o -name ".env*" | \
xargs ls -la | grep -v "^-rw-------"
# Check for setuid/setgid files
find . -type f \( -perm -4000 -o -perm -2000 \) -exec ls -la {} \;
{
"audit_checks": {
"settings_review": [
"Check for --dangerously-skip-permissions usage",
"Verify trusted_directories are appropriate",
"Ensure auto_approve settings are secure",
"Validate network access restrictions"
],
"permission_levels": [
"Verify principle of least privilege",
"Check for unnecessary elevated permissions",
"Audit tool-specific permissions",
"Review agent model permissions"
]
}
}
def scan_for_secrets():
"""Scan codebase for hardcoded secrets"""
patterns = [
r'api[_-]?key\s*=\s*["\'][^"\']{20,}["\']',
r'password\s*=\s*["\'][^"\']+["\']',
r'token\s*=\s*["\'][^"\']{20,}["\']',
r'AWS[A-Z0-9]{16,}',
r'-----BEGIN (RSA|DSA|EC|PGP) PRIVATE KEY-----'
]
findings = []
for pattern in patterns:
# Scan all files for pattern
matches = scan_files(pattern)
if matches:
findings.append({
'type': 'secret_detected',
'pattern': pattern,
'files': matches,
'severity': 'critical'
})
return findings
# Check gh CLI configuration
gh auth status
# Verify no dangerous aliases
gh alias list | grep -E "force|--hard|delete"
# Check repository permissions
gh api user/permissions
# Verify SSH key configuration
ssh -T git@github.com
# Python dependencies
pip-audit --desc
# Node.js dependencies
npm audit --json
# Check for outdated packages
pip list --outdated
npm outdated
Directory Permissions:
├── src/ (755) ✓ Appropriate
├── tests/ (755) ✓ Appropriate
├── .env (644) ✗ Too permissive - should be 600
└── secrets/ (777) ✗ Critical - world writable
{
"claude_settings": {
"security_score": 75,
"issues": [
{
"setting": "auto_approve_write",
"current": true,
"recommended": false,
"risk": "Automatic file modifications without review"
}
]
}
}
#!/bin/bash
# fix-permissions.sh
echo "Fixing file permissions..."
# Fix sensitive files
find . -name "*.key" -exec chmod 600 {} \;
find . -name "*.pem" -exec chmod 600 {} \;
find . -name ".env*" -exec chmod 600 {} \;
# Fix directories
find . -type d -exec chmod 755 {} \;
# Remove world-writable permissions
find . -type f -perm /o+w -exec chmod o-w {} \;
echo "Permissions fixed!"
{
"recommended_settings": {
"file_access": {
"default_permission": "prompt",
"auto_approve_read": false,
"auto_approve_write": false
},
"network_access": {
"require_https": true,
"verify_certificates": true,
"timeout_seconds": 30
},
"command_execution": {
"require_confirmation": true,
"block_dangerous_commands": true,
"audit_all_commands": true
}
}
}
# .github/workflows/security-audit.yml
name: Security Audit
on:
schedule:
- cron: '0 0 * * *' # Daily
pull_request:
branches: [main]
jobs:
audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run permission audit
run: |
claude /permission-audit --output audit-report.json
- name: Check audit results
run: |
if grep -q '"severity": "critical"' audit-report.json; then
echo "Critical security issues found!"
exit 1
fi
- name: Upload audit report
uses: actions/upload-artifact@v2
with:
name: security-audit
path: audit-report.json
# Basic permission audit
/permission-audit
# Comprehensive security audit
/permission-audit --comprehensive
# Focus on specific area
/permission-audit --focus secrets
/permission-audit --focus permissions
/permission-audit --focus configuration
# Generate compliance report
/permission-audit --compliance gdpr,hipaa
# Fix issues automatically
/permission-audit --auto-fix
The audit will produce:
security-audit-report.mdaudit-results.json for automationfix-security-issues.shcompliance-status.csvRemember: Security is not a one-time check but a continuous process. Run audits regularly and after significant changes.