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.

  • 20 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 22, 2026
ai-agentsrustgosqltestingapibackendsecurity

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 22, 2026

npx -y skills add NoorQureshi/SploitAgent --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/badge)](https://www.skillsdirectory.com/skills/noorqureshi-api-grpc)

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…