htunn/offsec-ai Security Scanner

AI-powered offensive security scanner: OWASP, MCP, K8s, OpenClaw, port, L7, mTLS, cert, and auth scans in your CI pipeline.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
scan-typeScan command to run. One of: scan, l7-check, cert-check, mtls-check, owasp-scan, ai-owasp-scan, mcp-scan, k8s-scan, openclaw-scan, auth-scan, full-scan. yes
targetTarget hostname, IP address, or URL to scan. For mcp-scan / ai-owasp-scan, use a full URL (e.g. https://api.example.com/v1/chat/completions). yes
versionVersion of offsec-ai to install from PyPI. Defaults to "latest" (always installs the newest release). nolatest
timeoutPer-request timeout in seconds.no30
output-formatOutput format for the scan report. One of: json, csv, table. Defaults to json (required for the report-json output). nojson
output-filePath to save the scan report. Defaults to offsec-ai-report.json.nooffsec-ai-report.json
extra-argsAdditional CLI arguments passed verbatim to the scan command. Examples: "--categories A01,A02" / "--ports 443,8443" / "--mode deep" no""
fail-on-findingsSet to "true" to fail the workflow step when any findings are detected. nofalse
api-keyGemini API key for LLM-powered scans (ai-owasp-scan). Passed as the GEMINI_API_KEY environment variable. In your workflow, set api-key to your repository secret (recommended: GEMINI_API_KEY). no""
python-versionPython version to use on the runner.no3.12
namedescription
report-pathAbsolute path to the generated scan report file.
risk-levelTop-level risk level string from the scan result (e.g. CRITICAL, HIGH, MEDIUM, LOW, INFO). Empty string when not available for the scan type.
findings-countNumber of findings / vulnerabilities detected.
report-jsonFull JSON scan report as a base64-encoded string (first 65 kB). Decode with `base64 -d`.