Allow command allowlists in company restricted mode
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 35/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- git, shell
調査の方向性
Issue にはファイル、テスト、具体的なエントリポイントが記載されていません。まず、restricted-mode と allow-all の既存の認可経路、承認フロー、コマンド実行の処理、UI での判断表示、監査ログの処理を見つけてください。完了の条件は、中央管理されたインジェクション耐性のある allowlist が会社全体のスコープで機能し、allowlist が存在しない場合の動作を変更しないことです。
索引モデルが issue の本文から書いたものです。
説明
Summary
Add support for administrators to define a whitelist of shell commands that the agent may run when company restricted mode is enabled and allow-all is disabled.
Problem
Restricted mode blocks commands by default, but teams may still need a small set of safe, routine commands for development workflows. Currently, enabling these workflows may require relaxing the broader allow-all restriction, weakening the intended security boundary.
Proposed solution
Provide an administrator-managed command allowlist for company restricted mode:
- Commands matching the allowlist are permitted without an additional approval prompt.
- Non-matching commands remain blocked or follow the existing approval flow.
- The allowlist can be managed centrally at the company, organization, repository, or user scope.
- Matching supports exact commands and explicitly constrained arguments, rather than unrestricted substring matching.
- The UI indicates when a command was allowed by an administrator-defined rule.
- Audit logs record the command, matched rule, user, repository, and timestamp.
Example allowed commands could include:
git status
git diff --check
swiftlint
npm test
Security considerations
The implementation must prevent bypasses through shell operators, command substitution, pipelines, redirects, aliases, path traversal, and argument injection. Rules should be validated before activation, and administrators should be able to review, update, and disable them.
Acceptance criteria
- Administrators can configure and manage a company-level command allowlist.
- The allowlist works while restricted mode is enabled and
allow-allis disabled. - Non-matching commands retain the existing restriction behavior.
- Matching is deterministic, documented, and resistant to shell-injection bypasses.
- Allowed-command decisions are visible to users and captured in audit logs.
- Existing behavior is unchanged when no allowlist is configured.
- 主要言語
- 言語のデータがありません
- スター
- 2.1k
- フォーク
- 157
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
github/app のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
似ている issue
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
canonical/paas-charm#368 · コメント 1 件 ·
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
palladius/rails8-app-on-gcp#142 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
StevenBlack/hosts#3256 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
corsairdev/corsair#1764 ·
-
oblt-aw/detector/security
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100