Git ოპერაციები
git_operations ინსტრუმენტი PRX აგენტებს ვერსიების კონტროლის შესაძლებლობებს ერთიანი ინტერფეისით აძლევს. shell ინსტრუმენტით git ბრძანებების გამოძახების ნაცვლად (რაც სენდბოქსის შეზღუდვების ქვეშ მოქმედებს), git_operations სტრუქტურირებულ, უსაფრთხო API-ს სთავაზობს ყველაზე გავრცელებული Git სამუშაო ნაკადებისთვის.
ინსტრუმენტი სამუშაო სივრცის რეპოზიტორიაზე მუშაობს. იგი all_tools() რეესტრში არის რეგისტრირებული და ყოველთვის ხელმისაწვდომია სრული ინსტრუმენტების ნაკრებით გაშვებისას.
კონფიგურაცია
[security.tool_policy.tools]
git_operations = "allow" # "allow" | "deny" | "supervised"გამოყენება
git_operations ინსტრუმენტი operation პარამეტრს იღებს, რომელიც შესასრულებელ Git მოქმედებას მიუთითებს:
status
მიმდინარე რეპოზიტორიის სტატუსის შემოწმება:
{
"name": "git_operations",
"arguments": {
"operation": "status"
}
}diff
ცვლილებების ნახვა სამუშაო ხეში ან კომიტებს შორის:
{
"name": "git_operations",
"arguments": {
"operation": "diff",
"args": ["--staged"]
}
}commit
კომიტის შექმნა შეტყობინებით:
{
"name": "git_operations",
"arguments": {
"operation": "commit",
"message": "fix: resolve race condition in session cleanup"
}
}push, pull, log, branch
სრული სიისთვის იხილეთ ინგლისურენოვანი დოკუმენტაცია. ყველა ოპერაცია operation პარამეტრით და არასავალდებულო args მასივით მუშაობს.
პარამეტრები
| პარამეტრი | ტიპი | სავალდებულო | ნაგულისხმევი | აღწერა |
|---|---|---|---|---|
operation | string | დიახ | -- | Git ოპერაცია: "status", "diff", "commit", "push", "pull", "log", "branch" |
message | string | პირობითი | -- | კომიტის შეტყობინება ("commit" ოპერაციისთვის სავალდებულო) |
args | array | არა | [] | Git ბრძანებისთვის გადაცემული დამატებითი არგუმენტები |
უსაფრთხოება
Shell-თან შედარება
git_operations-ის გამოყენება shell ინსტრუმენტით git-ის გაშვების ნაცვლად რამდენიმე უსაფრთხოების უპირატესობას იძლევა:
- არგუმენტების ვალიდაცია: პარამეტრები შესრულებამდე ვალიდდება, ინჯექციის შეტევების პრევენციისთვის
- სტრუქტურირებული გამოსავალი: შედეგები პროგნოზირებად ფორმატში იპარსება და ბრუნდება
- shell-ის გარეშე: არგუმენტები პირდაპირ Git-ს გადაეცემა shell-ის ინტერპრეტაციის გარეშე
- დეტალური პოლიტიკა:
git_operationsშეიძლება ნებადართული იყოს, სანამshellუარყოფილია ან ზედამხედველობის ქვეშაა
დესტრუქციული ოპერაციების დაცვა
ინსტრუმენტი მოიცავს დაცვებს გავრცელებული დესტრუქციული ოპერაციებისგან: force push გაფრთხილებით იწერება, -D (იძულებითი წაშლა) ოპერაციები აუდიტის ჟურნალში მოინიშნება.
დაკავშირებული გვერდები
- Shell-ის შესრულება -- მოწინავე Git ბრძანებების ალტერნატივა
- ფაილის ოპერაციები -- რეპოზიტორიაში ფაილების წაკითხვა/ჩაწერა
- ინსტრუმენტების მიმოხილვა -- ყველა ინსტრუმენტი და რეესტრის სისტემა