- Introduced AGENTS.md, README.md, TASKS.md, and implementation_plan.md for Vexer, detailing mission, responsibilities, key components, and operational notes. - Established similar documentation structure for Vulnerability Explorer and Zastava modules, including their respective workflows, integrations, and observability notes. - Created risk scoring profiles documentation outlining the core workflow, factor model, governance, and deliverables. - Ensured all modules adhere to the Aggregation-Only Contract and maintain determinism and provenance in outputs.
		
			
				
	
	
	
		
			1.4 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			1.4 KiB
		
	
	
	
	
	
	
	
Entry-Point Runtime — PHP-FPM
Signals to gather
- argv0equals- php-fpmor- php-fpm8*variants; master process often invoked with- -For- --nodaemonize.
- Configuration files: /usr/local/etc/php-fpm.conf,www.conf, pool definitions underphp-fpm.d.
- PHP runtime artefacts: composer.json,public/index.php,artisan,wp-config.php.
- Environment variables such as PHP_FPM_CONFIG,PHP_INI_DIR,APP_ENV.
- Socket or port exposure (listen = 9000,/run/php-fpm.sock).
Implementation notes
- Verify master process vs worker processes (master stays PID 1, workers forked).
- Inspect pool configuration to extract listening endpoint and process manager mode.
- If docker-php-entrypointis involved, ShellFlow must expand tophp-fpm.
- Distinguish FPM from CLI invocations (php script.php) to avoid misclassification.
Evidence & scoring
- Reward confirmed config files and listening sockets.
- Add evidence for application artefacts (Composer lockfile, framework directories).
- Penalise when only the binary is present without config (could be CLI usage).
Edge cases
- Images bundling Apache/Nginx front-ends should end up as Supervisorwith PHP-FPM as a child service.
- Some Alpine packages install php-fpm7naming—include aliases in detector.
- When php-fpmis launched vias6or supervisor, rely on child detection to avoid double counting.