| target | URL of the AI agent endpoint to scan (e.g. https://my-agent.example.com/api/chat).
| yes | — |
| format_preset | Provider format preset. One of: openai, anthropic, ollama, lmstudio, gemini.
| no | openai |
| model | Model name to send in the request body (e.g. gpt-4o, claude-3-5-sonnet, llama3.2).
| no | "" |
| headers | Extra HTTP headers as a JSON object string (e.g. '{"Authorization": "Bearer sk-..."}'). Use GitHub Secrets for sensitive values.
| no | {} |
| modules | Comma-separated list of modules to run. Leave empty to run all modules. Available: prompt_injection, goal_hijacking, jailbreaks, mcp_security, tool_injection, enterprise_graph, memory_poisoning, advanced_orchestration, infrastructure_escalation, agentic_hijacking, browser_agent, hallucination, toxicity, inter_agent_trust
| no | "" |
| fail_on_grade | Fail the workflow if the scan grade is BELOW this value. Use A, B, C, D, F. Default is F (never fails on grade alone). Example: set to C to fail on C, D, or F grades.
| no | F |
| concurrency | Maximum concurrent attack requests. | no | 10 |
| timeout | HTTP request timeout in seconds. | no | 30 |
| version | Version of crucible-security to install. Defaults to latest.
| no | "" |
| output_format | Format of the uploaded scan report artifact. One of: json, sarif.
| no | json |
| upload_artifact | Set to 'true' to upload the scan report as a workflow artifact.
| no | true |
| artifact_name | Name of the uploaded artifact.
| no | crucible-scan-report |
| skip_preflight | Set to 'true' to skip the endpoint preflight check.
| no | false |