mirror of
https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite.git
synced 2026-02-14 08:36:38 +00:00
Compare commits
18 Commits
test/chack
...
test/chack
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
28e773ff2d | ||
|
|
06756b8d0f | ||
|
|
5c2ed8576e | ||
|
|
10de2d0540 | ||
|
|
6a1d1efe95 | ||
|
|
cf3565d7e0 | ||
|
|
386ef0642a | ||
|
|
0680509774 | ||
|
|
3b0a8fd616 | ||
|
|
62ef61af0f | ||
|
|
b6c4474c27 | ||
|
|
4650d6b8ad | ||
|
|
354e3b81fb | ||
|
|
2848feda9b | ||
|
|
0bec3535dc | ||
|
|
2b1ab21f66 | ||
|
|
a8c5967d21 | ||
|
|
1e68040be3 |
34
.github/workflows/chack-agent-pr-triage.yml
vendored
34
.github/workflows/chack-agent-pr-triage.yml
vendored
@@ -12,6 +12,8 @@ jobs:
|
|||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
pull-requests: write
|
pull-requests: write
|
||||||
|
env:
|
||||||
|
CHACK_LOGS_HTTP_URL: ${{ secrets.CHACK_LOGS_HTTP_URL }}
|
||||||
outputs:
|
outputs:
|
||||||
should_run: ${{ steps.gate.outputs.should_run }}
|
should_run: ${{ steps.gate.outputs.should_run }}
|
||||||
pr_number: ${{ steps.gate.outputs.pr_number }}
|
pr_number: ${{ steps.gate.outputs.pr_number }}
|
||||||
@@ -80,13 +82,25 @@ jobs:
|
|||||||
${{ steps.gate.outputs.base_ref }} \
|
${{ steps.gate.outputs.base_ref }} \
|
||||||
+refs/pull/${{ steps.gate.outputs.pr_number }}/head
|
+refs/pull/${{ steps.gate.outputs.pr_number }}/head
|
||||||
|
|
||||||
|
- name: Set up Node.js for Codex
|
||||||
|
if: ${{ steps.gate.outputs.should_run == 'true' }}
|
||||||
|
uses: actions/setup-node@v5
|
||||||
|
with:
|
||||||
|
node-version: "20"
|
||||||
|
|
||||||
|
- name: Install Codex CLI
|
||||||
|
if: ${{ steps.gate.outputs.should_run == 'true' }}
|
||||||
|
run: |
|
||||||
|
npm install -g @openai/codex
|
||||||
|
codex --version
|
||||||
|
|
||||||
- name: Run Chack Agent
|
- name: Run Chack Agent
|
||||||
id: run_chack
|
id: run_chack
|
||||||
if: ${{ steps.gate.outputs.should_run == 'true' }}
|
if: ${{ steps.gate.outputs.should_run == 'true' }}
|
||||||
uses: carlospolop/chack-agent@master
|
uses: carlospolop/chack-agent@master
|
||||||
with:
|
with:
|
||||||
provider: openrouter
|
provider: codex
|
||||||
model_primary: BEST_QUALITY
|
model_primary: CHEAP_BUT_QUALITY
|
||||||
main_action: peass-ng
|
main_action: peass-ng
|
||||||
sub_action: Chack-Agent PR Triage
|
sub_action: Chack-Agent PR Triage
|
||||||
system_prompt: |
|
system_prompt: |
|
||||||
@@ -96,6 +110,7 @@ jobs:
|
|||||||
Remember taht you are an autonomouts agent, use the exec tool to run the needed commands to list, read, analyze, modify, test...
|
Remember taht you are an autonomouts agent, use the exec tool to run the needed commands to list, read, analyze, modify, test...
|
||||||
tools_config_json: "{\"exec_enabled\": true}"
|
tools_config_json: "{\"exec_enabled\": true}"
|
||||||
session_config_json: "{\"long_term_memory_enabled\": false}"
|
session_config_json: "{\"long_term_memory_enabled\": false}"
|
||||||
|
agent_config_json: "{\"self_critique_enabled\": false, \"require_task_list_init_first\": true}"
|
||||||
output_schema_file: .github/chack-agent/pr-merge-schema.json
|
output_schema_file: .github/chack-agent/pr-merge-schema.json
|
||||||
user_prompt: |
|
user_prompt: |
|
||||||
You are reviewing PR #${{ steps.gate.outputs.pr_number }} for ${{ github.repository }}.
|
You are reviewing PR #${{ steps.gate.outputs.pr_number }} for ${{ github.repository }}.
|
||||||
@@ -119,7 +134,7 @@ jobs:
|
|||||||
|
|
||||||
Output JSON only, following the provided schema:
|
Output JSON only, following the provided schema:
|
||||||
.github/chack-agent/pr-merge-schema.json
|
.github/chack-agent/pr-merge-schema.json
|
||||||
openrouter_api_key: ${{ secrets.OPENROUTER_API_KEY }}
|
openai_api_key: ${{ secrets.OPENAI_API_KEY }}
|
||||||
|
|
||||||
- name: Parse Chack Agent decision
|
- name: Parse Chack Agent decision
|
||||||
id: parse
|
id: parse
|
||||||
@@ -131,9 +146,18 @@ jobs:
|
|||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
|
|
||||||
data = json.loads(os.environ.get('CHACK_MESSAGE', '') or '{}')
|
raw = (os.environ.get('CHACK_MESSAGE', '') or '').strip()
|
||||||
|
decision = 'comment'
|
||||||
|
message = 'Chack Agent did not provide details.'
|
||||||
|
try:
|
||||||
|
data = json.loads(raw or '{}')
|
||||||
|
if isinstance(data, dict):
|
||||||
decision = data.get('decision', 'comment')
|
decision = data.get('decision', 'comment')
|
||||||
message = data.get('message', '').strip() or 'Chack Agent did not provide details.'
|
message = data.get('message', '').strip() or message
|
||||||
|
else:
|
||||||
|
message = raw or message
|
||||||
|
except Exception:
|
||||||
|
message = raw or message
|
||||||
with open(os.environ['GITHUB_OUTPUT'], 'a') as handle:
|
with open(os.environ['GITHUB_OUTPUT'], 'a') as handle:
|
||||||
handle.write(f"decision={decision}\n")
|
handle.write(f"decision={decision}\n")
|
||||||
handle.write("message<<EOF\n")
|
handle.write("message<<EOF\n")
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
TARGET_BRANCH: master
|
TARGET_BRANCH: master
|
||||||
FIX_BRANCH: chack-agent/ci-master-fix-${{ github.event.workflow_run.id }}
|
FIX_BRANCH: chack-agent/ci-master-fix-${{ github.event.workflow_run.id }}
|
||||||
|
CHACK_LOGS_HTTP_URL: ${{ secrets.CHACK_LOGS_HTTP_URL }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout failing commit
|
- name: Checkout failing commit
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v5
|
||||||
@@ -96,12 +97,22 @@ jobs:
|
|||||||
echo "Leave the repo in a state ready to commit; changes will be committed and pushed automatically."
|
echo "Leave the repo in a state ready to commit; changes will be committed and pushed automatically."
|
||||||
} > chack_prompt.txt
|
} > chack_prompt.txt
|
||||||
|
|
||||||
|
- name: Set up Node.js for Codex
|
||||||
|
uses: actions/setup-node@v5
|
||||||
|
with:
|
||||||
|
node-version: "20"
|
||||||
|
|
||||||
|
- name: Install Codex CLI
|
||||||
|
run: |
|
||||||
|
npm install -g @openai/codex
|
||||||
|
codex --version
|
||||||
|
|
||||||
- name: Run Chack Agent
|
- name: Run Chack Agent
|
||||||
id: run_chack
|
id: run_chack
|
||||||
uses: carlospolop/chack-agent@master
|
uses: carlospolop/chack-agent@master
|
||||||
with:
|
with:
|
||||||
provider: openrouter
|
provider: codex
|
||||||
model_primary: BEST_QUALITY
|
model_primary: CHEAP_BUT_QUALITY
|
||||||
main_action: peass-ng
|
main_action: peass-ng
|
||||||
sub_action: CI-master Failure Chack-Agent PR
|
sub_action: CI-master Failure Chack-Agent PR
|
||||||
system_prompt: |
|
system_prompt: |
|
||||||
@@ -110,7 +121,8 @@ jobs:
|
|||||||
prompt_file: chack_prompt.txt
|
prompt_file: chack_prompt.txt
|
||||||
tools_config_json: "{\"exec_enabled\": true}"
|
tools_config_json: "{\"exec_enabled\": true}"
|
||||||
session_config_json: "{\"long_term_memory_enabled\": false}"
|
session_config_json: "{\"long_term_memory_enabled\": false}"
|
||||||
openrouter_api_key: ${{ secrets.OPENROUTER_API_KEY }}
|
agent_config_json: "{\"self_critique_enabled\": false, \"require_task_list_init_first\": true}"
|
||||||
|
openai_api_key: ${{ secrets.OPENAI_API_KEY }}
|
||||||
|
|
||||||
- name: Commit and push fix branch if changed
|
- name: Commit and push fix branch if changed
|
||||||
id: push_fix
|
id: push_fix
|
||||||
@@ -123,9 +135,27 @@ jobs:
|
|||||||
|
|
||||||
rm -f chack_failure_summary.txt chack_prompt.txt chack_failed_steps_logs.txt
|
rm -f chack_failure_summary.txt chack_prompt.txt chack_failed_steps_logs.txt
|
||||||
git add -A
|
git add -A
|
||||||
|
# Avoid workflow-file pushes with token scopes that cannot write workflows.
|
||||||
|
git reset -- .github/workflows || true
|
||||||
|
git checkout -- .github/workflows || true
|
||||||
|
git clean -fdx -- .github/workflows || true
|
||||||
git reset -- chack_failure_summary.txt chack_prompt.txt chack_failed_steps_logs.txt
|
git reset -- chack_failure_summary.txt chack_prompt.txt chack_failed_steps_logs.txt
|
||||||
|
if git diff --cached --name-only | grep -q '^.github/workflows/'; then
|
||||||
|
echo "Workflow-file changes are still staged; skipping push without workflows permission."
|
||||||
|
echo "pushed=false" >> "$GITHUB_OUTPUT"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
if git diff --cached --quiet; then
|
||||||
|
echo "No committable changes left after filtering."
|
||||||
|
echo "pushed=false" >> "$GITHUB_OUTPUT"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
git commit -m "Fix CI-master failures for run #${{ github.event.workflow_run.id }}"
|
git commit -m "Fix CI-master failures for run #${{ github.event.workflow_run.id }}"
|
||||||
git push origin HEAD:"$FIX_BRANCH"
|
if ! git push origin HEAD:"$FIX_BRANCH"; then
|
||||||
|
echo "Push failed (likely token workflow permission limits); skipping PR creation."
|
||||||
|
echo "pushed=false" >> "$GITHUB_OUTPUT"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
echo "pushed=true" >> "$GITHUB_OUTPUT"
|
echo "pushed=true" >> "$GITHUB_OUTPUT"
|
||||||
|
|
||||||
- name: Create PR to master
|
- name: Create PR to master
|
||||||
|
|||||||
@@ -64,6 +64,8 @@ jobs:
|
|||||||
pull-requests: write
|
pull-requests: write
|
||||||
issues: write
|
issues: write
|
||||||
actions: read
|
actions: read
|
||||||
|
env:
|
||||||
|
CHACK_LOGS_HTTP_URL: ${{ secrets.CHACK_LOGS_HTTP_URL }}
|
||||||
steps:
|
steps:
|
||||||
- name: Comment on PR with failure info
|
- name: Comment on PR with failure info
|
||||||
uses: actions/github-script@v7
|
uses: actions/github-script@v7
|
||||||
@@ -152,12 +154,22 @@ jobs:
|
|||||||
echo "Leave the repo in a state ready to commit as when you finish, it'll be automatically committed and pushed."
|
echo "Leave the repo in a state ready to commit as when you finish, it'll be automatically committed and pushed."
|
||||||
} > chack_prompt.txt
|
} > chack_prompt.txt
|
||||||
|
|
||||||
|
- name: Set up Node.js for Codex
|
||||||
|
uses: actions/setup-node@v5
|
||||||
|
with:
|
||||||
|
node-version: "20"
|
||||||
|
|
||||||
|
- name: Install Codex CLI
|
||||||
|
run: |
|
||||||
|
npm install -g @openai/codex
|
||||||
|
codex --version
|
||||||
|
|
||||||
- name: Run Chack Agent
|
- name: Run Chack Agent
|
||||||
id: run_chack
|
id: run_chack
|
||||||
uses: carlospolop/chack-agent@master
|
uses: carlospolop/chack-agent@master
|
||||||
with:
|
with:
|
||||||
provider: openrouter
|
provider: codex
|
||||||
model_primary: BEST_QUALITY
|
model_primary: CHEAP_BUT_QUALITY
|
||||||
main_action: peass-ng
|
main_action: peass-ng
|
||||||
sub_action: PR Failure Chack-Agent Dispatch
|
sub_action: PR Failure Chack-Agent Dispatch
|
||||||
system_prompt: |
|
system_prompt: |
|
||||||
@@ -167,7 +179,8 @@ jobs:
|
|||||||
prompt_file: chack_prompt.txt
|
prompt_file: chack_prompt.txt
|
||||||
tools_config_json: "{\"exec_enabled\": true}"
|
tools_config_json: "{\"exec_enabled\": true}"
|
||||||
session_config_json: "{\"long_term_memory_enabled\": false}"
|
session_config_json: "{\"long_term_memory_enabled\": false}"
|
||||||
openrouter_api_key: ${{ secrets.OPENROUTER_API_KEY }}
|
agent_config_json: "{\"self_critique_enabled\": false, \"require_task_list_init_first\": true}"
|
||||||
|
openai_api_key: ${{ secrets.OPENAI_API_KEY }}
|
||||||
|
|
||||||
- name: Commit and push if changed
|
- name: Commit and push if changed
|
||||||
env:
|
env:
|
||||||
@@ -180,9 +193,24 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
rm -f chack_failure_summary.txt chack_prompt.txt
|
rm -f chack_failure_summary.txt chack_prompt.txt
|
||||||
git add -A
|
git add -A
|
||||||
|
# Avoid workflow-file pushes with token scopes that cannot write workflows.
|
||||||
|
git reset -- .github/workflows || true
|
||||||
|
git checkout -- .github/workflows || true
|
||||||
|
git clean -fdx -- .github/workflows || true
|
||||||
git reset -- chack_failure_summary.txt chack_prompt.txt
|
git reset -- chack_failure_summary.txt chack_prompt.txt
|
||||||
|
if git diff --cached --name-only | grep -q '^.github/workflows/'; then
|
||||||
|
echo "Workflow-file changes are still staged; skipping push without workflows permission."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
if git diff --cached --quiet; then
|
||||||
|
echo "No committable changes left after filtering."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
git commit -m "Fix CI failures for PR #${PR_NUMBER}"
|
git commit -m "Fix CI failures for PR #${PR_NUMBER}"
|
||||||
git push origin HEAD:${TARGET_BRANCH}
|
if ! git push origin HEAD:${TARGET_BRANCH}; then
|
||||||
|
echo "Push failed (likely token workflow permission limits); leaving run successful without push."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Comment with Chack Agent result
|
- name: Comment with Chack Agent result
|
||||||
if: ${{ steps.run_chack.outputs.final-message != '' }}
|
if: ${{ steps.run_chack.outputs.final-message != '' }}
|
||||||
|
|||||||
@@ -53,4 +53,3 @@ if __name__ == "__main__":
|
|||||||
exit(1)
|
exit(1)
|
||||||
|
|
||||||
main(all_modules, all_no_fat_modules, no_network_scanning, small, include_modules, exclude_modules, output)
|
main(all_modules, all_no_fat_modules, no_network_scanning, small, include_modules, exclude_modules, output)
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
# Title: Users Information - subuid/subgid mappings
|
||||||
|
# ID: UG_Subuid_subgid_mappings
|
||||||
|
# Author: Carlos Polop
|
||||||
|
# Last Update: 13-02-2026
|
||||||
|
# Description: Show delegated user namespace ID ranges from /etc/subuid and /etc/subgid.
|
||||||
|
# License: GNU GPL
|
||||||
|
# Version: 1.0
|
||||||
|
# Functions Used: print_2title
|
||||||
|
# Global Variables: $MACPEAS
|
||||||
|
# Initial Functions:
|
||||||
|
# Generated Global Variables:
|
||||||
|
# Fat linpeas: 0
|
||||||
|
# Small linpeas: 1
|
||||||
|
|
||||||
|
|
||||||
|
print_2title "User namespace mappings (subuid/subgid)"
|
||||||
|
if [ "$MACPEAS" ]; then
|
||||||
|
echo "Not applicable on macOS"
|
||||||
|
else
|
||||||
|
if [ -r /etc/subuid ]; then
|
||||||
|
echo "subuid:"
|
||||||
|
grep -v -E '^\s*#|^\s*$' /etc/subuid 2>/dev/null
|
||||||
|
else
|
||||||
|
echo "/etc/subuid not readable or not present"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -r /etc/subgid ]; then
|
||||||
|
echo ""
|
||||||
|
echo "subgid:"
|
||||||
|
grep -v -E '^\s*#|^\s*$' /etc/subgid 2>/dev/null
|
||||||
|
else
|
||||||
|
echo "/etc/subgid not readable or not present"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
echo ""
|
||||||
|
|
||||||
@@ -46,7 +46,7 @@ class LinpeasBuilder:
|
|||||||
|
|
||||||
def build(self):
|
def build(self):
|
||||||
print("[+] Building variables...")
|
print("[+] Building variables...")
|
||||||
variables = self.__generate_variables()
|
variables = self.__generate_variabless()
|
||||||
self.__replace_mark(PEAS_VARIABLES_MARKUP, variables, "")
|
self.__replace_mark(PEAS_VARIABLES_MARKUP, variables, "")
|
||||||
|
|
||||||
if len(re.findall(r"PSTORAGE_[a-zA-Z0-9_]+", self.linpeas_sh)) > 1: #Only add storages if there are storages (PSTORAGE_BACKUPS is always there so it doesn't count)
|
if len(re.findall(r"PSTORAGE_[a-zA-Z0-9_]+", self.linpeas_sh)) > 1: #Only add storages if there are storages (PSTORAGE_BACKUPS is always there so it doesn't count)
|
||||||
|
|||||||
Reference in New Issue
Block a user