capability-system
Skill17 starsChanged 9 months agoApache-2.0View on GitHub
Implement capability-based security for fine-grained access control and least privilege.
In this repository98 other files it gives its agents.
- abstract-interpretation-engineSkill
- abstract-machineSkill
- acsl-annotation-assistantSkill
- actor-model-implementerSkill
- algebraic-effectsSkill
- alias-and-points-to-analysisSkill
- axiomatic-semanticsSkill
- bidirectional-type-checkingSkill
- bisimulation-checkerSkill
- closure-converterSkill
- common-subexpression-eliminatorSkill
- concurrency-verifierSkill
- constant-propagation-passSkill
- contextual-equivalenceSkill
- control-flow-analysisSkill
- coq-proof-assistantSkill
- cps-transformerSkill
- dafny-verifierSkill
- dataflow-analysis-frameworkSkill
- dead-code-eliminatorSkill
- defunctionalizationSkill
- denotational-semantics-builderSkill
- dependent-type-implementerSkill
- dsl-embeddingSkill
- effect-handlers-implementerSkill
- effect-systemSkill
- effect-type-systemSkill
- escape-analysisSkill
- existential-typesSkill
- ffi-designerSkill
- fuzzer-generatorSkill
- gadt-implementerSkill
- garbage-collector-implementerSkill
- graalvm-truffle-implementerSkill
- gradual-typing-implementerSkill
- higher-order-abstract-syntaxSkill
- hoare-logic-verifierSkill
- incremental-computationSkill
- information-flow-analyzerSkill
- inline-expanderSkill
- interprocedural-analysisSkill
- invariant-generatorSkill
- jit-compiler-builderSkill
- lambda-calculus-interpreterSkill
- language-server-protocolSkill
- lean-proverSkill
- lexer-generatorSkill
- linear-type-implementerSkill
- liveness-analysisSkill
- llvm-backend-generatorSkill
- lock-free-data-structureSkill
- loop-optimizerSkill
- loop-termination-proverSkill
- macro-expanderSkill
- memory-allocatorSkill
- message-passing-systemSkill
- mlir-dialect-designerSkill
- model-checkerSkill
- module-systemSkill
- monad-transformerSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 3 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 44
Use unforgeable tokens (cryptographic or memory-safe references)
- Distinctive: line 46
Consider revocation carefully (may be impossible without tracking)
- Distinctive: line 47
Use object capabilities for fine-grained control
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Capability System
Capability-based security uses unforgeable tokens (capabilities) to represent authority. Instead of checking "who you are" (ACLs), it checks "what you hold" (capabilities), enabling fine-grained least privilege.
When to Use This Skill
- Building secure operating systems
- Implementing sandboxing
- Designing least-privilege systems
- Distributed object systems
- Secure browsers (seL4, Capsicum)
What This Skill Does
- Capability Tokens: Unforgeable references to resources
- Authority Delegation: Transfer capabilities between principals
- Attenuation: Reduce capability powers
- Revocation: Revoke delegated capabilities
- Confinement: Restrict capability propagation
Key Concepts
| Concept | Description |
| Capability | Unforgeable token granting authority |
| Attenuation | Reduce capability permissions |
| Delegation | Transfer capability to another principal |
| Revocation | Invalidate capability and descendants |
| Confinement | Restrict capability propagation |
| Facet | Specific interface to an object |
Tips
- Use unforgeable tokens (cryptographic or memory-safe references)
- Implement proper attenuation
- Consider revocation carefully (may be impossible without tracking)
- Use object capabilities for fine-grained control
- Log capability usage for auditing
Common Use Cases
- Secure operating systems (seL4, Fuchsia)
- Browser sandboxing
- Distributed object systems
- Cloud access control
- IoT device security
Related Skills
information-flow-analyzer- Track information flowlinear-type-implementer- Linear capabilitiessandbox-builder- Use capabilities for sandboxingownership-type-system- Ownership and capabilities
Canonical References
| Reference | Why It Matters |
| Levy "Capability-Based Computer Systems" | Classic text |
| Miller "Capability Myths Demolished" | Clarifies misconceptions |
| Shapiro et al. "EROS: A Capability System" | Practical system |
Tradeoffs and Limitations
Approach Tradeoffs
| Approach | Pros | Cons |
| Pure capabilities | Composable, no ambient authority | Requires language support |
| Hybrid (ACL + caps) | Practical | Complex |
| Cryptographic caps | Distributed | Performance |
When NOT to Use This Skill
- Simple access control needs
- When ACLs suffice
- Performance-critical paths (crypto overhead)
Limitations
- Revocation is complex
- Confinement is hard
- Lost capabilities are hard to recover
Assessment Criteria
A high-quality implementation should have:
| Criterion | What to Look For |
| Unforgeability | Capabilities cannot be forged |
| Attenuation | Permissions can be reduced |
| Delegation | Capabilities can be shared |
| Revocation | Capabilities can be revoked |
Quality Indicators
✅ Good: Unforgeable, supports attenuation and revocation ⚠️ Warning: Forgery possible, no revocation ❌ Bad: No security guarantees
Research Tools & Artifacts
Capability systems:
| System | What to Learn |
| EROS | Capability OS |
| CapROS | Modern capability OS |
| Fuchsia | Capability-based |
Research Frontiers
1. Distributed Capabilities
- Goal: Capabilities across trust boundaries
- Approach: Cryptographic capabilities
Implementation Pitfalls
| Pitfall | Real Consequence | Solution |
| Forgery | Security breach | Cryptographic seals |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

