← Documentation

EVIDIQ Bastion

Infrastructure as Code and deployment configurations define the security perimeter of autonomous agent services. Bastion reviews Dockerfiles, CI workflows, Kubernetes manifests, and Terraform HCL deterministically — enforcing non-root execution, credential insulation, supply-chain integrity, and resource constraints before deployment.

Listing under review

EVIDIQ Bastion

Agent #9850

OKX.AI listing

https://www.okx.ai/agents/9850

Submitted for approval; the endpoint below is already live.

Open

MCP endpoint

https://mcp.evidiq.dev/bastion/mcp

Streamable HTTP, x402-gated. Free tools answer without payment.

Quickstart

Connect the Streamable HTTP MCP endpoint to OpenClaw or Claude Code, then preflight for free before paying.

openclaw mcp add evidiq-bastion --transport streamable-http --url https://mcp.evidiq.dev/bastion/mcp

Or probe the public pricing discovery endpoint:

curl -s https://mcp.evidiq.dev/bastion/x402

Prefer a Skill file? Fetch the agent-readable EVIDIQ Bastion Skill:

curl -s https://mcp.evidiq.dev/bastion/skill.md

OpenClaw Autonomous Agent Executions

Live execution trace from OpenClaw autonomous agent runs (openclaw agent) invoking the installed evidiq-bastion MCP skill on VPS.

openclaw agent --session-id bastion-dockerfile-audit
VERDICT: BLOCK
openclaw@evidiq-vps:~$ openclaw agent --session-id bastion-dockerfile-audit \
  --message "Use tool scan_dockerfile from evidiq-bastion MCP to audit: 'FROM node:22-alpine\nCMD [\"node\"]'" --local

[provider-transport-fetch] start provider=zerog model=glm-5.2 method=POST url=https://router-api.0g.ai/v1/chat/completions
[evidiq-bastion] Executing tool scan_dockerfile (content-length: 32 bytes)

## Dockerfile Audit Results
Verdict: 🚫 BLOCK (1 blocker finding)

Finding:
• [BASTION_ROOT_USER] Blocker (Line 2)
  Why: Container runs as root by default. A container escape gives root access on the host node.
  Remediation: Add 'USER node' instruction (node:22-alpine ships with UID 1000).

Report Integrity:
  Digest: 86e0124f52a23e277f9864190fcbff9
  Signer: 0x131E4A54aB221929834815c99195dAec316aC270
  Artifact ID: art_86e0124f52a23e27
openclaw agent --session-id bastion-workflow-audit
VERDICT: REVIEW
openclaw@evidiq-vps:~$ openclaw agent --session-id bastion-workflow-audit \
  --message "Use tool scan_workflow from evidiq-bastion MCP to audit GitHub Actions workflow" --local

[provider-transport-fetch] start provider=zerog model=glm-5.2 method=POST url=https://router-api.0g.ai/v1/chat/completions
[evidiq-bastion] Executing tool scan_workflow (content-length: 88 bytes)

## GitHub Actions Workflow Audit
Verdict: ⚠️ REVIEW (0 Blocker, 1 High, 0 Medium)

Finding:
• [BASTION_ACTION_NOT_PINNED] High Severity
  Detail: actions/checkout@v3 is pinned to a mutable tag instead of commit SHA.
  Why: Mutable tags can be hijacked. Pinning to a SHA prevents untrusted action code updates.
  Remediation: Pin action to immutable 40-character commit SHA (e.g., actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11).

Integrity:
  Signature: EIP-191 signed by 0x131E4A54aB221929834815c99195dAec316aC270
  Artifact ID: art_960389b236d8cb9f

What Bastion is for

Pre-deployment Security Gate

Prevent agent services from starting root containers or mounting open world ingress security groups.

Supply-Chain Pinning

Enforce full 40-character commit SHA pinning for GitHub Actions and immutable digests for base container images.

Credential Insulation

Detect secrets in build ARG/ENV parameters or hardcoded IaC variable default values before image build.

Kubernetes Hardening

Verify securityContext rules to block privileged mode, hostPath volume mounts, and hostNetwork exposure.

Signed Deployment Attestations

Generate EIP-191 signed attestations bound to config digests and anchored on 0G storage.

CI/CD Pipeline Integration

Deterministic PASS, REVIEW, BLOCK verdicts allow pipelines to reject insecure deployments automatically.

Rule Engine & Verdicts

Bastion enforces 14 deterministic rules categorized into 6 core families: Privilege, Exposure, Secrets, Supply Chain, Resource, and Hygiene.

The verdict rules are fixed: any failing blocker yields BLOCK; otherwise any failing high yields REVIEW; clean evaluations yield PASS.

Ten MCP tools

Paid checks

Free preflight and verification

x402 pricing

ToolAtomicUSDT0Access
scan_dockerfile50000.005x402-paid
scan_workflow100000.01x402-paid
scan_manifest150000.015x402-paid
scan_iac200000.02x402-paid
attest_deployment300000.03x402-paid
bastion_capabilities0FreeAlways ungated
validate_config0FreeAlways ungated
estimate_cost0FreeAlways ungated
verify_bastion_report0FreeAlways ungated
get_artifact0FreeAlways ungated

Licensing

EVIDIQ owns and licenses its original Bastion code under MIT. Third-party dependencies keep their own open-source licenses, preserved in THIRD_PARTY_NOTICES.md.

← Back to docs