Skip to content

feat(skill): tenant-aware-cache-key-review — reviews cache keys for tenant leakage#2580

Open
daviediao-code wants to merge 2 commits into
UnitOneAI:mainfrom
daviediao-code:feature/cache-key-review
Open

feat(skill): tenant-aware-cache-key-review — reviews cache keys for tenant leakage#2580
daviediao-code wants to merge 2 commits into
UnitOneAI:mainfrom
daviediao-code:feature/cache-key-review

Conversation

@daviediao-code

@daviediao-code daviediao-code commented Jun 14, 2026

Copy link
Copy Markdown

What this PR does

Adds tenant-aware-cache-key-review skill for multi-tenant applications. Reviews cache keys for tenant leakage, authorization-before-cache-hit, and access-change invalidation.

Linked approved issue (required for new skills)

Closes #2573

Type of change

  • New skill

Reproduction — independently runnable (required)

Discrimination evidence — true positive AND true negative (required)

  • True positive (vulnerable case it correctly flagged), with file:line:
    skills/secops/cache-key-review/tests/vulnerable/tenant-scoped-key-missing.json — flags cache key without tenant scope (OWASP-API-Security-2023-A07)
  • True negative (safe case it correctly did NOT flag), with file:line:
    skills/secops/cache-key-review/tests/benign/tenant-scoped-key-present.json — correctly passes when tenant scope is present

Framework grounding

  • Frameworks / control IDs used:
    • OWASP API Security Top 10 2023 — A07: Identification and Authentication Failures
    • NIST SP 800-145 — The NIST Definition of Cloud Computing
    • RFC 9110 — HTTP Semantics: Cache-Control headers

Attestation & checklist

  • The reproduction above is from a real run I performed (no fabricated output)
  • SKILL.md follows format specification in CONTRIBUTING.md / SKILL_TEMPLATE.md
  • At least one real framework is cited with correct control IDs
  • All framework references verified against primary sources
  • Prompt Injection Safety Notice section included
  • injection-hardened: true set in frontmatter
  • allowed-tools scoped to minimum necessary permissions
  • Tested with vulnerable and benign fixtures
  • No prohibited patterns per SECURITY.md / injection scan workflow
  • index.yaml updated with new skill entry

Requested bounty tier: Intermediate ($350)

Payment details can be provided privately after maintainer acceptance.

@daviediao-code

Copy link
Copy Markdown
Author

Hi @kamalsrini — just bumping this PR for review when you have a moment. The skill tenant-aware-cache-key-review is ready for review with test fixtures and updated index.yaml. Requested bounty tier: Intermediate ($350). Thank you!

@daviediao-code

Copy link
Copy Markdown
Author

Hi @kamalsrini, checking in on this PR. Happy to address any feedback. The skill tenant-aware-cache-key-review is complete with test fixtures and index.yaml update. Thank you!

@kamalsrini

Copy link
Copy Markdown
Contributor

Thanks for the contribution. This is not merge-ready yet.

I reviewed the PR against current main and attempted a local merged-result validation. Blocking issues:

  • ruby scripts/validate_skill_schema.rb fails:
    • skills/appsec/runtime-debug-endpoint-security/SKILL.md is missing YAML frontmatter delimited by ---.
    • skills/secops/cache-key-review/SKILL.md has name: tenant-aware-cache-key-review, but the directory is cache-key-review; the schema requires the name to match the skill directory.
  • ruby scripts/validate_index.rb fails:
    • the new skill files are not recognized as valid indexed skills in the current index contract.
    • index.yaml also has a malformed last_updated indentation in the PR diff.
  • git diff --check origin/main...HEAD fails due to trailing whitespace in skills/secops/cache-key-review/SKILL.md lines 92 and 106.
  • Scope mismatch: the PR title/body describe the cache-key skill, but the PR also adds runtime-debug-endpoint-security. Please split that into a separate PR or update the PR title/body, evidence, fixtures, and acceptance scope to cover both skills.
  • Fixture gap: the PR body claims a benign cache-key fixture, but this PR only adds skills/secops/cache-key-review/tests/vulnerable/tenant-scoped-key-missing.json for that skill.
  • GitHub reports no checks on the PR branch, so there is no passing CI signal to rely on.

Please update the branch against current main, fix schema/index validation, remove whitespace errors, and make the PR scope match the submitted evidence before re-review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants