feat: add authorized remote and daily assessment workflows - #5
Conversation
Add explicit Trivy database lifecycle and schema, receipt-bound install/update/uninstall, broader verified remote identities, Windows CI and CodeQL gates, live performance validation, and daily-use documentation.
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0d9a97548b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| bytes = bytes[Encoding.UTF8.Preamble.Length..]; | ||
| } | ||
|
|
||
| var line = StrictUtf8.GetString(bytes); |
There was a problem hiding this comment.
Treat invalid UTF-8 as a lenient record error
When import nuclei runs without --strict, an invalid UTF-8 line still aborts the entire import because StrictUtf8.GetString(bytes) throws DecoderFallbackException before the per-record exception handler. PentestImportService then converts that into a file-level InvalidDataException, so valid later lines are not retained, contrary to the documented lenient behavior for malformed lines. Catch the decoding failure within record processing and route it through HandleInvalid when strict is false.
Useful? React with 👍 / 👎.
What changed
scan-hostfor explicitly authorized, bounded TCP discovery and safe service fingerprinting across one host, IP, or IPv4 CIDRdb statusanddb updatecommands for an externally installed Trivy; scans and status remain offline and updates are never implicitSafety and claim boundary
Remote work requires
--authorized. PortCVE does not exploit, authenticate, brute-force, fuzz, evade, crawl, follow redirects, or send state-changing methods. CVE output remains candidate or known-advisory evidence withexploitability: not_assessed.Local vulnerability scans never pull an image or update Trivy/database data implicitly. Default JSON is privacy-reduced; exact paths, target identity, raw network evidence, and immutable image IDs require
--include-private.Incomplete DNS, endpoint, identity, provider, database, import, or policy evidence fails closed for
--strictand finding gates. A documented pre-1.0 residual remains: path-component validation cannot fully defeat a malicious same-user process that swaps an ancestor between validation and file I/O.Validation
--fail-on highreturned 1; default JSON omitted image IDHEAD /; no unsafe methods or online advisory requestRelease status
This remains
0.2.0-alpha.1, not 1.0. No finalized signed PortCVE binary exists yet, and no release tag is created by this PR. The fail-closed release pipeline still requires Labeeb to complete public-trust publisher validation and configure the four protected eSigner secrets plus the exact signer subject. Independent reviewer/self-review-prevention is also still unavailable for this solo-maintainer repository.