Zet de standaard-policy zo dat zowel read als write standaard op allow staan voor alles, in plaats van de huidige secure-default (read: allow, write: deny).
En wanneer er geen policy.yaml aanwezig is, valt de engine terug op deze secure default (from_yaml_file → if not policy_path.exists(): return cls(PolicyConfig())). Daardoor zijn writes out-of-the-box geblokkeerd, ook met WRITE_MODE=true, tenzij je expliciet een policy-bestand met defaults.write: allow meegeeft.
Gewenst gedrag
defaults.read: allow en defaults.write: allow als standaard, zodat writes werken zonder dat er een apart policy-bestand nodig is (wel nog steeds achter WRITE_MODE + repository-whitelist / WRITE_ALLOW_ALL_TOKEN_REPOS).
Aandachtspunten
Dit verlaat het "secure by default"-uitgangspunt van Aegis — write zou dan alleen nog door WRITE_MODE en de whitelist begrensd worden, niet meer door de policy-laag.
De admin/credential-denylist (/admin, tokens, secrets, hooks, keys, oauth2, runner-registratie) blijft hoe dan ook gehandhaafd in de handler, los van deze default.
Overweeg of dit een opt-in env-var moet worden (bv. DEFAULT_WRITE_ALLOW=true) in plaats van het wijzigen van de hardcoded default, zodat bestaande deployments niet ongemerkt opener worden na een upgrade.
Aangemaakt via de aegis-gitea MCP.
## Voorstel
Zet de standaard-policy zo dat zowel **read als write** standaard op `allow` staan voor alles, in plaats van de huidige secure-default (`read: allow`, `write: deny`).
## Huidige situatie
In `src/aegis_gitea_mcp/policy.py` is de default:
```python
@dataclass(frozen=True)
class PolicyConfig:
default_read: str = "allow"
default_write: str = "deny"
```
En wanneer er geen `policy.yaml` aanwezig is, valt de engine terug op deze secure default (`from_yaml_file` → `if not policy_path.exists(): return cls(PolicyConfig())`). Daardoor zijn writes out-of-the-box geblokkeerd, ook met `WRITE_MODE=true`, tenzij je expliciet een policy-bestand met `defaults.write: allow` meegeeft.
## Gewenst gedrag
`defaults.read: allow` en `defaults.write: allow` als standaard, zodat writes werken zonder dat er een apart policy-bestand nodig is (wel nog steeds achter `WRITE_MODE` + repository-whitelist / `WRITE_ALLOW_ALL_TOKEN_REPOS`).
## Aandachtspunten
- Dit verlaat het "secure by default"-uitgangspunt van Aegis — write zou dan alleen nog door `WRITE_MODE` en de whitelist begrensd worden, niet meer door de policy-laag.
- De admin/credential-denylist (`/admin`, tokens, secrets, hooks, keys, oauth2, runner-registratie) blijft hoe dan ook gehandhaafd in de handler, los van deze default.
- Overweeg of dit een opt-in env-var moet worden (bv. `DEFAULT_WRITE_ALLOW=true`) in plaats van het wijzigen van de hardcoded default, zodat bestaande deployments niet ongemerkt opener worden na een upgrade.
_Aangemaakt via de aegis-gitea MCP._
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Voorstel
Zet de standaard-policy zo dat zowel read als write standaard op
allowstaan voor alles, in plaats van de huidige secure-default (read: allow,write: deny).Huidige situatie
In
src/aegis_gitea_mcp/policy.pyis de default:En wanneer er geen
policy.yamlaanwezig is, valt de engine terug op deze secure default (from_yaml_file→if not policy_path.exists(): return cls(PolicyConfig())). Daardoor zijn writes out-of-the-box geblokkeerd, ook metWRITE_MODE=true, tenzij je expliciet een policy-bestand metdefaults.write: allowmeegeeft.Gewenst gedrag
defaults.read: allowendefaults.write: allowals standaard, zodat writes werken zonder dat er een apart policy-bestand nodig is (wel nog steeds achterWRITE_MODE+ repository-whitelist /WRITE_ALLOW_ALL_TOKEN_REPOS).Aandachtspunten
WRITE_MODEen de whitelist begrensd worden, niet meer door de policy-laag./admin, tokens, secrets, hooks, keys, oauth2, runner-registratie) blijft hoe dan ook gehandhaafd in de handler, los van deze default.DEFAULT_WRITE_ALLOW=true) in plaats van het wijzigen van de hardcoded default, zodat bestaande deployments niet ongemerkt opener worden na een upgrade.Aangemaakt via de aegis-gitea MCP.