Skip to content
Back to skills

Api Grpc

ASecurity

Test gRPC / Protocol Buffers APIs — reflection, method enumeration, authz, and injection. Load on gRPC services (HTTP/2, content-type application/grpc, .proto files, ports like 50051), grpc-web, or "protobuf". Signals: grpc, protobuf, reflection service, ServerReflection.

  • 21 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 11, 2026
ai-agentsrustgosqltestingapibackendsecurity

Works with

  • cli
  • api

Security analysis

A100/100

Scanned October 11, 2026

npx -y skills add NoorQureshi/security-skills --skill api-grpc --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Api Grpc?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Api Grpc
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/noorqureshi-api-grpc-security-skills/badge)](https://www.skillsdirectory.com/skills/noorqureshi-api-grpc-security-skills)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: api-grpc
description: >
  Test gRPC / Protocol Buffers APIs — reflection, method enumeration, authz, and injection. Load
  on gRPC services (HTTP/2, content-type application/grpc, .proto files, ports like 50051),
  grpc-web, or "protobuf". Signals: grpc, protobuf, reflection service, ServerReflection.
domain: api
type: technique
stability: learning
modes: [bugbounty, pentest]
severity: high
owasp_api: [API1:2023-BOLA, API5:2023-BFLA]
cwe: [CWE-284]
tools: [grpcurl, grpcui, buf, burp]
schema_version: 1
---

# gRPC / Protobuf API attacks

## When it applies
The target exposes gRPC (or grpc-web). Binary framing over HTTP/2 makes it feel opaque, but the
same authz/injection bugs apply — and server reflection often hands you the whole API.

## Why it works
gRPC methods are RPCs with typed messages; security still lives per-method. Reflection (if on)
exposes every service/method, and teams frequently skip auth on internal-looking RPCs or trust
the client-generated stubs to enforce access.

## Method
1. **Enumerate via reflection**: `grpcurl -plaintext host:50051 list` then `list <service>` and
   `describe <method>`; `grpcui` for an interactive UI. No reflection? Recover `.proto` from the
   client/mobile app or JS (grpc-web).
2. **Call methods directly**: `grpcurl -d '{"id":123}' host:port pkg.Service/Method` — test
   BOLA/BFLA by calling privileged methods or swapping object ids with a low-priv token.
3. **Auth testing**: replay with/without metadata (the gRPC equivalent of headers/tokens); many
   servers authenticate the connection but not each method.
4. **Injection**: message fields feed backends — test SQLi/NoSQLi/command injection in string fields.
5. **grpc-web**: it rides HTTP/1.1+base64 — proxy through Burp, decode frames, tamper.

## Gotchas
- Reflection off ≠ safe — extract the schema from clients; then `grpcurl` with a local `.proto`.
- Binary framing hides bugs from scanners; manual method-by-method testing is the win.
- HTTP/2 + TLS: use `-plaintext` only when the service is plaintext; otherwise pass certs.

## Verify success
Call a method your role shouldn't reach, read/modify another object, or land an injection —
proving per-method authz or input handling is broken.

## References
grpcurl/grpcui docs; OWASP API Security (2023); "hacking gRPC" write-ups.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.