orphans
| *Community 7 |
15 files |
cohesion 0.00* |
Definition
This community groups 15 file(s) rooted at tests with dominant language py (cohesion 0.00). Central symbols: AT_FDCWD, BEACON_API_H, BeaconDataExtract, BeaconDataInt, BeaconDataLength, BeaconDataParse, BeaconDataPtr, BeaconDataShort. Core file: bof/is_sudo/is_sudo.c (17 symbols). Documented purpose: Autor: Gris Iscomeback Correo electrónico: grisiscomeback[at]gmail[dot]com Fecha de creación: xx/xx/xxxx Licencia: GPL v3 Descripción:.
Files
| File |
Language |
Layer |
Symbols |
Doc |
app.py |
py |
utility |
0 |
yes |
bof/cat/cat.c |
c |
utility |
12 |
yes |
bof/is_sudo/is_sudo.c |
c |
utility |
17 |
yes |
bof/userenum/userenum.c |
c |
utility |
13 |
yes |
bof/whoami/whoami.c |
c |
utility |
14 |
yes |
gopher_c2.py |
py |
utility |
5 |
no |
include/beacon.h |
h |
utility |
13 |
yes |
install.sh |
sh |
utility |
0 |
yes |
issudo.c |
c |
utility |
17 |
yes |
tests/test_beacon_build.py |
py |
testing |
8 |
yes |
tests/test_bof_compile.py |
py |
testing |
7 |
yes |
tests/test_c2_http_e2e.py |
py |
testing |
9 |
yes |
tests/test_config.py |
py |
testing |
9 |
yes |
tests/test_crypto.py |
py |
testing |
8 |
yes |
tests/test_install_deploy.py |
py |
testing |
8 |
yes |
Key Symbols
NULL (macro, bof/cat/cat.c:3) #define NULL
CALLBACK_OUTPUT (macro, bof/cat/cat.c:4) #define CALLBACK_OUTPUT
size_t (type_alias, bof/cat/cat.c:7) typedef unsigned long size_t; - Tipos
ssize_t (type_alias, bof/cat/cat.c:8) typedef long ssize_t;
BeaconPrintf (function, bof/cat/cat.c:11) extern void BeaconPrintf(int, const char*, ...); - Símbolos del beacon
BeaconOutput (function, bof/cat/cat.c:12) extern void BeaconOutput(int, const char*, int);
SYS_openat (macro, bof/cat/cat.c:15) #define SYS_openat
SYS_read (macro, bof/cat/cat.c:16) #define SYS_read
SYS_close (macro, bof/cat/cat.c:17) #define SYS_close
AT_FDCWD (macro, bof/cat/cat.c:18) #define AT_FDCWD
syscall3 (function, bof/cat/cat.c:21) static inline long syscall3(long n, long a1, long a2, long a3) - Wrappers (copiados de tus ejemplos)
go (function, bof/cat/cat.c:31) void go(char *args, int alen)
NULL (macro, bof/is_sudo/is_sudo.c:3) #define NULL
CALLBACK_OUTPUT (macro, bof/is_sudo/is_sudo.c:4) #define CALLBACK_OUTPUT
size_t (type_alias, bof/is_sudo/is_sudo.c:7) typedef unsigned long size_t; - Tipos
ssize_t (type_alias, bof/is_sudo/is_sudo.c:8) typedef long ssize_t;
BeaconPrintf (function, bof/is_sudo/is_sudo.c:11) extern void BeaconPrintf(int, const char*, ...); - Símbolos del beacon
BeaconOutput (function, bof/is_sudo/is_sudo.c:12) extern void BeaconOutput(int, const char*, int);
SYS_openat (macro, bof/is_sudo/is_sudo.c:15) #define SYS_openat
SYS_read (macro, bof/is_sudo/is_sudo.c:16) #define SYS_read
SYS_close (macro, bof/is_sudo/is_sudo.c:17) #define SYS_close
SYS_getuid (macro, bof/is_sudo/is_sudo.c:18) #define SYS_getuid
SYS_getpwuid_r (macro, bof/is_sudo/is_sudo.c:19) #define SYS_getpwuid_r
AT_FDCWD (macro, bof/is_sudo/is_sudo.c:20) #define AT_FDCWD
syscall3 (function, bof/is_sudo/is_sudo.c:23) static inline long syscall3(long n, long a1, long a2, long a3) - Wrappers
syscall1 (function, bof/is_sudo/is_sudo.c:33) static inline long syscall1(long n, long a1)
strcmp (function, bof/is_sudo/is_sudo.c:44) static int strcmp(const char *s1, const char *s2) - strcmp mínimo (necesario para comparar strings)
get_username_from_uid (function, bof/is_sudo/is_sudo.c:53) static int get_username_from_uid(long uid, char *buf, int buf_size) - Obtener username desde /etc/passwd (sin libc)
go (function, bof/is_sudo/is_sudo.c:109) void go(char *args, int alen)
NULL (macro, bof/userenum/userenum.c:3) #define NULL
Internal vs External Edges
- Internal resolved imports (EXTRACTED): 0
- Cross-boundary resolved imports (EXTRACTED): 0
Connections
- [INFERRED] shares_context community 0 <-> 7 (strength 0.5): Inferred shared context (layer utility) with no import path between community 0 (root) and community 7 (orphans).
- [INFERRED] shares_context community 1 <-> 7 (strength 0.5): Inferred shared context (layer utility) with no import path between community 1 (include: cJSON) and community 7 (orphans).
- [INFERRED] shares_context community 2 <-> 7 (strength 0.5): Inferred shared context (layer utility) with no import path between community 2 (bof/include) and community 7 (orphans).
- [INFERRED] shares_context community 3 <-> 7 (strength 0.5): Inferred shared context (language py) with no import path between community 3 (include: server) and community 7 (orphans).
- [INFERRED] shares_context community 4 <-> 7 (strength 0.5): Inferred shared context (layer utility) with no import path between community 4 (include: aes) and community 7 (orphans).
Risks
- [taint high]
tests/test_beacon_build.py -> tests/test_beacon_build.py via subprocess (0 hops)
- [taint high]
tests/test_bof_compile.py -> tests/test_bof_compile.py via subprocess (0 hops)
- [taint high]
tests/test_config.py -> tests/test_config.py via subprocess (0 hops)
- [taint high]
tests/test_crypto.py -> tests/test_crypto.py via subprocess (0 hops)
- [taint high]
tests/test_install_deploy.py -> tests/test_install_deploy.py via subprocess (0 hops)
- [dataflow UNCHECKED_ALLOC]
gopher_c2.py:129 main sock: Result of allocator stored in sock is never checked against NULL.
Open Questions
- Why do 1 file(s) lack file-level docs (e.g.
gopher_c2.py)? What purpose do they serve?
- Is the dangerous import
subprocess in tests/test_beacon_build.py still required, or can it be isolated?
- What would break if the most connected file in orphans changed?
- Should orphans be split, given cohesion 0.00?
Sources
app.py
bof/cat/cat.c
bof/is_sudo/is_sudo.c
bof/userenum/userenum.c
bof/whoami/whoami.c
gopher_c2.py
include/beacon.h
install.sh
issudo.c
tests/test_beacon_build.py
tests/test_bof_compile.py
tests/test_c2_http_e2e.py
tests/test_config.py
tests/test_crypto.py
tests/test_install_deploy.py