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.
npx skills add HermeticOrmus/LibreSecOps-Claude-Code --skill access-control-modelsgit clone --depth 1 https://github.com/HermeticOrmus/LibreSecOps-Claude-CodeWrote 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.
[](https://agentmods.dev/skills/hermeticormus/libresecops-claude-code/access-control-models)<a href="https://agentmods.dev/skills/hermeticormus/libresecops-claude-code/access-control-models"><img src="https://agentmods.dev/badge/skills/hermeticormus/libresecops-claude-code/access-control-models/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.
<a href="https://agentmods.dev/skills/hermeticormus/libresecops-claude-code/access-control-models"><img src="https://agentmods.dev/badge/skills/hermeticormus/libresecops-claude-code/access-control-models.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00065 | $0.02628 |
| Opus 5.5 | $0.00026 | $0.01051 |
| Sonnet 5.5 | $0.00013 | $0.00526 |
| Haiku 4.5 | $0.00006 | $0.00263 |
Grade A, and why
access-control-models scanned grade A with 0 findings 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 12d 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 318 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Access Control Models
RBAC, ABAC, ReBAC patterns -- when to use which, implementation guidance, and common pitfalls.
Knowledge Base
Access Control Model Comparison
| Model | Decision Based On | Complexity | Best For | Weakness |
|---|---|---|---|---|
| DAC (Discretionary) | Owner grants access | Low | File systems, small teams | No central control, permission sprawl |
| MAC (Mandatory) | Security labels/clearances | High | Military, classified data | Inflexible, requires central authority |
| RBAC (Role-Based) | Assigned roles | Medium | Enterprise apps, most SaaS | Role explosion, coarse-grained |
| ABAC (Attribute-Based) | User/resource/environment attributes | High | Dynamic policies, fine-grained | Complex policy management, debugging |
| ReBAC (Relationship-Based) | Object relationships | Medium-High | Social networks, document sharing, multi-tenant | Relationship graph complexity |
Decision Framework
Does access depend on WHO the user is (their role)?
YES → Start with RBAC
Do you need decisions based on CONTEXT (time, location, device, risk)?
YES → Layer ABAC on top of RBAC
Does access depend on RELATIONSHIPS between objects (owner, shared-with, org member)?
YES → Consider ReBAC
Is the permission model mostly static (roles change rarely)?
YES → RBAC is sufficient
Do you have many resources with different sharing patterns?
YES → ReBAC (Google Zanzibar model)
Patterns
Pattern 1: RBAC Implementation (Application Level)
# Role-Based Access Control implementation
from enum import Enum
from functools import wraps
class Permission(Enum):
READ_REPORTS = "reports:read"
WRITE_REPORTS = "reports:write"
DELETE_REPORTS = "reports:delete"
MANAGE_USERS = "users:manage"
VIEW_AUDIT_LOG = "audit:read"
MANAGE_SETTINGS = "settings:manage"
# Role definitions: map roles to permissions
ROLE_PERMISSIONS = {
"viewer": {
Permission.READ_REPORTS,
},
"analyst": {
Permission.READ_REPORTS,
Permission.WRITE_REPORTS,
Permission.VIEW_AUDIT_LOG,
},
"manager": {
Permission.READ_REPORTS,
Permission.WRITE_REPORTS,
Permission.DELETE_REPORTS,
Permission.VIEW_AUDIT_LOG,
},
"admin": {
Permission.READ_REPORTS,
Permission.WRITE_REPORTS,
Permission.DELETE_REPORTS,
Permission.MANAGE_USERS,
Permission.VIEW_AUDIT_LOG,
Permission.MANAGE_SETTINGS,
},
}
def require_permission(permission: Permission):
"""Decorator that checks if the current user has the required permission."""
def decorator(func):
@wraps(func)
def wrapper(*args, **kwargs):
user = get_current_user()
user_permissions = set()
for role in user.roles:
user_permissions.update(ROLE_PERMISSIONS.get(role, set()))
if permission not in user_permissions:
log_auth_failure(user, permission, func.__name__)
raise PermissionDeniedError(
f"Permission {permission.value} required"
)
log_auth_success(user, permission, func.__name__)
return func(*args, **kwargs)
return wrapper
return decorator
# Usage
@require_permission(Permission.DELETE_REPORTS)
def delete_report(report_id: str):
"""Only users with DELETE_REPORTS permission can call this."""
...
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.
- 12d ago Changed · +5 lines · +65 tokens per session b42f829c8187
- 1mo ago First seen · 313 lines · 0 tokens per session scan A 2b0f52d41dd2
access-control-models is a skill published in the GitHub repository HermeticOrmus/LibreSecOps-Claude-Code (4 stars, last pushed 9d ago), licensed MIT. It adds 65 tokens to every session and 2,628 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
implementing-devsecops-security-scanning
Integrates Static Application Security Testing (SAST), Dynamic Application Security Testing (DAST), and Software Composition Analysis (SCA) into CI/CD pipelines using open-source tools. Covers Semgrep for SAST, Trivy for SCA and container scanning, OWASP ZAP for DAST, and Gitleaks for secrets detection. Activates for…
building-devsecops-pipeline-with-gitlab-ci
Design and implement a comprehensive DevSecOps pipeline in GitLab CI/CD integrating SAST, DAST, container scanning, dependency scanning, and secret detection.
integrating-dast-with-owasp-zap-in-pipeline
This skill covers integrating OWASP ZAP (Zed Attack Proxy) for Dynamic Application Security Testing in CI/CD pipelines. It addresses configuring baseline, full, and API scans against running applications, interpreting ZAP findings, tuning scan policies, and establishing DAST quality gates in GitHub Actions and GitLab…
implementing-runtime-application-self-protection
Deploy Runtime Application Self-Protection (RASP) agents to detect and block attacks from within application runtime, covering OpenRASP integration, attack pattern detection, and security policy configuration for Java and Python web applications.
integrating-dast-with-owasp-zap-in-pipeline
This skill covers integrating OWASP ZAP (Zed Attack Proxy) for Dynamic Application Security Testing in CI/CD pipelines. It addresses configuring baseline, full, and API scans against running applications, interpreting ZAP findings, tuning scan policies, and establishing DAST quality gates in GitHub Actions and GitLab…
audit-production-readiness
Audit a repository or service for release-blocking bugs, security, data/privacy, AI-agent, supply-chain, operability, and scale risks. Use for deep code audits, threat models, pre-production reviews, vulnerability triage, incidents, defensive investigation, release gates, or evidence-based 10k-to-1M-user readiness.