Generation, Not Selection: LLM Proposals for Certified Access-Control Policy Mining
Organizations: Indian Institute of Technology Kharagpur, India · Northeastern University, USA
Abstract
Attribute-Based Access Control (ABAC) policy mining---recovering a compact, auditable policy from an access log---is posed as minimum set cover and solved greedily, which enjoys an guarantee. That guarantee is conditional on a precondition the literature never states: the candidate pool handed to greedy must contain the optimal rules. Generation, not selection, is the binding constraint, and existing generators are purely syntactic---they surface a rule only when enough log records witness it, so they fail on precisely the rare exception rules that fill a heavy-tailed policy. We replace the generator with a language model proposing rules semantically, from attribute names, and keep the combinatorial selector to carry the guarantee: every proposal is filtered against the observed denials, so soundness is independent of the proposal mechanism and an unreliable proposer can only waste candidates, never grant access. Over five seeds on each of two enterprise domains, adding semantic proposal to a syntactic miner dominates it on ten of ten runs---strictly better on seven---with near-optimal policies (-- rules against , versus --) and false grants cut four- to sevenfold. Replacing the syntactic miner rather than augmenting it wins only where witnesses are scarce. An anonymization ablation isolates the mechanism: opaque attribute names cost two thirds of the model's rule recovery while leaving the syntactic baselines provably unmoved, and cost nothing where witnesses are plentiful. Semantic knowledge and log evidence are substitutes.
Figures & tables
| held-out recall | held-out false grants | ||||
|---|---|---|---|---|---|
| D1 | FCA | ||||
| LLM | |||||
| LLM FCA | |||||
| D2 | FCA | ||||
| LLM | |||||
| LLM FCA |
Appendix figures & tables6 assets
Supplementary material from the paper’s appendix.
Appendix
| seed 0 | seed 1 | seed 2 | seed 3 | seed 4 | |
|---|---|---|---|---|---|
| SG | 0.22 / 55 / 0.150 | 0.67 / 18 / 0.050 | 0.56 / 61 / 0.108 | 0.56 / 36 / 0.100 | 0.67 / 37 / 0.058 |
| FCA | 0.78 / 14 / 0.050 | 0.78 / 12 / 0.042 | 0.89 / 12 / 0.042 | 0.78 / 17 / 0.033 | 0.78 / 18 / 0.075 |
| LLM | 1.00 / 9 / 0.008 | 0.78 / 8 / 0.008 | 1.00 / 9 / 0.000 | 0.78 / 7 / 0.000 | 1.00 / 9 / 0.000 |
| LLM FCA | 1.00 / 9 / 0.008 | 0.89 / 9 / 0.017 | 1.00 / 9 / 0.008 | 0.89 / 12 / 0.025 | 1.00 / 9 / 0.008 |
| seed 0 | seed 1 | seed 2 | seed 3 | seed 4 | |
|---|---|---|---|---|---|
| SG | 0.44 / 73 / 0.175 | 0.89 / 21 / 0.050 | 0.44 / 46 / 0.092 | 0.44 / 46 / 0.125 | 0.67 / 37 / 0.108 |
| FCA | 1.00 / 9 / 0.000 | 0.89 / 13 / 0.008 | 0.89 / 12 / 0.033 | 1.00 / 9 / 0.008 | 0.89 / 13 / 0.017 |
| LLM | 0.78 / 8 / 0.000 | 1.00 / 9 / 0.000 | 0.89 / 8 / 0.000 | 0.89 / 9 / 0.008 | 0.56 / 10 / 0.008 |
| LLM FCA | 1.00 / 9 / 0.000 | 1.00 / 9 / 0.000 | 1.00 / 9 / 0.000 | 1.00 / 9 / 0.008 | 0.89 / 10 / 0.000 |
| proposer | D1 | D2 |
|---|---|---|
| ChatGPT (GPT-5.6, free tier) | ||
| Claude Sonnet 5, medium effort | ||
| Claude Opus 5, max effort | ||
| Gemini Flash, regular thinking | ||
| Gemini Pro, extended thinking |
| min witnesses | |||||||
|---|---|---|---|---|---|---|---|
| FCA | |||||||
| FCA |
| exhaustive | |||||
|---|---|---|---|---|---|
| FCA time (s, capped) | |||||
| SG time (s) | |||||
| LLM prompt (chars) |
| D1 (witnesses scarce) | D2 (plentiful) | |||
| named | anonymized | named | anonymized | |
| LLM | ||||
| LLM held-out recall | ||||
| unsafe proposals, round 2 | — | — | — | |
| refinement lift, recall | — | — | ||
| SG, FCA (all metrics) | identical across conditions | |||
Access Control
Access control specifies and enforces who or what may access data and perform actions, under which conditions.
See all 73 papers