AI-assisted development is no longer a side experiment. Teams describe an API, an auth flow, or an agent, and a model writes the first draft. That speed is real. So is the risk: security decisions now happen in the prompt and the patch, not only in a later review.

grok-asvs is a Grok Build plugin I open-sourced to push OWASP-aligned secure defaults into that generation loop, for humans vibe-coding with AI and for agents that write and review their own code.

Unofficial project. Not an OWASP or xAI product. Apache-2.0. Skills-only: no MCP servers, lifecycle hooks, or telemetry from the plugin.

The common pain point

Most application security programs still meet ASVS-style expectations after the fact. Features ship, reviews pile up, scanners fire, and teams retrofit controls that should have been defaults on day one. That was already expensive when only humans wrote code. It is worse when models generate large diffs at machine speed.

The pain is not a lack of standards. It is when the standards enter the workflow:

Baking ASVS and AISVS thinking into creation (by people or machines) is cheaper than re-architecting after the fact. That is the pain point grok-asvs targets.

The problem it targets

When models scaffold features, insecure patterns show up as often as clever ones:

OWASP ASVS and AISVS already describe what “good” looks like for applications and AI systems. What was missing was packaging that agents can apply while coding, not only a standard to re-read after the fact.

Why OWASP?

OWASP (the Open Worldwide Application Security Project) is a community-driven effort to make application security knowledge public, practical, and shared. Volunteers publish free standards, guides, and tools so builders and defenders can talk about the same controls without reinventing vocabulary for every product.

Two of those projects matter especially for product design:

The intent is not paperwork. It is a common security language for design and verification, so teams stop debating basics and start implementing them. grok-asvs does not replace reading the standards; it turns agent-facing “paved roads” from ASVS and AISVS into defaults during code creation, when change is still cheap.

Why Grok?

I built this for Grok Build because the tooling and the model stack are both serious options for agentic software work, not niche experiments.

xAI has open-sourced Grok Build as a coding agent environment you can run and extend with plugins, skills, and commands. That openness matters for security work: you can inspect how guidance is packaged, pin installs by commit, and keep policy local without bolting on opaque MCP servers.

On capability, Grok-class models compete in the same agentic tier as the other frontier systems. Independent agent benchmarks such as the Arena.ai Agent leaderboard rank models on real tool-using work (task completion, steerability, recovery, and related signals). Grok variants sit among competitive agent models there; rankings move, but the point is durable: you are not choosing “a weak model with a clever plugin.” You are steering a strong agent stack.

Cost is part of the product decision too. For many teams, Grok is often more cost-effective for high-volume coding and agent sessions than the priciest frontier alternatives, while still holding up on agentic tasks. Secure-by-default guidance is wasted if nobody can afford to run the agent. Pairing ASVS/AISVS paved roads with a strong, economical coding agent is intentional.

What grok-asvs is

A local instruction plugin for Grok Build:

You get You don’t get
Skills for secure-by-default coding, ASVS, AISVS, and structured review MCP servers
Commands: /security-level, /reference-source, /asvs-review, /aisvs-check Shell lifecycle hooks
A security-reviewer agent Telemetry or phone-home
Distilled L1 paved roads plus L2/L3 deltas Post-install download/execute scripts

It changes how the coding agent thinks and what it writes. It does not invent an air gap around your model provider; that remains an operator responsibility (data retention, MCP inventory, remotes, secrets in prompts).

Two knobs operators actually use

1. Security level (1 / 2 / 3)

Same idea as ASVS/AISVS verification levels:

Set with /security-level 2 for a project, or with --global for a user default. Implementation guidance and reviews scale with the level.

2. Reference source (local | upstream)

Upstream checksums are agent-enforced, not OS-enforced. If you need offline certainty, stay on local.

Trust model in one screen

Quick start

# Prefer a SHA pin over floating main
grok plugin install isbitski-klm/grok-asvs@02af47719e26e3f22a5d40b84f4d08dd71ba6d55 --trust
grok plugin enable grok-asvs
grok plugin details grok-asvs

In a Grok Build session:

/security-level 2
/reference-source
# …build features…
/asvs-review
/aisvs-check

Full install verification, pin notes, and trust details live in the repository. Current release: v0.3.1. Pin the integrity.git_commit value, not necessarily the tip of main.

github.com/isbitski-klm/grok-asvs

What it is not

Why ship it this way

Security plugins that pull in MCP servers or shell hooks expand attack surface. grok-asvs is deliberately instruction content: useful in the generation loop, boring from a supply-chain perspective, and honest about residual risk, including that upstream checksums depend on the agent following the procedure.

If you build with Grok Build, or you review AI-generated code, feedback, issues, and patches are welcome on the repo.

Repo: github.com/isbitski-klm/grok-asvs
Author: Michael Isbitski · klminnovation.com