Berechtigungen und Sicherheitskonfiguration
Die leistungsstarken Fähigkeiten von KI-Programmiertools bringen auch Sicherheitsrisiken mit sich. Dieser Artikel zeigt Ihnen, wie Sie Opencodes Berechtigungssystem konfigurieren.
Warum Berechtigungskonfiguration benötigt wird?
Produktionsumgebungen fürchten zwei Dinge am meisten:
- Lesen sensibler Informationen:
.env-Dateien, private Schlüssel, API-Tokens - Ausführen gefährlicher Befehle:
rm -rf, Batch-Ersetzungen, falsche Datenbankoperationen
Durch angemessene Berechtigungskonfiguration können Sie:
- Verhindern, dass KI sensible Dateien liest
- KI-Dateiänderungsberechtigungen kontrollieren
- KI-Befehlsausführungsbereich einschränken
- Verschiedene Berechtigungen für verschiedene Agents festlegen
Grundlagen der Berechtigungskonfiguration
Opencodes Berechtigungssystem umfasst drei Ebenen:
- read - Dateileseberechtigung
- edit - Dateiänderungsberechtigung
- bash - Befehlsausführungsberechtigung
Jede Berechtigung kann eingestellt werden auf:
"allow"- Direkt zulassen"ask"- Jedes Mal um Benutzerbestätigung bitten"deny"- Direkt ablehnen
Empfohlene Sicherheitskonfiguration
Grundlegende Sicherheitskonfiguration
Geeignet für einzelne Entwickler:
{
"permission": {
"read": {
"*": "allow",
"*.env": "deny",
"*.env.*": "deny",
"*.env.example": "allow",
"*.key": "deny",
"*.pem": "deny",
"id_rsa*": "deny"
},
"edit": "ask",
"bash": {
"*": "ask",
"git status": "allow",
"git diff": "allow",
"npm test": "allow"
}
}
}
Strenge Sicherheitskonfiguration
Geeignet für Team-Zusammenarbeit oder Produktionsumgebungen:
{
"permission": {
"read": {
"*": "allow",
"*.env": "deny",
"*.key": "deny",
"*.pem": "deny",
".aws/credentials": "deny",
"database.yml": "ask"
},
"edit": "ask",
"bash": {
"*": "ask",
"git status": "allow",
"rm -rf": "deny",
"sudo": "deny",
"chmod 777": "deny"
}
}
}
Dateiberechtigungen erklärt
Wildcard-Regeln
{
"permission": {
"read": {
".env": "deny", // Exakte Übereinstimmung
"*.env": "deny", // Wildcard-Übereinstimmung
"secrets/*": "deny", // Verzeichnis-Übereinstimmung
"secrets/**": "deny" // Rekursive Übereinstimmung
}
}
}
Häufige sensible Dateien-Checkliste
{
"permission": {
"read": {
"*.env": "deny",
"*.key": "deny",
"*.pem": "deny",
"id_rsa": "deny",
".aws/credentials": "deny",
"database.yml": "ask",
"*.example": "allow"
}
}
}
Befehlsberechtigungen erklärt
Sichere Befehls-Whitelist
{
"permission": {
"bash": {
"*": "ask",
"git status": "allow",
"git diff": "allow",
"npm test": "allow",
"npm run lint": "allow"
}
}
}
Gefährliche Befehls-Blacklist
{
"permission": {
"bash": {
"rm -rf": "deny",
"chmod 777": "deny",
"sudo": "deny",
"dd": "deny",
"DROP DATABASE": "deny"
}
}
}
Agent-Ebenen-Berechtigungen
Nur-Lese-Agent
{
"agent": {
"code-reviewer": {
"description": "Code-Review-Experte",
"permission": {
"read": {"*": "allow"},
"edit": "deny",
"bash": "deny"
}
}
}
}
Sicherheits-Best-Practices
1. Prinzip der geringsten Berechtigung
Standard ablehnen, nach Bedarf öffnen.
2. Geschichtete Verteidigung
Globale Konfiguration + Projektkonfiguration + Agent-Konfiguration
3. Regelmäßige Audits
Überprüfen Sie KI-Betriebsprotokolle:
cat ~/.config/opencode/logs/operations.log
4. .gitignore verwenden
.env
.env.*
*.key
*.pem
.aws/
Nächste Schritte
Zusammengestellt von der OpenCodex-Community. Sicherheit ist keine Kleinigkeit.