artmetla
7297a9e637
Submission Verification logic for Android submissions ( #289 )
...
1) Disabled AppArmor block for unpriviledged user namespaces. This hapend in ubuntu-latest: https://discourse.ubuntu.com/t/understanding-apparmor-user-namespace-restriction/58007 . Added this step to "get_android_dependencies.sh".
2) Using "get_android_dependencies.sh" script to handle dependencies for all execution options: server.py, exploit build, and exploit_reproduction.
3) Optimised exploit reproduction run time, by downloading releases and installing dependencies in parallel.
4) Conducted clean up to free up a bit of extra space for Cuttlefish runs (cleaning compilation leftovers and APT caches).
5) Using "cuttlefish.sh" to run VM in all execution options: server.py and GHA reproducer. Modified "cuttlefish.sh" to add "--test-mode" which allows easy testing by setting "falg" file permissions equivalent to exploit executable. It's disabled in prod. Improved Android16 detection logic (to enable necessary execution flags for "launch_cvd"), as apparently "launch_cvd --help" could fail sometimes. Improved cleaning logic (important as launch_cvd is super nasty and lefts a lot of tmps and random leftovers which could negatively impact next run of the VM)
6) Apparently in ubuntu-latest "sg -c" requires password. So implemented this logic canonical/data-platform-workflows@349e0c8 . This is important as Cuttlefish couldn't run without user being added in groups. By default they suggest reboot to apply those changes, but it's impossible in GHA.
7) "Check PR content" logic is already updated in prod
8) Ensured that in exploit build environment NDK is added to the PATH, so simple Makefiles like:
```
exploit: exploit.c
clang --target=x86_64-linux-android35 -static $^ -o exploit
```
The whole thing was tested with dummy exploit in my fork.
9) Implemented proper timeout check (30 mins) in "cuttlefish.sh"
10) Introduced sparse-checkout for the GHA.
2025-12-04 15:21:19 +01:00
artmetla
b706f60a9b
Improve kernelCTF auto releaser to handle Android releases ( #284 )
...
- The auto-releaser would wok in a following logic:
1. Access https://androidbuildinternal.googleapis.com/android/internal/build/v3/builds?branches=aosp-android-latest-release&buildAttemptStatus=complete&buildType=submitted&maxResults=1&successful=true&target=aosp_cf_x86_64_only_phone-userdebug to get an information about latest Android build available in JSON format.
2. We take the build number and using fetch_artifact (https://android.googlesource.com/tools/fetch_artifact/ ) attempt to download "kernel_version.txt" artefact from Android build to get all the necessary build details.
3. Using build details check if kernelCTF GCS bucket contains already the release. If not add it to releases that should be processed by kernelctf-release-build action.
- The logic of kernelctf-release-build action updated to handle new naming style of Android releases.
2025-11-27 13:31:33 +01:00
artmetla
662572c16c
Build Android release and upload to Cloud Bucket ( #277 )
2025-11-18 13:05:48 +01:00
Eduardo' Vela" Nava (sirdarckcat)
26bcc14b4d
Update kernel-codeql-release.yaml
2025-11-03 09:14:31 +01:00
Eduardo' Vela" Nava (sirdarckcat)
9fdac8393e
Update kernel-codeql-release.yaml
2025-11-02 09:52:44 +01:00
Eduardo' Vela" Nava (sirdarckcat)
c79816a8fd
Update kernel-codeql-release.yaml
2025-11-01 07:30:36 +01:00
Eduardo' Vela" Nava (sirdarckcat)
170fbfd9a5
Comment out config-file in kernel-codeql-release.yaml
...
Comment out config-file line in CodeQL workflow
2025-10-31 11:00:21 +01:00
Eduardo' Vela" Nava (sirdarckcat)
bf2aa1936b
Enable custom config file for CodeQL analysis
2025-10-29 18:10:38 +01:00
Eduardo' Vela" Nava (sirdarckcat)
69a5dfa03b
Update kernel-codeql-release.yaml
2025-10-29 16:14:20 +01:00
Eduardo' Vela" Nava (sirdarckcat)
76a232c60f
Update CodeQL workflow to skip queries
...
Comment out the config-file line and enable skip-queries.
2025-10-29 16:11:07 +01:00
Eduardo' Vela" Nava (sirdarckcat)
b2ea0b7507
Update kernel-codeql-release.yaml
2025-10-29 14:26:48 +01:00
Eduardo' Vela" Nava (sirdarckcat)
336ad09ab0
Update kernel-codeql-release.yaml
2025-10-29 14:23:59 +01:00
Eduardo' Vela" Nava (sirdarckcat)
4267632b1e
don't upload db to avoid wasting space
2025-10-27 23:45:21 +01:00
Eduardo' Vela" Nava (sirdarckcat)
5b927de94c
Update kernel-codeql-release.yaml
2025-10-26 09:26:05 +01:00
Eduardo' Vela" Nava (sirdarckcat)
41994a6cda
Update CodeQL release workflow to include results
2025-10-26 08:00:08 +01:00
Eduardo' Vela" Nava (sirdarckcat)
9ef6899cbe
Update kernel-codeql-release.yaml
2025-10-25 23:59:46 +02:00
Eduardo' Vela" Nava (sirdarckcat)
3fc2d64819
Update kernel-codeql-release.yaml
2025-10-25 23:52:48 +02:00
Eduardo' Vela" Nava (sirdarckcat)
ff9d2545ec
Automate CodeQL DB generation
2025-10-25 19:41:01 +02:00
Eduardo' Vela" Nava (sirdarckcat)
da26fc7ac7
Update kernel-codeql-release.yaml
2025-10-25 14:58:53 +02:00
Eduardo' Vela" Nava (sirdarckcat)
06e93d2efd
Update kernel-codeql-release.yaml
2025-10-25 11:12:12 +02:00
Eduardo' Vela" Nava (sirdarckcat)
032dba7a22
Update kernel-codeql-release.yaml
2025-10-25 10:58:00 +02:00
Eduardo' Vela" Nava (sirdarckcat)
ce56c9c807
limit codeql db to 2GB
2025-10-25 10:42:04 +02:00
Eduardo' Vela" Nava (sirdarckcat)
170366f143
Refactor kernel-codeql-release workflow steps
...
Updated the workflow to install base dependencies and prepare kernel source. Adjusted error handling for the TOKEN variable.
2025-10-24 16:52:32 +02:00
Eduardo' Vela" Nava (sirdarckcat)
ead56c4d30
Refactor kernel CodeQL release workflow
...
Updated the CodeQL release workflow to reflect changes in repository names and improve tag processing logic.
2025-10-24 16:48:55 +02:00
Tamas Koczka
dca13e4891
kernelCTF: repro: install libkeyutils for kernelXDK
2025-10-22 18:52:36 +00:00
Tamas Koczka
68ac012885
kernelXDK: repro: install kernelXDK
2025-10-22 18:31:14 +00:00
sroettger
8ab623118e
[v8ctf] Automation: grant write permissions
2025-06-25 10:16:39 +02:00
sroettger
2bebc3a92a
[v8ctf] Automation: add temporary workflow_dispatch trigger
2025-06-25 10:08:50 +02:00
sroettger
95a4dffedd
[v8ctf] Automation: git add untracked files
2025-06-25 10:03:51 +02:00
sroettger
34094449af
[v8ctf] Create a github workflow that automatically updates challenges ( #211 )
2025-06-12 06:04:42 +02:00
Tamás Koczka
87cb1fff28
kernelCTF: GHA: run apt-get update too
2025-03-28 13:31:25 +01:00
Tamas Koczka
2b1a1adbca
GHA: remove jekyll-gh-pages.yml workflow as GHA has a built-in one
2025-03-13 15:25:53 +00:00
Tamas Koczka
c60a0c6027
kernelCTF: add draft style guide
2025-03-13 15:24:20 +00:00
Tamas Koczka
6faab0ec61
kernelCTF: GHA: fix repro artifact filename
2025-03-12 12:44:41 +00:00
Tamas Koczka
d8412c58fa
kernelCTF: GHA: fix workflow syntax error
2025-03-03 15:24:16 +00:00
Tamas Koczka
f56b903d0e
kernelCTF: GHA: fail if the generated binary does not have debug_info
2025-03-03 15:23:08 +00:00
Tamas Koczka
96873cbc5d
kernelCTF: GHA: separate artifact names
2025-03-03 15:19:42 +00:00
Tamas Koczka
c111d81ec5
kernelCTF: GHA: fix verify all workflow
2025-03-03 14:31:43 +00:00
Tamás Koczka
71cdaa2466
Feature/debug build ( #169 )
...
* kernelCTF: GHA: add debug build for exploits
* kernelCTF: GHA: add workflow to trigger PR verification on all PRs
2025-03-03 15:18:41 +01:00
Tamás Koczka
af4dba5827
GHA: run repro on ubuntu-latest since it also supports nested virtualization
2025-02-27 19:23:13 +01:00
Tamás Koczka
ac459baf86
GHA: more fixes in jekyll-gh-pages.yml
2025-02-12 18:19:24 +01:00
Tamás Koczka
642db688d2
GHA: update upload-artifact version in jekyll-gh-pages.yml
...
Old version became deprecated and could not be used anymore: https://github.blog/changelog/2024-04-16-deprecation-notice-v3-of-the-artifact-actions/
2025-02-12 18:08:36 +01:00
artmetla
817de537c7
Update upload-artifact in kernelctf-submission-verification.yaml
2024-10-25 14:21:27 +02:00
artmetla
5ba813ff20
Switch version for download-artifact from precise to general
2024-10-21 11:43:45 +02:00
artmetla
4cfc925540
Bump auth version in auto-releaser
2024-10-21 11:42:00 +02:00
artmetla
490d264024
Bump versions of auth and upload-cloud-storage in subm verification.
2024-10-21 11:40:57 +02:00
artmetla
38ca27a57e
Bump versions of auth and upload-cloud-storage
2024-10-21 11:39:49 +02:00
Tamas Koczka
43a5a816c3
kernelCTF: GHA: add mitigation-v3b release without nftables
2024-09-27 21:30:52 +00:00
artmetla
ebe282ba7b
Update upload / download artifact to v4 in kernelctf-submission-verification.yaml
2024-09-25 17:42:19 +02:00
artmetla
54fe51676f
Update upload / download artifact to v4 in kernelctf-release-build.yaml
2024-09-25 17:41:17 +02:00