Skip to content

feat(nuclei): including signature manager and expectation signature (#198)#247

Merged
guzmud merged 9 commits into
mainfrom
feat/198-nuclei-injector-signatures
Jul 8, 2026
Merged

feat(nuclei): including signature manager and expectation signature (#198)#247
guzmud merged 9 commits into
mainfrom
feat/198-nuclei-injector-signatures

Conversation

@Megafredo

Copy link
Copy Markdown
Member

Proposed changes

  • Implementation of signatures / expectations for Nuclei Injector (WIP)

Related issues

Checklist

  • I consider the submitted work as finished
  • I tested the code for its functionality
  • I wrote test cases for the relevant uses case
  • I added/update the relevant documentation (either on github or on notion)
  • Where necessary I refactored code to improve the overall quality
  • For bug fix -> I implemented a test that covers the bug

@Megafredo Megafredo self-assigned this Jun 3, 2026
@Megafredo Megafredo added filigran team Item from the Filigran team. do not merge Do not merge until this label is removed. labels Jun 3, 2026
@Megafredo Megafredo linked an issue Jun 3, 2026 that may be closed by this pull request
@Megafredo Megafredo changed the title [nuclei] feat(injector): implementation of signatures - expectations (#198) [nuclei] feat(injector): implementation of signatures expectations (#198) Jun 3, 2026
@Megafredo Megafredo changed the title [nuclei] feat(injector): implementation of signatures expectations (#198) feat(nuclei): implementation of signatures expectations (#198) Jun 4, 2026
@Megafredo Megafredo force-pushed the feat/198-nuclei-injector-signatures branch from b2f0e18 to 0594ab7 Compare June 8, 2026 13:24
@guzmud guzmud force-pushed the feat/198-nuclei-injector-signatures branch from f2aa875 to b514a21 Compare June 8, 2026 15:47
@codecov

codecov Bot commented Jun 8, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #247      +/-   ##
==========================================
+ Coverage   67.52%   68.08%   +0.56%     
==========================================
  Files          68       75       +7     
  Lines        3138     3353     +215     
==========================================
+ Hits         2119     2283     +164     
- Misses       1019     1070      +51     
Files with missing lines Coverage Δ
nuclei/nuclei/nuclei_contracts/nuclei_contracts.py 96.66% <100.00%> (+0.11%) ⬆️

... and 10 files with indirect coverage changes

📢 Thoughts on this report? Let us know!

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@Megafredo Megafredo changed the title feat(nuclei): implementation of signatures expectations (#198) feat(nuclei): including signature manager and expectation signature (#198) Jun 9, 2026
@guzmud guzmud force-pushed the feat/198-nuclei-injector-signatures branch 2 times, most recently from b820f79 to f06b74f Compare June 26, 2026 12:01
@guzmud

guzmud commented Jun 26, 2026

Copy link
Copy Markdown
Member

Testing against a locally running OAEV (docker stack on :rolling)

{
  "timestamp": "2026-06-26T12:12:00.317603Z",
  "level": "INFO",
  "name": "Nuclei",
  "message": "Executing nuclei with: nuclei -concurrency 5 -bulk-size 5 -rate-limit 50 -timeout 10 -retries 1 -max-host-error 30 -scan-strategy host-spray -response-size-read 1048576 -response-size-save 1048576 -exclude-type headless -tags cloud -jsonl"
}

{
  "timestamp": "2026-06-26T12:12:09.399398Z",
  "level": "DEBUG",
  "name": "pyoaev.signatures.signature_manager",
  "message": "send_signatures inject_id=6e7be97b-c5a9-4835-9c39-a58d9aae6e81, execution_status=success, execution_action=InjectExecutionActions.COMPLETE"
}

@guzmud guzmud force-pushed the feat/198-nuclei-injector-signatures branch from 85648e5 to 037ca7f Compare July 8, 2026 08:11
@guzmud guzmud marked this pull request as ready for review July 8, 2026 08:12
Copilot AI review requested due to automatic review settings July 8, 2026 08:12

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR extends the Nuclei injector to support expectation signatures by (1) adding new predefined expectation types to the contract and (2) producing/sending signature payloads during injector execution, aligning with issue #198’s expectation-signature output requirements.

Changes:

  • Add predefined expectations for DETECTION and PREVENTION to Nuclei contract fields.
  • Add a new contract output element for ExpectationSignature (expectation_signatures).
  • Integrate pyoaev.signatures.SignatureManager into the Nuclei injector run flow and update external contract tests accordingly.

Reviewed changes

Copilot reviewed 2 out of 3 changed files in this pull request and generated 3 comments.

File Description
nuclei/test/nuclei_contracts/test_external_contracts.py Updates expected external contract JSON to include additional predefined expectations and the new expectation-signature output.
nuclei/nuclei/openaev_nuclei.py Integrates signature building/sending into injector execution and extracts expectation types from inject content.
nuclei/nuclei/nuclei_contracts/nuclei_contracts.py Adds DETECTION/PREVENTION predefined expectations and introduces the ExpectationSignature contract output.

Comment thread nuclei/nuclei/openaev_nuclei.py
Comment thread nuclei/nuclei/openaev_nuclei.py Outdated
Comment thread nuclei/nuclei/openaev_nuclei.py Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 3 changed files in this pull request and generated 2 comments.

Comment thread nuclei/nuclei/openaev_nuclei.py Outdated
Comment thread nuclei/nuclei/openaev_nuclei.py Outdated
@guzmud guzmud force-pushed the feat/198-nuclei-injector-signatures branch from 7320f6d to 155d3d0 Compare July 8, 2026 09:31
@guzmud guzmud requested a review from Copilot July 8, 2026 09:32

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 3 changed files in this pull request and generated 6 comments.

Comment thread nuclei/nuclei/openaev_nuclei.py
Comment thread nuclei/nuclei/openaev_nuclei.py
Comment thread nuclei/nuclei/openaev_nuclei.py Outdated
Comment thread nuclei/nuclei/openaev_nuclei.py Outdated
Comment thread nuclei/nuclei/openaev_nuclei.py
Comment thread nuclei/nuclei/openaev_nuclei.py
@guzmud guzmud force-pushed the feat/198-nuclei-injector-signatures branch from 155d3d0 to 044a04b Compare July 8, 2026 11:24
@guzmud

guzmud commented Jul 8, 2026

Copy link
Copy Markdown
Member

Using it with the latest openaev/platform:rolling against a pre-registered asset

Screenshot 2026-07-08 144232 Screenshot 2026-07-08 144251

@guzmud guzmud merged commit 7c1127f into main Jul 8, 2026
29 checks passed
@guzmud guzmud deleted the feat/198-nuclei-injector-signatures branch July 8, 2026 12:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do not merge Do not merge until this label is removed. filigran team Item from the Filigran team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(nuclei): create its own signatures for inject expectations

4 participants