Replies: 4 comments
-
|
Same, I hope someone will see ur question and we will get info :) |
Beta Was this translation helpful? Give feedback.
-
|
Nuclei doesn't have native gRPC support at the moment. The built-in protocols cover http, tcp, dns, ssl, websocket, and javascript — but no gRPC DSL. A few options depending on what you need: Closest thing today: the For actual gRPC testing tools like If you want to build it: the There's an open feature request for this — worth upvoting so it gets prioritized. |
Beta Was this translation helpful? Give feedback.
-
|
Hi @nukunga, Thanks for reaching out and for your willingness to contribute! Currently, there is no native gRPC protocol support implemented in the Nuclei engine. Users who need to test gRPC endpoints typically have to fall back on using the code protocol to execute external scripts, which isn't ideal for performance or native YAML template development. We would absolutely love to see native gRPC support added! Since you are interested in developing this, here are a few technical pointers and architectural considerations to help you get started with the Nuclei v3 engine: 1. Codebase Integration Points
2. Engineering Challenge: Payload Serialization
3. Next Steps # Proposed YAML syntax concept
id: grpc-example
info:
name: gRPC Discovery Test
author: yourname
severity: info
grpc:
- address: "{{Hostname}}:50051"
service: "helloworld.Greeter"
method: "SayHello"
reflection: true # or proto-file: "path/to/service.proto"
payload:
name: "Nuclei"
matchers:
- type: word
words:
- "Hello Nuclei"This will allow the core maintainers to review your proposed syntax, discuss the structural approach, and ensure your PR will seamlessly integrate into the current engine architecture. |
Beta Was this translation helpful? Give feedback.
-
|
Adding to what @adilburaksen and @zxelzy already covered (no native gRPC yet), how to test gRPC with Nuclei today, and a syntax proposal for the native protocol. Testing gRPC now... gRPC is HTTP/2 + protobuf, so the JS runtime's net library would mean reimplementing framing and protobuf by hand. The pragmatic route is the code protocol, shelling out to grpcurl (which already handles reflection + protobuf): Run it with A syntax proposal for native grpc (re: the RFC @zxelzy mentioned) The cleanest way to dodge the "protobuf-in-YAML" problem is to copy grpcurl's model, accept a JSON request body and marshal it via server reflection (or an optional .proto), so template authors never touch the protobuf wire format: That keeps templates declarative, reuses the existing matchers/extractors, and only needs a reflection client + optional descriptor loader under pkg/protocols/grpc... |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Can i get information about gRPC or something feature like that implemented in Nuclei Engine?
if there is no feature about gRPC in Nuclei i want to develop that.
Beta Was this translation helpful? Give feedback.
All reactions