After HAWK Was Withdrawn in 2026, Is ML-DSA Still Safe? What Developers Should Check

Signal: NIST records the HAWK analysis event on July 28, 2026, and says it does not affect finalized standards such as ML-DSA.
Fastest safe response: Don’t disable ML-DSA because of the HAWK news. Identify the algorithm and implementation your project actually uses, retain the evidence, and act only on an applicable formal notice or a confirmed dependency issue.

This is for developers evaluating post-quantum signatures, maintainers responsible for cryptographic libraries or build chains, and technical leads explaining security findings to a team.
If you’re looking for a deployment checklist or a general introduction to post-quantum cryptography, focus on the linked migration material rather than treating this event as a standalone migration trigger.

Last updated October 1, 2026. The event status and impact were checked against NIST’s PQC information, Anthropic’s research account, and the ML-DSA standard.

Separate the HAWK withdrawal from ML-DSA status

The HAWK finding is a research and standardization event, not evidence that production systems using ML-DSA have been compromised. NIST records the analysis on July 28, 2026, and says the finding does not affect finalized standards including ML-DSA. HAWK was a signature scheme under consideration in the post-quantum selection process; after the analysis, it exited consideration. It was not a finalized NIST standard that organizations had broadly deployed as one.

That distinction matters because headlines can collapse several separate questions into one: Was a candidate’s security assessment changed? Did a standard change? Does a project use that candidate? Is a particular implementation vulnerable? The answer to one does not automatically answer the others.

The Anthropic research announcement describes the work as cryptographic analysis. Read it as research on a scheme, not as a notice that a named library version or live service can be exploited. NIST’s PQC program page provides the relevant standardization context and impact statement. For ML-DSA’s finalized specification, consult FIPS 204.

ML-DSA and HAWK are distinct signature schemes, not two labels for the same algorithm. A finding about HAWK therefore does not, by itself, establish a weakness in ML-DSA. But NIST’s statement is limited to the impact of this finding: it does not certify every implementation, every integration, or every future version of the standard as risk-free.

Keep the scope precise in incident notes: “NIST says this HAWK finding does not affect finalized ML-DSA” is supportable. “ML-DSA can never be affected by cryptanalysis or implementation flaws” is not.

Find the algorithm your project actually uses

A project may describe its cryptographic feature as “post-quantum signing” while the code, build, and deployed artifact identify it in different ways. Candidate names, standardized names, library API names, provider identifiers, and protocol labels do not always match. A plain text search for ML-DSA or HAWK can therefore miss the actual route or produce false confidence.

Start with the path that creates and verifies signatures. Identify the API or provider call, then record the library package, version, configuration options, and how the dependency entered the build. Check lockfiles and software bills of materials, but do not stop there: a transitive dependency or dynamically loaded provider may implement the operation outside the package you expected.

Then trace what reaches the boundary of your system. Inspect certificate profiles, signed artifacts, protocol configuration, and runtime negotiation where those apply. A source tree can contain support for multiple algorithms while production selects only one; conversely, a deployment may rely on a provider selected by configuration rather than a literal algorithm name in application code.

For each finding, keep a compact evidence record: the source file or configuration path, dependency name and version, release or commit reference, build provenance, and the observable algorithm identifier at the relevant boundary. Preserve the date you checked and the sources used. This makes a later review repeatable and helps distinguish “present in the repository” from “enabled in production.”

Triage research, implementation, and integration findings

An algorithm analysis addresses the security assumptions or construction of a cryptographic scheme. An implementation vulnerability concerns a specific code path, such as parsing, parameter handling, memory safety, randomness, or side-channel behavior. An integration failure can sit above both: a system may call the wrong algorithm, accept an unexpected key type, mishandle verification errors, or apply a policy inconsistently.

These categories can overlap, but they are not interchangeable. A paper about a candidate does not identify your library version as affected. A library advisory does not necessarily imply that the underlying standardized algorithm is broken. A configuration error may expose a service even when its cryptographic primitive has no known weakness.

When a formal security notice appears, check its affected versions, attack prerequisites, reachable code paths, and maintainer response. Look for whether exploitation requires local access, a crafted input, a particular mode, or a specific build option. Do not infer those conditions from a headline. If the maintainer provides a fixed version or mitigation, record the change and verify it in the built artifact rather than assuming that a manifest edit reached deployment.

This is also where your severity decision should be grounded. If the advisory does not list your implementation, version, or usage mode, document why you consider it out of scope and what evidence would change that conclusion. If the advisory does list a reachable component, follow the maintainer’s remediation instructions even if the underlying scheme remains standardized.

Apply the finding with conditional decisions

Use the following branches to decide what to do next. Choose the first condition supported by your dependency and deployment evidence.

  • If your production path uses HAWK or a HAWK-derived candidate implementation, pause new adoption and check the project maintainer’s status and migration guidance. Record where the candidate is enabled. Do not silently substitute another algorithm; verify key, signature, certificate, and peer-compatibility requirements before changing the path.
  • If the production path uses ML-DSA through a known library version, and no applicable implementation advisory exists, keep it enabled. Record NIST’s stated HAWK impact boundary, the library provenance, and the configuration evidence. Schedule ordinary dependency and advisory monitoring; this event alone is not a reason to revert to a classical signature.
  • If your team cannot establish the algorithm or implementation version, treat the uncertainty as a dependency-inventory gap. Trace the runtime path and build inputs before deciding whether to upgrade or replace anything. An unknown algorithm label is not proof of compromise, but it is not an adequate basis for a security approval.
  • If a library maintainer publishes an advisory affecting your version or usage, follow that notice’s conditions. Test the fix or mitigation in the affected path, then verify the deployed artifact and update your risk record. Do not generalize a library-specific defect into a claim that the ML-DSA standard itself has failed.
  • If the only evidence is a social post or an unqualified summary, defer algorithm changes. Find the original research, the relevant NIST status statement, and any maintainer notice. Escalate only when the source identifies a material issue in a component you actually use.

The operational trade-off is straightforward. Keeping a finalized standard avoids an unsupported emergency migration, but only if you know what is deployed and continue tracking relevant notices. Changing a scheme without evidence can introduce interoperability failures, key-management work, and untested fallback behavior. Doing nothing without checking dependencies leaves an inventory blind spot. Your decision should address the evidence gap, not merely the news cycle.

Run a repeatable dependency review

Use this sequence when the event enters a security review or change ticket:

  1. Capture the claim and its source. Save the original research or formal announcement, the date, and the exact claim about affected schemes. Keep a separate note for NIST’s standardization status and impact statement.
  2. Map signing and verification paths. Follow the code and service configuration from the application call to the cryptographic provider. Include build-time options, runtime provider selection, and any service that signs or validates on the application’s behalf.
  3. Resolve names to implementations. Record how the application label maps to the library API and protocol identifier. Confirm whether the name refers to a candidate, a finalized standard, a compatibility alias, or a vendor-specific implementation.
  4. Pin dependency evidence. Save the package and version, lockfile or build record, source provenance, and any relevant provider configuration. Compare the deployed artifact with the repository state; they may not be identical.
  5. Check the maintained security channel. Review the library maintainer’s advisory and release notes for affected versions, prerequisites, and fixes. If there is no notice, record that you checked rather than implying the absence of a notice proves the implementation has no risk.
  6. Test the real path if the evidence warrants it. Exercise signing and verification with the project’s actual configuration and expected peers. Check error handling and compatibility as well as successful signature operations. Treat this as an implementation and integration check, not independent proof of the algorithm’s security.
  7. Update the risk record and set a trigger. State whether the finding applies, what evidence supports that conclusion, and which future event would reopen the review: a changed NIST impact statement, a relevant library advisory, or new evidence that the deployment uses a different algorithm.

If a macOS build host is part of your validation matrix, use a temporary environment only when you need to test macOS-specific signing or integration behavior. Before selecting that environment, review how Macstripe describes its service and compare it with your test requirements. You can also check Macstripe’s configuration and ordering options; neither resource replaces dependency tracing or cryptographic review.

If you are planning a broader program rather than responding to this event alone, use the NIST NCCoE post-quantum migration material to structure asset discovery and migration validation. An event-specific review does not replace a full cryptographic inventory or interoperability testing. In particular, a signature algorithm decision does not answer how a TLS deployment negotiates a post-quantum hybrid key exchange.

Keep the evidence and action boundaries visible

The following comparisons help prevent an algorithm-level research result from being mistaken for an implementation incident. They are not substitutes for checking the exact advisory or standard version relevant to your system.

Evidence you have What it supports What it does not prove Appropriate next action
NIST’s statement that the HAWK finding does not affect finalized ML-DSA The scope NIST assigned to this specific event That every ML-DSA implementation or integration is defect-free Keep ML-DSA in use unless separate evidence applies; preserve the citation and review dependencies
Research analysis of HAWK A changed assessment of the candidate scheme described in that research That a deployed ML-DSA service is exploitable Confirm whether HAWK is actually present, then review the official status
A library advisory naming your version A potentially actionable implementation issue under the advisory’s conditions That the standardized algorithm itself is broken Check reachability and usage, then apply and verify the maintainer’s fix
A repository search result for an algorithm string That the string exists in the searched files That production selects that implementation or that the search covered providers and generated configuration Trace runtime selection and inspect the built artifact

A useful review output is not “safe” or “unsafe” without qualification. It records the standard in use, the implementation and version, whether the affected path is reachable, and the source that supports the decision. If you cannot establish one of those items, assign an inventory task rather than announcing an algorithm failure.

The second table is a practical disposition guide. Use it to route work to the right owner, not to infer an issue from the event alone.

Project state Review outcome Owner and follow-up
Confirmed ML-DSA deployment; no applicable implementation notice No HAWK-driven replacement indicated Cryptography or platform owner records the review and continues normal advisory monitoring
HAWK candidate found in a test branch, but not in a production path Contain or retire the candidate in line with project guidance; production impact is not established Build owner confirms the branch is excluded from release artifacts
Algorithm or library version cannot be identified Risk status remains unresolved because evidence is incomplete Application and build owners trace providers, lockfiles, and deployed artifacts
A maintainer notice matches the deployed version and configuration Potential implementation issue requiring notice-specific triage Component owner tests the stated mitigation and verifies the resulting artifact
Only social-media commentary is available Insufficient evidence for a production change Security lead obtains original research and authoritative status information

For teams that need to explain the event to reviewers, keep the wording tied to evidence: HAWK’s analysis changed the status of that candidate; NIST says the finding does not affect finalized ML-DSA; the project’s own dependency and implementation status must still be verified. That phrasing avoids both false reassurance and an unsupported emergency response.

Frequently Asked Questions

Does the HAWK cryptanalysis finding affect ML-DSA?

NIST says the HAWK finding does not affect finalized standards including ML-DSA. HAWK and ML-DSA are different signature schemes, with different designs and standardization status. Treat that statement as a boundary on this specific research event, not a guarantee that every ML-DSA implementation is secure or that future analysis cannot change the assessment.

How can I tell which post-quantum signature my project uses?

Trace the algorithm from the actual signing or verification call, then confirm the library and version, build configuration, and any provider or protocol mapping. Check generated certificates, signed artifacts, and runtime negotiation where relevant. A source-code search for a single name is not enough: candidate names, standardized names, and library-specific identifiers can differ.

Should a company replace a deployed signature algorithm after a candidate is withdrawn?

Not solely because an unstandardized candidate has left consideration. First establish whether the deployed system uses that candidate, a finalized standard, or a vendor-specific implementation. If it uses ML-DSA, NIST's stated HAWK impact assessment does not call for replacement. Reassess only if an authoritative notice or your own dependency evidence identifies a relevant issue.

How do I distinguish cryptographic research from a production vulnerability?

A research result may challenge an algorithm's security assumptions without demonstrating a remotely exploitable flaw in your deployed service. A production vulnerability needs implementation-specific evidence, such as an affected version, reachable code path, and stated attack conditions. Check the maintainer's advisory and remediation guidance before assigning severity or changing a cryptographic configuration.