Add the exit status code to the analysis output for commands executed by scripts.
I maintainer di solito rispondono entro 6 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 38/100
Direzione di ricerca
Inizia individuando il codice che analizza l'output di GVisor strace e produce l'output dell'analisi per i comandi eseguiti dagli script; l'issue identifica i record execve, exit ed exit_group, oltre alle parentesi PID/TID, come input rilevanti. Verifica che lo stato di uscita sia associato al binario eseguito, inclusi gli esempi mostrati 0x0 e 0x7f, e verifica l'output dell'analisi risultante.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
This ability can help find places where the sandbox can be improved, or be used to identify when a command being executed succeeded for failed.
The strace output generated by GVisor includes can be parsed to pair execve syscalls with exit or exit_group syscalls to extract the exit status of the executed binary.
For example, below shows a sample of strace output from GVisor of syscall exits. Note the PID == 3, with TID 4 and 7 exiting explicitly using (exit), with the entire group being exited as well (exit_group)
I0303 03:30:37.681359 206 strace.go:629] [ 3: 3] analyze.js X execve(0x7f782e606b40 /usr/local/bin/node ...
...
I0303 03:32:19.471116 206 strace.go:623] [ 3: 4] node X exit(0x0) = 0 (0x0) (1.336µs)
I0303 03:32:19.471135 206 strace.go:623] [ 3: 7] node X exit(0x0) = 0 (0x0) (1.413µs)
...
I0303 03:32:19.476033 206 strace.go:623] [ 3: 3] node X exit_group(0x0) = 0 (0x0) (15.45µs)
The exit code is included as the strace arg to the syscall. For example, below the exit code is 0x7f or 127:
I0303 03:32:04.019615 206 strace.go:623] [ 83: 83] ld-linux-x86-64 X exit_group(0x7f) = 0 (0x0) (1.823µs)
It is worth remembering in Linux that a process will first clone or fork itself and then call execve to hand execution over to the new binary. This means the PID and TID can be parsed from the square brackets before the name (e.g. [ 3: 7] corresponds to a PID of 3 and a TID of 7).
- Lingua principale
- Go
- Stelle
- 925
- Fork
- 75
- Merge medio
- 4g 2h
- PR unite (30g)
- 3
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di ossf/package-analysis
-
Python execute phase aborts with error_analysis when the package closes stdout (MCP stdio servers)Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 78/100
ossf/package-analysis#1200 ·
I maintainer di solito rispondono entro 6 giorni
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
ossf/package-analysis#1192 ·
I maintainer di solito rispondono entro 6 giorni
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
ossf/package-analysis#1125 ·
I maintainer di solito rispondono entro 6 giorni
-
4gbAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 5/100
ossf/package-analysis#1123 ·
I maintainer di solito rispondono entro 6 giorni
-
>4 gbAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 10/100
ossf/package-analysis#1122 ·
I maintainer di solito rispondono entro 6 giorni
Tutte le issue di ossf/package-analysis
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
-
evener-transcript-v2-upgrade tool still scans transcript files through bufio's 4 KiB default bufferAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
prime-radiant-inc/evener#6370 ·
I maintainer di solito rispondono entro 1 giorno
-
ManageSieve proxy: a backend's NO/BYE greeting is skipped as a capability line and reported as EOFApertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Mend: dependency security vulnerability
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
Mend: dependency security vulnerability
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
ManageIQ/manageiq-pods#1476 ·
I maintainer di solito rispondono entro 1 giorno