Proves that the real profile/objective identifiers in the codebase change actual runtime behavior — persisted discovery chains and decision records — not just a label.
| Objective | Initial discovery chain | Strategy focus |
|---|---|---|
bug_bounty_assessment |
endpoint → parameter → vulnerability_scanning | web/API attack surface |
pentest_assessment |
asset → endpoint → parameter → vulnerability_scanning | systematic coverage |
red_team_simulation |
asset → endpoint → authorization_analysis | objective-driven access |
vulnerability_discovery |
technology → vulnerability_scanning → dependency_check | broad discovery |
AdaptiveMissionPlanningEngine.create_mission(objective=...) builds a distinct
per-objective capability chain. Verified:
bug_bounty_assessmentchain containsvulnerability_scanning;red_team_simulationchain containsauthorization_analysisand novulnerability_scanning.pentest_assessmentandvulnerability_discoverychains differ from each other and from the above.
Running each objective through the real mission runner produces distinct
decision records (MissionDecision persisted on the mission):
- first decision capability differs across the four profiles;
red_team_simulationdecisions reachauthorization_analysis;bug_bounty_assessmentdecisions reachvulnerability_scanning.
Both profiles consume the same vulnerability engine; the evidence each profile
surfaces (and thus the hypotheses it generates) differs because the strategy
selects different capabilities at different times. vulnerability_discovery
reaches the vulnerability candidates and generates class-specific hypotheses
with provenance.
All security-assessment objectives use the same vulnerability engine and
stop-condition policy: coverage cannot terminate a mission while a high-value
hypothesis is unresolved (verified in TestHNoDumpOnlyBehavior and
TestNoPrematureStopOnChaining).
tests/integration/test_profile_end_to_end.py — 3 tests (distinct chains,
distinct persisted decisions, hypothesis generation per profile strategy).
tests/integration/test_vulnerability_chaining.py::TestProfileIntegration
confirms bug_bounty_assessment, pentest_assessment, vulnerability_discovery
consume the same engine; red_team_simulation intentionally targets
authorization instead.