Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/junmystery-abuse-case-cheat-sheet
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: spreadsheets
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions: not checked yet.
What's inside
- Skill name
abuse-case-cheat-sheet- Description
- None
- License
- MIT
- Instructions
- 452 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- missing YAML frontmatter
- name: missing
- description: missing
Files (1)
- SKILL.md
SKILL.md (first lines)
# Abuse Case Cheat Sheet (Historical) ## Archive Statement Reviewers have identified that abuse cases are rarely used in practice. Additionally, the material is presented as a "getting started tutorial" which isn't appropriate for the cheat sheet series. ## Introduction Often when the security level of an application is mentioned in requirements, the following _expressions_ are met: - _The application must be secure_. - _The application must defend against all attacks targeting this category of application_. - _The application must defend against attacks from the OWASP TOP 10_ - ... These security requirements are too generic, and thus useless for a development team... In order to build a secure application, from a pragmatic point of view, it is important to identify the attacks which the application must defend against, according to its business and technical context. Abuse cases were a frequently recommended _threat modeling_ technique, and reviewing the [threat modeling](https://cheatsheetseries.owasp.org/cheatsheets/Threat_Modeling_Cheat_Sheet.html) cheat sheet may be helpful. In practice, the abuse case framework seems heavyweight and there are few published examples or success stories. ### Objective The objective of this cheat sheet is to provide an explanation of what an **Abuse Case** is, how abuse cases can be important when considering the security of an application, and finally to provide a proposal for a pragmatic approach to building a list of abuse cases and tracking them for every feature planned for implementation as part of an application. The cheat sheet may be used for this purpose regardless of the project methodology used (waterfall or agile). **Important note about this Cheat Sheet:** ```text The main objective is to provide a pragmatic approach in order to allow a company or a project team to start building and handling the list of abuse cases and then customize the elements proposed to its context/culture in order to, finally, build its own method. This cheat sheet can be seen as a getting-started tutorial. ``` ### Context & approach #### Why clearly identify the attacks Clearly identifying the attacks against which the application must defend is essential in order to enable the following steps in a project or sprint: - Evaluate the business risk for each of the identified attacks in order to perform a selection according to the business risk and the project/sprint budget. - Derive security requirements and add them into the project specification or sprint's user stories and acceptance criteria. - Estimate the overhead of provision in the initial project/sprint charge that will be necessary to implement the countermeasures. - About countermeasures: Allow the project team to define them, and to determine in which location (network, infrastructure, code...) they should be located. #### Notion of Abuse Cases You can think of **Abuse cases** in two ways. The first is to discover attacks (answer the question "what can go wrong"), and the second is to help record those attacks (informally, this includes threats, issues, risks) in a form that may be less intimidating to developers. An **Abuse Case** can be defined as: ```text A way to use a feature that was not expected by the implementer, allowing an attacker to influence the feature or outcome of use of the feature based on the attacker action (or input). ``` Synopsis defines an **Abuse Case** like this: ```text Misuse and abuse cases describe how users misuse or exploit the weaknesses of controls in software features to attack an application. This can lead to tangible business impact when a direct attack against business functionalities, which may bring in revenue or provide positive user experience, are attacked. Abuse cases can also be an effective way to drive security requirements that lead to proper protection of these critical business use cases. ``` [Synopsis source](https://www.synopsys.com/blogs/software-security/abuse-cases-can-drive-security-requirements.html) #### How to define the list of Abuse Cases There are many different ways to define the list of abuse cases for a feature (that can be mapped to a user story in agile projects). [Threat Modeling](https://cheatsheetseries.owasp.org/cheatsheets/Threat_Modeling_Cheat_Sheet.html) is a set of techniques for anticipating what can go wrong, and ensuring we do something about each identified possible scenario. Taking each item on the list of "what are we going to do about it" and writing an abuse case may help your engineering teams process the output. The project [OWASP Open SAMM](https://owasp.org/www-project-samm/) proposes the following approach in the _Stream B_ of the Security Practice _Requirements Driven Testing_ for the Maturity level 2: ```text Misuse and abuse cases describe unintended and malicious use scenarios of the application, describing how an attacker could do this. Create misuse and abuse cases to misuse or exploit the weaknesses of controls in software features to attack an application. Use abuse-case models for an application to serve as fuel for identification of concrete security tests that directly or indirectly exploit the abuse scenarios. Abuse of functionality, sometimes referred to as a “business logic attack”, depends on the design and implementation of application functions and features. An example is using a password reset flow to enumerate accounts. As part of business logic testing, identify the business rules that are important for the application and turn them into experiments to verify whether the application properly enforces the business rule. For example, on a stock trading application, is the attacker allowed to start a trade at the beginning of the day and lock in a price, hold the transaction open until the end of the day, then complete the sale if the stock price has risen or cancel if the price dropped? ``` Open SAMM source: [Verification Requirement Driven Testing Stream B](https://owaspsamm.org/model/verification/requirements-driven-testing/stream-b/) Another way to achieve the building of the list can be the following (more bottom-up and collaboratively oriented): Make a workshop that includes people with the following profiles: - **Business analyst**: Will be the business key people that will describe each feature from a business point of view. - **Risk analyst**: Will be the company's risk personnel that will evaluate the business risk from a proposed attack (sometimes it is the **Business analyst** depending on the company). - **Penetration tester**: Will be the _attacker_ that will propose attacks that they can perform on the business feature(s) in question. If the company does not have a person with this profile then it is possible to request the service of an external specialist. If possible, include 2 penetration testers with different backgrounds in order to increase the number of possible attacks that will be identified and considered. - **Technical leaders of the projects**: Will be the project technical people and will allow technical exchange about attacks and countermeasures identified during the workshop. - **Quality assurance analyst or functional tester**: Personnel that may have a good sense of how the application/functionality is intended to work (positive testing), not work (negative testing), and what things cause it to fail (failure cases). During this workshop (duration will depend on the size of the feature list, but 4 hours is a good start) all business features that will be part of the project or the sprint will be processed. The output of the workshop will be a list of attacks (abuse cases) for all business features. All abuse cases will have a risk rating that allows for filtering and prioritization. It is important to take into account **Technical** and **Business** kind of abuse cases and mark them accordingly. _Example:_ - Technical flagged abuse case: Add Cross Site Scripting injection into a comment input field. - Business flagged abuse case: Ability to arbitrarily modify the price of an article in an online shop prior to passing an order causing the user to pay a lower amount for the wanted article. #### When to define the list of Abuse Cases In agile projects, the definition workshop must be made after the meeting in which User Stories are included in a Sprint. In waterfall projects, the definition workshop must be made when the business features to implement are identified and known by the business. Whatever the mode of the project used (agile or waterfall), the abuse cases selected to be addressed must become security requirements in each feature specification section (waterfall) or User Story acceptance criteria (agile) in order to allow additional cost/effort evaluation, identification and implementation of the countermeasures. Each abuse case must have a unique identifier in order to allow tracking throughout the whole project/sprint (details about this point will be given in the proposal section). An example of unique ID format can be **ABUSE_CASE_001**. The following figure provides an overview of the chaining of the different steps involved (from left to right):
From JunMystery/Agent-Guidance, MIT.
More from JunMystery/Agent-Guidance
- 0.556score
ai-behavior-trees-utility-ai
JunMystery
Build a production behavior-tree runtime (Blackboard, action/condition leaves, sequence/selector/parallel composites, decorators) and a Utility AI system…
SkillAFreshness: AClaude Code +9 - 0.294score
access-control-cheat-sheet
JunMystery
No description from the publisher yet.
SkillAFreshness: AClaude Code +9 - 0.294score
ai-agent-security-cheat-sheet
JunMystery
No description from the publisher yet.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Aug 18, 2026 (2 months ago)
- Last release
- Oct 23, 2026 (6 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/JunMystery/Agent-Guidance
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from JunMystery
- 0.556score
ai-behavior-trees-utility-ai
JunMystery
Build a production behavior-tree runtime (Blackboard, action/condition leaves, sequence/selector/parallel composites, decorators) and a Utility AI system…
SkillAFreshness: AClaude Code +9 - 0.497score
agent-workflow-ops
JunMystery
Canonical agentic and autonomous workflow operations for agent harnesses, agentic engineering, agentic OS design, continuous loops, dynamic workflow mode, and…
SkillCFreshness: C★ 2Claude Code +9 - 0.492score
adaptive-language
JunMystery
Adjust terminology based on user technical level.
SkillCFreshness: C★ 2Claude Code +9 - 0.492score
architecture-decision-records
JunMystery
Capture architectural decisions as structured ADRs, document APIs, write inline comments on intent, and maintain READMEs and changelogs.
SkillCFreshness: C★ 2Claude Code +9 - 0.492score
browser-qa
JunMystery
Automate visual testing, UI interaction verification, accessibility audits, and runtime debugging using browser automation and Chrome DevTools MCP.
SkillCFreshness: C★ 2Claude Code +9 - 0.492score
agent-guidance
JunMystery
Core system standards check and token-optimized codebase context retrieval.
SkillCFreshness: C★ 2Claude Code +9
Cite this page
abuse-case-cheat-sheet skill. Agent Mart. https://agentmart.dev/skills/junmystery-abuse-case-cheat-sheet (last updated 2026-10-24)