detecting-broken-object-property-level-authorization

detecting-broken-object-property-level-authorization is a skill for Claude Code, Codex from xalgorix/xalgorix. It costs 36 tokens per session (3,438 once invoked), scanned A, original, Apache-2.0.

A security-testing guide for finding Broken Object Property Level Authorization problems in APIs. APIs are services that exchange data between software; this issue occurs when they reveal or accept individual data fields that a user should not be able to read or change.

In plain words
What is it for?
Use it during security investigations, threat hunting, detection-rule work, or checks of monitoring coverage for API field-level authorization problems.
Why use it?
It helps detect both excessive data exposure and mass assignment, where an API accepts unintended fields such as account roles. These flaws can exist even when access to the overall object is checked correctly.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it during security investigations, threat hunting, detection-rule work, or checks of monitoring coverage for API field-level authorization problems.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/xalgorix/xalgorix/detecting-broken-object-property-level-authorization
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add xalgorix/xalgorix --skill detecting-broken-object-property-level-authorization
Clone the repo
git clone --depth 1 https://github.com/xalgorix/xalgorix

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for detecting-broken-object-property-level-authorization

README.md
[![agentmods](https://agentmods.dev/badge/skills/xalgorix/xalgorix/detecting-broken-object-property-level-authorization/github.svg)](https://agentmods.dev/skills/xalgorix/xalgorix/detecting-broken-object-property-level-authorization)
Your own site
<a href="https://agentmods.dev/skills/xalgorix/xalgorix/detecting-broken-object-property-level-authorization"><img src="https://agentmods.dev/badge/skills/xalgorix/xalgorix/detecting-broken-object-property-level-authorization/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for detecting-broken-object-property-level-authorization

Your own site · 80×15
<a href="https://agentmods.dev/skills/xalgorix/xalgorix/detecting-broken-object-property-level-authorization"><img src="https://agentmods.dev/badge/skills/xalgorix/xalgorix/detecting-broken-object-property-level-authorization.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 36 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,438 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector warn 7 Sept 2026
SkillSpector: 4 findings, up to medium

These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →

  • medium Excessive Agency · line 95
    Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.
    Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
  • medium Data Exfiltration · line 244
    Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
    Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
  • medium Data Exfiltration · line 250
    Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
    Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
  • medium Data Exfiltration · line 304
    Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
    Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00036 $0.03438
Opus 5 $0.00018 $0.01719
Sonnet 5 $0.00007 $0.00688
Haiku 4.5 $0.00004 $0.00344

Measured 10d ago against content hash 3f47855758bc, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

detecting-broken-object-property-level-authorization scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

response = requests.get(url, headers=self.auth_headers, timeout=10)
internal/tools/skills/data/api-security/detecting-broken-object-property-level-authorization/SKILL.md · 415 lines

How it starts

The opening of the file, as written. The whole thing — 415 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Detecting Broken Object Property Level Authorization

Overview

Broken Object Property Level Authorization (BOPLA), classified as API3:2023 in the OWASP API Security Top 10, combines two related vulnerability classes: Excessive Data Exposure (API returning more data than needed) and Mass Assignment (API accepting more data than intended). Even when APIs enforce object-level authorization correctly, they may fail to control which specific properties of an object a user can read or modify. Attackers exploit this by reading sensitive properties from API responses or injecting additional properties into request bodies to modify fields they should not have access to.

When to Use

  • When investigating security incidents that require detecting broken object property level authorization
  • When building detection rules or threat hunting queries for this domain
  • When SOC analysts need structured procedures for this analysis type
  • When validating security monitoring coverage for related attack techniques

Detection Gaps & Validation

  • Mass-assignment silently accepted: the server returns 200 and echoes only safe fields, but the privileged field (role, is_verified) was written - confirm by re-fetching the object (GET) with the owner/victim account, never trust the write response body.
  • Field-name aliasing: APIs map isAdmin, is_admin, admin, role_id, roles[], and nested account.tier to the same column - testing only one casing/spelling yields false negatives.
  • Excessive exposure hides in nested objects and arrays: sensitive fields appear under data.items[].owner.ssn or only on page 2; flatten recursively and check list responses, not just the top-level object.
  • GraphQL over-fetch: fields blocked on REST may be reachable via GraphQL aliases/fragments even with introspection disabled.

How to validate the detection fires: seed a test object with a known sensitive field and confirm the scanner's SENSITIVE_PROPERTY_PATTERNS flag it; submit a known mass-assignment payload and confirm the re-fetch verification step reports the change. Tune false positives by maintaining a per-endpoint expected-field allowlist so legitimately public fields (avatar_url, display_name) do not generate noise.

Read the full file on GitHub · 415 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 10d ago First seen · 415 lines · 36 tokens per session scan A 3f47855758bc

Subscribe to this mod's changes

detecting-broken-object-property-level-authorization is a skill published in the GitHub repository xalgorix/xalgorix (971 stars, last pushed yesterday), licensed Apache-2.0. It adds 36 tokens to every session and 3,438 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

conducting-api-security-testing

Conducts security testing of REST, GraphQL, and gRPC APIs to identify vulnerabilities in authentication, authorization, rate limiting, input validation, and business logic. The tester uses the OWASP API Security Top 10 as the testing framework, combining Burp Suite interception with Postman collections and custom…

26zl/cybersec-toolkit · 99 tokens

cors-chain-automation

Use when a bounded list of authorized API endpoints needs consistent CORS triage before browser validation.

uphiago/recon-skills · 24 tokens

bypassing-authentication-with-forced-browsing

Discovering and accessing unprotected pages, APIs, and administrative interfaces by enumerating URLs and bypassing authentication controls during authorized security assessments.

26zl/cybersec-toolkit · 39 tokens

conducting-full-scope-red-team-engagement

Plan and execute a comprehensive red team engagement covering reconnaissance through post-exploitation using MITRE ATT&CK-aligned TTPs to evaluate an organization's detection and response capabilities.

26zl/cybersec-toolkit · 44 tokens

bounty-api

Use when bug-bountying an API target — REST, GraphQL, gRPC, WebSocket. Covers OWASP API Top 10 (BOLA, BFLA, mass assignment, rate limiting bypass, JWT issues, GraphQL abuse). Triggers on "bounty api", "graphql security", "rest api testing", "api top 10".

26zl/cybersec-toolkit · 77 tokens

configuring-hsm-for-key-storage

Hardware Security Modules (HSMs) are tamper-resistant physical devices that safeguard cryptographic keys and perform cryptographic operations in a hardened environment. Keys stored in an HSM never lea.

26zl/cybersec-toolkit · 45 tokens