How x983193082/skidcon works
Pentest Crew is an automated penetration-testing platform. Its principal workflow accepts a scoped scan request, queues work for a worker, coordinates reconnaissance through exploitation and privilege escalation, records findings, and produces an exportable report. The README documents the agent, tool, knowledge, state-control, and report capabilities; sampled source confirms API/WebSocket orchestration, queue consumption, scan-state handling, and database access. Several implementation files were not sampled, so uncertain links between the executor, agents, tools, and knowledge services are omitted.
Main entry points: crew_factory.py Crew factory · main.py FastAPI entry · scan_manager.py Scan lifecycle · exploit_agent.py Exploit agent
Components 28
API and requests
- FastAPI entry
src/api/main.py - Scan API
src/api/routes/scan.py - Report API
src/api/routes/report.py - Prompt API
src/api/routes/prompts.py
Execution orchestration
- Scan lifecycle
src/core/scan_manager.py - Task queue
src/core/queue.py - Worker service
src/worker/main.py - Queue consumer
src/worker/queue_handler.py - Task executor
src/worker/task_executor.py - Flow state machine
src/orchestration/flow_controller.py - Crew factory
src/orchestration/crew_factory.py - Task generator
src/orchestration/task_generator.py - Prompt manager
config/prompts/manager.py
Pentest stages
- Recon agent
src/agents/recon_agent.py - Exploit agent
src/agents/exploit_agent.py - Privilege agent
src/agents/privilege_agent.py - Report agent
src/agents/report_agent.py - Security tool wrappers
src/tools
Security knowledge
- Vector knowledge
src/knowledge/vector_store.py - CVE lookup
src/knowledge/cve_fetcher.py - Attack graph
src/knowledge/attack_graph.py
State and reporting
- Report generator
src/core/report_generator.py - SQLite database
src/database/database.py - Scan repository
src/database/repositories/scan_repository.py - Finding repository
src/database/repositories/finding_repository.py - Task repository
src/database/repositories/task_repository.py
Other components
- Pentest user
- Redis
Connections 33
- Pentest user → FastAPI entry: submits requests
- FastAPI entry → Scan API: dispatches scans
- FastAPI entry → Report API: dispatches reports
- FastAPI entry → Prompt API: dispatches prompts
- Scan API → Scan lifecycle: manages lifecycle
- Scan lifecycle → Task queue: enqueues work
- Worker service → Queue consumer: starts consumer
- Queue consumer → Task queue: dequeues tasks
- Queue consumer → Task executor: executes tasks
- Task queue → Redis: stores queue state
- Scan lifecycle → Redis: stores scan state
- FastAPI entry → Crew factory: creates WebSocket crew
- Crew factory → Task executor
- Crew factory → Flow state machine
- Crew factory → Task generator
- Crew factory → Recon agent
- Crew factory → Exploit agent
- Crew factory → Privilege agent
- Crew factory → Report agent
- Scan lifecycle → Scan repository: syncs scan records
- Scan lifecycle → Finding repository: syncs findings
- Report API → Report generator: requests report
- FastAPI entry → SQLite database: initializes tables
- SQLite database → Scan repository: provides sessions
- SQLite database → Finding repository: provides sessions
- SQLite database → Task repository: provides sessions
- Recon agent → Security tool wrappers
- Exploit agent → Security tool wrappers
- Privilege agent → Security tool wrappers
- Recon agent → Vector knowledge
- Exploit agent → CVE lookup
- Exploit agent → Attack graph
- Prompt API → Prompt manager: updates prompts