AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill provides a machine-readable implementation of the OWASP Top 10 for Web Applications (2025). It serves as a comprehensive reference for developers and security professionals to understand, detect, and mitigate critical web vulnerabilities. Each of the ten vulnerability categories is documented with detailed descriptions, risk assessments, checklists for identifying exposure, and actionable prevention controls.
What it does
- Provides structured access to the 2025 OWASP Top 10 web security vulnerabilities.
- Offers vulnerability-specific checklists to help identify potential security gaps.
- Includes detailed prevention controls and remediation strategies for each risk.
- Supplies clear descriptions of how vulnerabilities manifest in modern web applications.
- Categorizes risks by their primary security domain, such as Access Control or Cryptography.
- Enables agents to perform security-focused analysis and provide guidance on hardening applications.
When to use it
- During the design phase to ensure security best practices are built into the architecture.
- When performing security audits or code reviews to identify common vulnerability patterns.
- When remediating specific security findings reported by automated scanners or penetration tests.
- To educate development teams on the most critical risks facing web applications today.
Advantages
- Standardized, machine-readable format allows for easy integration into agent workflows.
- Covers the most critical and pervasive web application security risks.
- Provides actionable, concrete steps for both detection and long-term remediation.
- Aligned with the industry-standard OWASP framework for consistency in security reporting.
Usage examples
- “What are the common indicators that my application is vulnerable to broken access control?”
- The agent will return a checklist of indicators, such as the ability to bypass access controls via URL tampering or missing authorization on API endpoints.
- “How can I prevent cryptographic failures in my web application?”
- The agent will provide specific prevention controls, such as enforcing strong encryption standards and managing keys securely.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/microsoft/owasp-top-10/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip owasp-top-10.zip -d .agents/skills
Documentation by Microsoft
OWASP® Top 10 — Skill Entry
This SKILL.md is the entrypoint for the OWASP Top 10 skill.
The skill encodes the OWASP Top 10 for Web Applications (2025) as structured, machine-readable references that an agent can query to identify, assess, and remediate web application security risks.
Normative references (Web Top 10)
Skill layout
SKILL.md— this file (skill entrypoint).references/— the Web Top 10 normative documents.00-vulnerability-index.md— index of all vulnerability identifiers, categories, and cross-references.01through10— one document per vulnerability aligned with OWASP Web Application Security numbering.
Third-Party Attribution
Copyright © OWASP Foundation. OWASP® Top 10 (2025) content is derived from works by the OWASP Foundation, licensed under CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0/). Source: https://owasp.org/Top10/2025/ Modifications: Vulnerability descriptions restructured into agent-consumable reference documents with added detection and remediation guidance. OWASP® is a registered trademark of the OWASP Foundation. Use does not imply endorsement.
Files
- ATTRIBUTION.mdAdded by AutoGineer979 B
- LICENSEAdded by AutoGineer17.9 KiB
- SKILL.md2.5 KiB
- references/00-vulnerability-index.md2.8 KiB
- references/01-broken-access-control.md5.9 KiB
- references/02-security-misconfiguration.md5.7 KiB
- references/03-software-supply-chain-failures.md6.1 KiB
- references/04-cryptographic-failures.md5.9 KiB
- references/05-injection.md5.6 KiB
- references/06-insecure-design.md5.6 KiB
- references/07-authentication-failures.md5.8 KiB
- references/08-software-data-integrity-failures.md5.7 KiB
- references/09-security-logging-alerting-failures.md5.9 KiB
- references/10-mishandling-exceptional-conditions.md6.2 KiB
references/10-mishandling-exceptional-conditions.md
title: 'A10: Mishandling of Exceptional Conditions' description: OWASP Web Top 10 reference for mishandling exceptional conditions including improper error handling and uncontrolled resource consumption
10 Mishandling of Exceptional Conditions
Identifier: A10:2025 Category: Error Handling
Description
Mishandling of exceptional conditions occurs when applications fail to prevent, detect, and respond to unusual and unpredictable situations, leading to crashes, unexpected behavior, and security vulnerabilities. This involves three failure modes: the application does not prevent an unusual situation from occurring, it does not identify the situation as it happens, or it responds poorly or not at all afterward. Exceptional conditions can be caused by missing or incomplete input validation, late or high-level error handling instead of handling at the function where errors occur, unexpected environmental states such as memory or network issues, inconsistent exception handling, or exceptions that are not handled at all, leaving the system in an unknown state. The resulting vulnerabilities include logic bugs, overflows, race conditions, fraudulent transactions, and issues with memory, state, resource, timing, authentication, and authorization.
Risk
Denial of service through resource exhaustion when exceptions do not properly release allocated resources.
Sensitive data exposure through error messages that reveal system internals, stack traces, or database structure.
State corruption in financial transactions when multi-step operations are not rolled back on failure.
Race conditions exploitable by attackers interrupting transactions at critical points.
Authentication and authorization bypass when error handling falls through to permissive default states.
System instability from uncaught exceptions leaving the application in an unknown and unpredictable state.
Vulnerability checklist
Exceptions are caught at a high level but not handled at the functions where they occur.
Error messages expose sensitive system information including stack traces, database structure, or component versions.
Resources are not released when exceptions are thrown, leading to memory leaks or resource exhaustion.
Multi-step transactions are not rolled back completely when an error occurs mid-transaction.
Exceptional conditions are not logged or alerted on, preventing detection of ongoing attacks.
No global exception handler exists as a safety net for unhandled exceptions.
Error handling is implemented inconsistently across different parts of the application.
Rate limiting, resource quotas, and throttling are not implemented to prevent exceptional conditions from occurring.
Identical repeated errors are not aggregated, leading to log flooding.
Prevention controls
Catch every possible error directly at the function where it occurs and handle it with a meaningful recovery action.
Implement a global exception handler as a safety net for any unhandled exceptions.
Ensure all transactions that throw an error are rolled back completely and fail closed.
Include error logging and alerting as part of every exception handling path.
Return generic error messages to users and log detailed error information internally.
Add rate limiting, resource quotas, and throttling to prevent exceptional conditions from occurring.
Aggregate identical repeated errors above a threshold into statistical summaries appended to the original message.
Implement centralized error handling so that the entire application handles exceptions consistently.
Perform strict input validation with sanitization to prevent exceptional conditions from reaching internal functions.
Execute stress, performance, and penetration testing to identify error handling weaknesses.
Example attack scenarios
Scenario A — Resource exhaustion through exception handling
An application catches exceptions during file uploads but does not release resources after each exception. Each new exception leaves resources locked or unavailable. An attacker repeatedly triggers the exception until all resources are consumed and the application becomes unavailable.
Scenario B — Information disclosure through error messages
An application returns detailed database error messages to the user when an operation fails. An attacker deliberately triggers errors to harvest system information from the error output. The attacker uses the exposed information to craft a targeted SQL injection attack.
Scenario C — Financial state corruption
An attacker interrupts a multi-step financial transaction through network disruption. The transaction order is debit user account, credit destination account, log transaction. The system does not roll back the entire transaction on failure, and the attacker exploits the partial state to drain the user account or trigger duplicate credits.
Detection guidance
Review application code for exception handling coverage and consistency across all modules.
Test error responses to verify that no sensitive system information is exposed to users.
Monitor application logs for patterns of repeated exceptions indicating ongoing attack attempts.
Verify that all multi-step transactions implement complete rollback on failure.
Load test the application to identify resource leaks under sustained exception conditions.
Check that a global exception handler is in place and functioning as a safety net.
Remediation
Implement consistent exception handling at every function that can fail, with proper resource cleanup.
Deploy a global exception handler to catch and safely handle any unhandled exceptions.
Replace all user-facing error messages with generic responses and log details internally.
Add complete rollback logic to all multi-step transactions.
Deploy rate limiting and resource quotas on endpoints susceptible to abuse.
Standardize error handling across the entire application using a centralized mechanism.
Content derived from works by the OWASP Foundation, licensed under CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0/). Modifications: Restructured into agent-consumable reference format with added detection and remediation guidance.
Requirements and compatibility
Written for: GitHub Copilot, Claude Code
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Claude Code frontmatter
Security
What our scanner noticed· Low risk
- Instructions that use the network
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Published by
- Microsoft
- Publisher
- Microsoft (Official)
- Source
- microsoft/hve-core · .github/skills/security/owasp-top-10 · commit f425e94
- Licence
- Creative Commons Attribution-ShareAlike 4.0 International (redistribution allowed)
- LICENSE (written by AutoGineer)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Microsoft or Microsoft.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download owasp-top-10.zip