Bump Sarif.Driver from 4.6.0 to 5.7.0 - #1227
Open
dependabot[bot] wants to merge 2 commits into
Open
dependabot[bot] wants to merge 2 commits into
dependabot[bot] wants to merge 2 commits into
Conversation
dependabot
Bot
force-pushed
the
dependabot/nuget/src/Sarif.Driver-5.7.0
branch
4 times, most recently
from
September 16, 2026 20:41
9f4f799 to
927132a
Compare
--- updated-dependencies: - dependency-name: Sarif.Driver dependency-version: 5.7.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
dependabot
Bot
force-pushed
the
dependabot/nuget/src/Sarif.Driver-5.7.0
branch
from
September 16, 2026 21:34
927132a to
088c17f
Compare
Explicitly request SHA-1 and SHA-256 when hash insertion is enabled so the Sarif.Driver 5 default change does not break BinSkim's existing --hashes contract. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 2779f142-ce84-4a8d-ba83-c0fb814808a7
Pratik Lade (plade)
approved these changes
Sep 17, 2026
Pratik Lade (plade)
requested review from
Martin Řezník (martin-reznik)
and
a lite review from Copilot
September 17, 2026 16:17
There was a problem hiding this comment.
🟡 Changes recommended
Two moderate dependency and logger-cache issues remain unresolved.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Updates Sarif.Driver to 5.7.0 while preserving SHA-1 and SHA-256 hash output.
Changes:
- Bumps the centrally managed Sarif.Driver version.
- Configures explicit SHA-1 and SHA-256 hashing.
File summaries
| File | Summary |
|---|---|
src/Directory.Packages.props |
Updates Sarif.Driver; the BinaryParsers nuspec dependency also requires updating. |
src/BinSkim.Driver/MultithreadedAnalyzeCommand.cs |
Enables dual-hash output; global logger cache setup requires adjustment for analysis-target artifacts. |
Review details
Suppressed comments (1)
src/BinSkim.Driver/MultithreadedAnalyzeCommand.cs:307
- This cache is installed only on the per-target
CachingLogger, but Sarif.Driver 5.7 invokes the global logger'sAnalyzingTargetcallback beforeAnalyzeTargetruns.SarifLoggercreatesAnalysisTargetartifacts in that earlier callback using its existing default SHA-256 cache, so a run requestingAnalysisTargetstogether withHashesstill omitssha-1for those artifacts. Configure the output/global logger cache before target callbacks (while preserving the per-target cache as needed).
if (context.DataToInsert.HasFlag(OptionallyEmittedData.Hashes))
{
context.Logger.FileRegionsCache = new FileRegionsCache(
fileSystem: context.FileSystem,
hashAlgorithms: HashAlgorithms.Sha1 | HashAlgorithms.Sha256);
- Files reviewed: 2/2 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| <PackageVersion Include="Moq" Version="4.20.72" /> | ||
| <PackageVersion Include="Newtonsoft.Json" Version="13.0.4" /> | ||
| <PackageVersion Include="Sarif.Driver" Version="4.6.0" /> | ||
| <PackageVersion Include="Sarif.Driver" Version="5.7.0" /> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Updated Sarif.Driver from 4.6.0 to 5.7.0.
Release notes
Sourced from Sarif.Driver's releases.
5.6.0
v5.6.0 Sdk | Driver | Converters | Multitool | Multitool Library
ArtifactLocation.TryReconstructAbsoluteUrireturns false (leavingresolvedUrinull) when a relativeuri's../segments escape theoriginalUriBaseIdsbase it resolves through, so enrichment no longer reads files outside a declared base.MultithreadedAnalyzeCommandBasemerges per-targetRuntimeErrorsinto the global context under a lock, so concurrent scan workers no longer lose each other's flags.MultithreadedAnalyzeCommandBase.RunAsyncanalyzes without blocking the caller, dispatching to new async virtuals that hold the work;Runkeeps its signature and dispatches to their synchronous counterparts, so existing subclasses are unaffected.4.6.5
v4.6.5 Sdk | Driver | Converters | Multitool | Multitool Library
AccessViolationExceptioninEnumeratedArtifact.RetrieveDataFromStreamwhen the caller-provided stream'sSeekre-enters native code (e.g. ASP.NET WebAPI'sSeekableBufferedRequestStreamover IIS'sHttpBufferlessInputStream). Always rewind viaPeekableStreaminstead of trustingStream.CanSeek.4.6.4
v4.6.4 Sdk | Driver | Converters | Multitool | Multitool Library
partialFingerprintscheck fromBaseProvideRequiredResultProperties(Base1015), which removes the firing for ADO1015/ADO1017 and GH1015/GH1017. Both Advanced Security for Azure DevOps and GitHub code scanning computepartialFingerprintsautomatically when omitted, so theerror-level "this property is required by the {service} service" message was misleading. See GHAZDO third-party SARIF docs (Sprint 245ruleIdinclusion, Sprint 255advancedsecurity.publish.allowmissingpartialfingerprints) and GitHub code scanning SARIF support — Fingerprint generation. AI producers are already advised against persisting fingerprints by AI2011.Microsoft.CodeAnalysis.Sarif.Multitool.OptionsInterpretter(and its test classOptionsInterpretterTests) toOptionsInterpreter/OptionsInterpreterTests(singlet). External callers ofSarif.Multitool.Libraryconstructingnew OptionsInterpretter(...)must update tonew OptionsInterpreter(...).partitionmultitool verb that splits one SARIF log into many by strategy (PerRule(default),PerRunPerRule,PerRun,PerResult,PerRunPerTarget,PerRunPerTargetPerRule,PerIndexList). WrapsSarifPartitioner.Partition, so each output gets itstool.driver.rulesandrun.artifactspruned to only what the partition references.SplittingStrategy.PerIndexListplus the--indicesmini-language for explicit per-result bucket assignment:<runId>:<r1>,<r2>;<runId>:...|<bucket>..., with bare-int shorthand for run 0 and SARIF URL fallback (sarif:/runs/X/results/Y, §3.10.3). Optional--spillover-bucket NAMEcaptures uncovered results;--strict-coverageerrors on uncovered results. Duplicate or out-of-range addresses error.Microsoft.CodeAnalysis.Sarif.Writers.PartitionFunctions(ForStrategy,ForIndexList,ParseIndexSpec,ResultAddress) to centralize partition-key derivation across SDK consumers.System.ArgumentException: Illegal characters in path.thrown fromMultithreadedAnalyzeCommandBase.IsOpcArtifacton .NET Framework when an artifact's URI yields a file path containing characters illegal in a Windows path (e.g., the?of a URI query string, or|,<,>,"). The path is now sanitized viaPathExtensions.ReplaceInvalidCharInFileNamebefore being passed toPath.GetExtension.InvalidOperationException: Collection was modifiedthrown fromNewtonsoft.Json.JsonSerializerInternalWriter.SerializeDictionaryinsideSarifLogger.Disposeon .NET Framework whenSarifRewritingVisitor.VisitReportingDescriptorran concurrently with serialization on a peer logger that shared the sameReportingDescriptorinstance. The visitor now builds a newMessageStringsdictionary and assigns the field atomically, so any concurrent reader sees a stable dictionary that nobody is mutating.4.6.3
v4.6.3 Sdk | Driver | Converters | Multitool | Multitool Library
AI1xxx= MUST/SHALL error;AI2xxx= SHOULD warning/note).AI2006→AI1005,AI1007→AI2014. TheAI3xxxseries is eliminated.AI1010.EvidenceBackingResolvable(error) — everysarif:URI inai/evidence[].backingSHALL resolve to an element within the log file (§3.10.3).AI1011.RedactedRunMarker(error) —ai/redactedSHALL betrueor absent (neverfalse); whentrue,run.redactionTokensSHALL be non-empty;ai/fullLogLocationSHALL NOT appear unlessai/redactedistrue.AI1012.ProvideRuleSubId(error) — AI-generated results MUST carry a hierarchical sub-component onresult.ruleIdbeyond the basereportingDescriptor.id.AI1013.NotificationAssociatedRuleResolvable(error) — ifnotification.associatedRuleis present, it SHALL resolve to a valid rule intool.driver.rules[]or an extension'srules[].AI1014.ExecutionNotificationPlacement(error) —AI/EXEC/*descriptors SHALL appear only intoolExecutionNotifications;AI/CFG/*descriptors SHALL appear only intoolConfigurationNotifications.AI2015.ProvideAttackerPosition(warning) — each result SHOULD declareai/attackerPosition. Follows the all-or-nothing pattern.AI2016.EvidenceBackingConsistency(warning) — anai/evidence[]entry withstrength: "demonstrated"SHOULD carry non-emptybacking.AI2017.ProvideNotificationDescriptor(warning) — every notification SHOULD have adescriptorthat resolves to areportingDescriptorintool.driver.notifications[].AI2018.ProvideExecutionSignalArtifact(note) —AI/EXEC/ALAS-SIGNALnotifications SHOULD include alocations[]entry referencing a valid artifact withrolescontaining"attachment".AI2019.ProvideNotificationTimestamp(note) — notifications SHOULD includetimeUtcfor execution timeline reconstruction.4.6.2
v4.6.2 Sdk | Driver | Converters | Multitool | Multitool Library
4.6.1
v4.6.1 Sdk | Driver | Converters | Multitool | Multitool Library
--post-urivalidation. The driver now appends?healthcheck=trueto POST URIs during validation and accepts HTTP 202 (Accepted), or 422 (Unprocessable Entity) as valid responses. This provides better support for endpoints that implement health check functionality while maintaining backwards compatibility with servers that return 422 for empty payloads.SarifLogger.AnalyzingTargetnow optionally emits an explicit artifacts table entry (withAnalysisTargetrole) for every scan target whenOptionallyEmittedData.AnalysisTargetsis set via--insert.Commits viewable in compare view.