Claude-Skills senior-security

install
source · Clone the upstream repo
git clone https://github.com/borghei/Claude-Skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/borghei/Claude-Skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/engineering/senior-security" ~/.claude/skills/borghei-claude-skills-senior-security && rm -rf "$T"
manifest: engineering/senior-security/SKILL.md
source content

Senior Security Engineer

The agent performs STRIDE threat analysis with DREAD risk scoring, designs defense-in-depth security architectures with Zero Trust principles, conducts secure code reviews against OWASP Top 10, and scans codebases for hardcoded secrets across 20+ credential patterns.


Table of Contents


Threat Modeling Workflow

Identify and analyze security threats using STRIDE methodology.

Workflow: Conduct Threat Model

  1. Define system scope and boundaries:
    • Identify assets to protect
    • Map trust boundaries
    • Document data flows
  2. Create data flow diagram:
    • External entities (users, services)
    • Processes (application components)
    • Data stores (databases, caches)
    • Data flows (APIs, network connections)
  3. Apply STRIDE to each DFD element:
    • Spoofing: Can identity be faked?
    • Tampering: Can data be modified?
    • Repudiation: Can actions be denied?
    • Information Disclosure: Can data leak?
    • Denial of Service: Can availability be affected?
    • Elevation of Privilege: Can access be escalated?
  4. Score risks using DREAD:
    • Damage potential (1-10)
    • Reproducibility (1-10)
    • Exploitability (1-10)
    • Affected users (1-10)
    • Discoverability (1-10)
  5. Prioritize threats by risk score
  6. Define mitigations for each threat
  7. Document in threat model report
  8. Validation: All DFD elements analyzed; STRIDE applied; threats scored; mitigations mapped

STRIDE Threat Categories

CategoryDescriptionSecurity PropertyMitigation Focus
SpoofingImpersonating users or systemsAuthenticationMFA, certificates, strong auth
TamperingModifying data or codeIntegritySigning, checksums, validation
RepudiationDenying actionsNon-repudiationAudit logs, digital signatures
Information DisclosureExposing dataConfidentialityEncryption, access controls
Denial of ServiceDisrupting availabilityAvailabilityRate limiting, redundancy
Elevation of PrivilegeGaining unauthorized accessAuthorizationRBAC, least privilege

STRIDE per Element Matrix

DFD ElementSTRIDE
External EntityXX
ProcessXXXXXX
Data StoreXXXX
Data FlowXXX

See: references/threat-modeling-guide.md


Security Architecture Workflow

Design secure systems using defense-in-depth principles.

Workflow: Design Secure Architecture

  1. Define security requirements:
    • Compliance requirements (GDPR, HIPAA, PCI-DSS)
    • Data classification (public, internal, confidential, restricted)
    • Threat model inputs
  2. Apply defense-in-depth layers:
    • Perimeter: WAF, DDoS protection, rate limiting
    • Network: Segmentation, IDS/IPS, mTLS
    • Host: Patching, EDR, hardening
    • Application: Input validation, authentication, secure coding
    • Data: Encryption at rest and in transit
  3. Implement Zero Trust principles:
    • Verify explicitly (every request)
    • Least privilege access (JIT/JEA)
    • Assume breach (segment, monitor)
  4. Configure authentication and authorization:
    • Identity provider selection
    • MFA requirements
    • RBAC/ABAC model
  5. Design encryption strategy:
    • Key management approach
    • Algorithm selection
    • Certificate lifecycle
  6. Plan security monitoring:
    • Log aggregation
    • SIEM integration
    • Alerting rules
  7. Document architecture decisions
  8. Validation: Defense-in-depth layers defined; Zero Trust applied; encryption strategy documented; monitoring planned

Defense-in-Depth Layers

Layer 1: PERIMETER
  WAF, DDoS mitigation, DNS filtering, rate limiting

Layer 2: NETWORK
  Segmentation, IDS/IPS, network monitoring, VPN, mTLS

Layer 3: HOST
  Endpoint protection, OS hardening, patching, logging

Layer 4: APPLICATION
  Input validation, authentication, secure coding, SAST

Layer 5: DATA
  Encryption at rest/transit, access controls, DLP, backup

Authentication Pattern Selection

Use CaseRecommended Pattern
Web applicationOAuth 2.0 + PKCE with OIDC
API authenticationJWT with short expiration + refresh tokens
Service-to-servicemTLS with certificate rotation
CLI/AutomationAPI keys with IP allowlisting
High securityFIDO2/WebAuthn hardware keys

See: references/security-architecture-patterns.md


Vulnerability Assessment Workflow

Identify and remediate security vulnerabilities in applications.

Workflow: Conduct Vulnerability Assessment

  1. Define assessment scope:
    • In-scope systems and applications
    • Testing methodology (black box, gray box, white box)
    • Rules of engagement
  2. Gather information:
    • Technology stack inventory
    • Architecture documentation
    • Previous vulnerability reports
  3. Perform automated scanning:
    • SAST (static analysis)
    • DAST (dynamic analysis)
    • Dependency scanning
    • Secret detection
  4. Conduct manual testing:
    • Business logic flaws
    • Authentication bypass
    • Authorization issues
    • Injection vulnerabilities
  5. Classify findings by severity:
    • Critical: Immediate exploitation risk
    • High: Significant impact, easier to exploit
    • Medium: Moderate impact or difficulty
    • Low: Minor impact
  6. Develop remediation plan:
    • Prioritize by risk
    • Assign owners
    • Set deadlines
  7. Verify fixes and document
  8. Validation: Scope defined; automated and manual testing complete; findings classified; remediation tracked

OWASP Top 10 Mapping

RankVulnerabilityTesting Approach
A01Broken Access ControlManual IDOR testing, authorization checks
A02Cryptographic FailuresAlgorithm review, key management audit
A03InjectionSAST + manual payload testing
A04Insecure DesignThreat modeling, architecture review
A05Security MisconfigurationConfiguration audit, CIS benchmarks
A06Vulnerable ComponentsDependency scanning, CVE monitoring
A07Authentication FailuresPassword policy, session management review
A08Software/Data IntegrityCI/CD security, code signing verification
A09Logging FailuresLog review, SIEM configuration check
A10SSRFManual URL manipulation testing

Vulnerability Severity Matrix

Impact / ExploitabilityEasyModerateDifficult
CriticalCriticalCriticalHigh
HighCriticalHighMedium
MediumHighMediumLow
LowMediumLowLow

Secure Code Review Workflow

Review code for security vulnerabilities before deployment.

Workflow: Conduct Security Code Review

  1. Establish review scope:
    • Changed files and functions
    • Security-sensitive areas (auth, crypto, input handling)
    • Third-party integrations
  2. Run automated analysis:
    • SAST tools (Semgrep, CodeQL, Bandit)
    • Secret scanning
    • Dependency vulnerability check
  3. Review authentication code:
    • Password handling (hashing, storage)
    • Session management
    • Token validation
  4. Review authorization code:
    • Access control checks
    • RBAC implementation
    • Privilege boundaries
  5. Review data handling:
    • Input validation
    • Output encoding
    • SQL query construction
    • File path handling
  6. Review cryptographic code:
    • Algorithm selection
    • Key management
    • Random number generation
  7. Document findings with severity
  8. Validation: Automated scans passed; auth/authz reviewed; data handling checked; crypto verified; findings documented

Security Code Review Checklist

CategoryCheckRisk
Input ValidationAll user input validated and sanitizedInjection
Output EncodingContext-appropriate encoding appliedXSS
AuthenticationPasswords hashed with Argon2/bcryptCredential theft
SessionSecure cookie flags set (HttpOnly, Secure, SameSite)Session hijacking
AuthorizationServer-side permission checks on all endpointsPrivilege escalation
SQLParameterized queries used exclusivelySQL injection
File AccessPath traversal sequences rejectedPath traversal
SecretsNo hardcoded credentials or keysInformation disclosure
DependenciesKnown vulnerable packages updatedSupply chain
LoggingSensitive data not loggedInformation disclosure

Secure vs Insecure Patterns

PatternIssueSecure Alternative
SQL string formattingSQL injectionUse parameterized queries with placeholders
Shell command buildingCommand injectionUse subprocess with argument lists, no shell
Path concatenationPath traversalValidate and canonicalize paths
MD5/SHA1 for passwordsWeak hashingUse Argon2id or bcrypt
Math.random for tokensPredictable valuesUse crypto.getRandomValues

Incident Response Workflow

Respond to and contain security incidents.

Workflow: Handle Security Incident

  1. Identify and triage:
    • Validate incident is genuine
    • Assess initial scope and severity
    • Activate incident response team
  2. Contain the threat:
    • Isolate affected systems
    • Block malicious IPs/accounts
    • Disable compromised credentials
  3. Eradicate root cause:
    • Remove malware/backdoors
    • Patch vulnerabilities
    • Update configurations
  4. Recover operations:
    • Restore from clean backups
    • Verify system integrity
    • Monitor for recurrence
  5. Conduct post-mortem:
    • Timeline reconstruction
    • Root cause analysis
    • Lessons learned
  6. Implement improvements:
    • Update detection rules
    • Enhance controls
    • Update runbooks
  7. Document and report
  8. Validation: Threat contained; root cause eliminated; systems recovered; post-mortem complete; improvements implemented

Incident Severity Levels

LevelDescriptionResponse TimeEscalation
P1 - CriticalActive breach, data exfiltrationImmediateCISO, Legal, Executive
P2 - HighConfirmed compromise, contained1 hourSecurity Lead, IT Director
P3 - MediumPotential compromise, under investigation4 hoursSecurity Team
P4 - LowSuspicious activity, low impact24 hoursOn-call engineer

Incident Response Checklist

PhaseActions
IdentificationValidate alert, assess scope, determine severity
ContainmentIsolate systems, preserve evidence, block access
EradicationRemove threat, patch vulnerabilities, reset credentials
RecoveryRestore services, verify integrity, increase monitoring
Lessons LearnedDocument timeline, identify gaps, update procedures

Security Tools Reference

Recommended Security Tools

CategoryTools
SASTSemgrep, CodeQL, Bandit (Python), ESLint security plugins
DASTOWASP ZAP, Burp Suite, Nikto
Dependency ScanningSnyk, Dependabot, npm audit, pip-audit
Secret DetectionGitLeaks, TruffleHog, detect-secrets
Container SecurityTrivy, Clair, Anchore
InfrastructureCheckov, tfsec, ScoutSuite
NetworkWireshark, Nmap, Masscan
PenetrationMetasploit, sqlmap, Burp Suite Pro

Cryptographic Algorithm Selection

Use CaseAlgorithmKey Size
Symmetric encryptionAES-256-GCM256 bits
Password hashingArgon2idN/A (use defaults)
Message authenticationHMAC-SHA256256 bits
Digital signaturesEd25519256 bits
Key exchangeX25519256 bits
TLSTLS 1.3N/A

See: references/cryptography-implementation.md


Tools and References

Scripts

ScriptPurposeUsage
threat_modeler.pySTRIDE threat analysis with risk scoring
python threat_modeler.py --component "Authentication"
secret_scanner.pyDetect hardcoded secrets and credentials
python secret_scanner.py /path/to/project

Threat Modeler Features:

  • STRIDE analysis for any system component
  • DREAD risk scoring
  • Mitigation recommendations
  • JSON and text output formats
  • Interactive mode for guided analysis

Secret Scanner Features:

  • Detects AWS, GCP, Azure credentials
  • Finds API keys and tokens (GitHub, Slack, Stripe)
  • Identifies private keys and passwords
  • Supports 20+ secret patterns
  • CI/CD integration ready

References

DocumentContent
security-architecture-patterns.mdZero Trust, defense-in-depth, authentication patterns, API security
threat-modeling-guide.mdSTRIDE methodology, attack trees, DREAD scoring, DFD creation
cryptography-implementation.mdAES-GCM, RSA, Ed25519, password hashing, key management

Security Standards Reference

Compliance Frameworks

FrameworkFocusApplicable To
OWASP ASVSApplication securityWeb applications
CIS BenchmarksSystem hardeningServers, containers, cloud
NIST CSFRisk managementEnterprise security programs
PCI-DSSPayment card dataPayment processing
HIPAAHealthcare dataHealthcare applications
SOC 2Service organization controlsSaaS providers

Security Headers Checklist

HeaderRecommended Value
Content-Security-Policydefault-src self; script-src self
X-Frame-OptionsDENY
X-Content-Type-Optionsnosniff
Strict-Transport-Securitymax-age=31536000; includeSubDomains
Referrer-Policystrict-origin-when-cross-origin
Permissions-Policygeolocation=(), microphone=(), camera=()

Related Skills

SkillIntegration Point
senior-devopsCI/CD security, infrastructure hardening
senior-secopsSecurity monitoring, incident response
senior-backendSecure API development
senior-architectSecurity architecture decisions

Anti-Patterns

  • Security by obscurity -- hiding endpoints or using non-standard ports is not a control; implement authentication, authorization, and encryption
  • MD5/SHA1 for password hashing -- both are broken for this purpose; use Argon2id or bcrypt with cost factor >= 12
  • Math.random for tokens -- predictable values allow session hijacking; use
    crypto.getRandomValues()
    or
    secrets.token_hex()
  • Shell=True in subprocess -- enables command injection; use argument lists with
    subprocess.run(["cmd", "arg"])
  • Threat model without data flow diagram -- STRIDE analysis requires DFD elements to be systematic; skip the DFD and you miss entire attack surfaces
  • Accepted risks without review cadence -- DREAD scores drift as systems evolve; re-validate accepted risks every 90 days

Troubleshooting

ProblemCauseSolution
Secret scanner reports false positives on test fixturesTest files contain example tokens that match secret patternsAdd test directories to the exclude list or filter by
--severity critical
to focus on confirmed secrets
Threat model returns all threats instead of component-specific onesComponent name does not match any entry in the component mappingUse a recognized component keyword (e.g., "authentication", "api", "database", "network", "storage") or a composite like "web application"
DREAD scores seem inflated for low-likelihood threatsDREAD factors are derived from likelihood and severity with fixed multipliersInterpret DREAD as a relative ranking within the report, not an absolute metric; adjust risk acceptance thresholds accordingly
Secret scanner misses secrets in non-standard file extensionsOnly files whose extensions appear in the pattern's
file_extensions
list are scanned
Rename config files to use a recognized extension (e.g.,
.conf
,
.env
,
.yml
) or extend the pattern database
Threat model does not cover custom component typesThe
COMPONENT_MAPPING
dictionary has a fixed set of keywords
Add new entries to
COMPONENT_MAPPING
in
threat_modeler.py
for project-specific components
Secret scanner exits with code 1 even after fixing secretsPrevious scan results are cached or the fix introduced a new matchRe-run the scanner after every fix; exit code 1 triggers whenever any critical or high finding remains
Security headers audit produces incomplete resultsApplication is behind a reverse proxy that strips or overrides headersTest headers at the edge (CDN/load balancer) rather than at the application origin

Success Criteria

  • Zero critical- or high-severity secrets detected by
    secret_scanner.py
    across the entire codebase before every release.
  • Threat model coverage above 90%: every component in the data flow diagram has a completed STRIDE analysis with documented mitigations.
  • All OWASP Top 10 vulnerability categories addressed in the security architecture with at least one compensating control per category.
  • Mean time to remediate critical vulnerabilities under 48 hours from discovery to verified fix.
  • 100% of authentication and authorization code paths reviewed with the Secure Code Review Checklist before merge.
  • Incident response exercises (tabletop or simulated) conducted at least quarterly with post-mortem documentation.
  • DREAD risk scores for all remaining accepted risks reviewed and re-validated every 90 days.

Scope & Limitations

This skill covers:

  • Application-level security: threat modeling, secure code review, secret detection, and vulnerability assessment for web applications and APIs.
  • Security architecture design: defense-in-depth layering, Zero Trust patterns, authentication/authorization model selection, and encryption strategy.
  • Incident response planning: severity classification, containment procedures, post-mortem frameworks, and runbook creation.
  • Compliance mapping: OWASP ASVS, CIS Benchmarks, NIST CSF, PCI-DSS, HIPAA, and SOC 2 alignment at the application layer.

This skill does NOT cover:

  • Infrastructure and cloud security hardening (see senior-devops and aws-solution-architect).
  • Runtime security monitoring, SIEM rule authoring, and SOC operations (see senior-secops).
  • Full regulatory compliance programs, audit evidence collection, and certification processes (see ra-qm-team).
  • Network penetration testing tooling, red team operations, and physical security assessments.

Integration Points

SkillIntegrationData Flow
senior-devopsCI/CD pipeline security gatesThreat model mitigations feed into pipeline hardening requirements; secret scanner runs as a pre-commit or CI step
senior-secopsSecurity monitoring and incident responseThreat model outputs define detection rules; incident severity levels align with SecOps alerting tiers
senior-backendSecure API developmentSecure code review checklist applied to backend PRs; authentication pattern selection guides API auth implementation
senior-architectSecurity architecture decisionsDefense-in-depth layers and Zero Trust principles inform architecture design reviews; STRIDE results feed architecture risk register
senior-qaSecurity testing integrationVulnerability assessment findings become QA regression test cases; OWASP Top 10 mapping drives security test coverage
ra-qm-teamCompliance framework alignmentSecurity controls mapped to SOC 2, PCI-DSS, and HIPAA requirements; threat model documentation satisfies audit evidence needs

Tool Reference

threat_modeler.py

Purpose: Performs STRIDE threat analysis on system components with DREAD risk scoring, mitigation recommendations, and structured reporting.

Usage:

python threat_modeler.py --component "User Authentication"
python threat_modeler.py --component "API Gateway" --assets "user_data,tokens" --json
python threat_modeler.py --component "Database" --output report.txt
python threat_modeler.py --interactive
python threat_modeler.py --list-threats

Flags:

FlagShortTypeRequiredDescription
--component
-c
stringYes (unless
--interactive
or
--list-threats
)
Component to analyze (e.g., "User Authentication", "API Gateway", "Database")
--assets
-a
stringNoComma-separated list of assets to protect
--json
flagNoOutput report as JSON instead of text
--interactive
-i
flagNoRun guided interactive threat modeling session
--list-threats
-l
flagNoList all threats in the built-in database
--output
-o
stringNoWrite report to file path instead of stdout

Example:

$ python threat_modeler.py --component "API Gateway" --json --output api-threats.json
Report written to api-threats.json

Output Formats:

  • Text (default): Structured report grouped by STRIDE category with risk scores, DREAD ratings, attack vectors, and mitigations.
  • JSON (
    --json
    ):
    Machine-readable object containing
    component
    ,
    analysis_date
    ,
    summary
    (counts by risk level), and
    threats
    array with full DREAD breakdown per threat.

secret_scanner.py

Purpose: Detects hardcoded secrets, API keys, credentials, and private keys in source code. Supports 20+ secret patterns across cloud providers (AWS, GCP, Azure), authentication tokens (GitHub, GitLab, Slack, Stripe, Twilio, SendGrid), cryptographic keys, and generic credential patterns. Exits with code 1 when critical or high findings are present, making it CI/CD-ready.

Usage:

python secret_scanner.py /path/to/project
python secret_scanner.py /path/to/file.py
python secret_scanner.py /path/to/project --format json --output report.json
python secret_scanner.py /path/to/project --severity critical
python secret_scanner.py --list-patterns

Flags:

FlagShortTypeRequiredDescription
path
positionalYes (unless
--list-patterns
)
File or directory path to scan
--format
-f
choice:
text
,
json
NoOutput format (default:
text
)
--output
-o
stringNoWrite report to file path instead of stdout
--list-patterns
-l
flagNoList all detection patterns with IDs and severity
--severity
-s
choice:
critical
,
high
,
medium
,
low
NoMinimum severity threshold to report (includes all levels from critical down to the specified level)

Example:

$ python secret_scanner.py ./src --severity high --format json
{
  "target": "./src",
  "scan_date": "2026-03-21T10:30:00",
  "summary": { "total": 2, "by_severity": { "critical": 1, "high": 1, "medium": 0, "low": 0 } },
  "findings": [ ... ]
}

Output Formats:

  • Text (default): Severity-grouped report showing pattern ID, file path with line number, masked match text, and remediation recommendation.
  • JSON (
    --format json
    ):
    Machine-readable object with
    target
    ,
    scan_date
    ,
    summary
    (counts by severity), and
    findings
    array. Each finding includes
    pattern_id
    ,
    name
    ,
    severity
    ,
    file_path
    ,
    line_number
    ,
    matched_text
    (masked), and
    recommendation
    .