security-review-owasp-password-storage

Analyze password storage implementations against OWASP guidance for hashing, salting, and migration.

Updated Mar 26, 2026
One-click install
npx skills add https://github.com/sjinks/ai-owasp-skillset --skill security-review-owasp-password-storage
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: security-review-owasp-password-storage
Source: https://github.com/sjinks/ai-owasp-skillset/tree/main/.github/skills/security-review-owasp-password-storage
Command: npx skills add https://github.com/sjinks/ai-owasp-skillset --skill security-review-owasp-password-storage

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps reviewers spot password storage flaws that make credential theft easier, including reversible storage, weak hashing, poor parameter choices, and unsafe migration logic.

Core Features & Use Cases

  • Hashing and Configuration Review: Checks whether passwords use Argon2id, bcrypt, scrypt, or PBKDF2 with appropriate parameters.
  • Salt, Pepper, and Secret Handling: Verifies unique salts, safe pepper separation, and other controls that protect hashes after a database breach.
  • Migration and Edge Cases: Reviews legacy hash upgrades, rehash-on-login flows, and input handling for long passwords, Unicode, and truncation risks.
  • Use Case: Use this Skill to assess an authentication service, confirm whether stored passwords can withstand offline cracking, and identify upgrade paths for legacy hashes.

Quick Start

Ask the skill to review the password hashing, salt, pepper, and migration logic in the authentication flow you want assessed.

Frequently Asked Questions about security-review-owasp-password-storage

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I review password hashing implementations for weak storage flaws?

Review password hashing by verifying the use of Argon2id, bcrypt, scrypt, or PBKDF2 with appropriate parameters. Check for unique salts, safe pepper separation, and correct input handling to ensure stored passwords can withstand offline cracking after a database breach.

What is the best way to migrate legacy password hashes safely?

Safe legacy password hash migration requires controlled rehash-on-login upgrade logic. Verify that the migration flow upgrades old hashes to modern algorithms like Argon2id or bcrypt without exposing credentials or weakening offline cracking resistance during the transition.

Does OWASP password storage guidance require a pepper for secure hashing?

OWASP password storage guidance recommends safe pepper separation to protect hashes after a database breach. A pepper adds a server-side secret separate from the salt, but it must be stored securely outside the database to effectively increase offline cracking resistance.

How do you handle long passwords and Unicode truncation risks in password storage?

Handling long passwords and Unicode truncation risks involves checking input handling before hashing. Verify the authentication flow does not silently truncate long passwords or normalize Unicode characters, ensuring consistent hashing behavior and preventing unexpected authentication failures.

Can I use PBKDF2 parameters that meet OWASP password storage requirements?

PBKDF2 parameters meet OWASP password storage requirements when configured with appropriate work factors. Verify the iteration count is sufficiently high to resist offline cracking, ensuring the algorithm provides adequate protection for stored credentials against brute-force attacks.

Why does my password rehash-on-login upgrade logic need a security review?

Rehash-on-login upgrade logic needs a security review to verify controlled migration behavior. Flawed upgrade flows can expose credentials, weaken offline cracking resistance, or fail to properly transition legacy hashes to modern algorithms like Argon2id or bcrypt.