> A vulnerability without a disclosure process is a vulnerability that gets sold to exploit > brokers, dropped as a zero-day, or posted on Twitter -- coordinated disclosure turns > discovered vulnerabilities into patches instead of breaches
Scanned 9/11/2026
Install to Claude Code
npx -y skills add Intense-Visions/harness-engineering --skill security-vulnerability-disclosure --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Security Vulnerability Disclosure?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/intense-visions-security-vulnerability-disclosure)More formats (shields.io, HTML) on the badges page.
# Vulnerability Disclosure
> A vulnerability without a disclosure process is a vulnerability that gets sold to exploit
> brokers, dropped as a zero-day, or posted on Twitter -- coordinated disclosure turns
> discovered vulnerabilities into patches instead of breaches
## When to Use
- Setting up a vulnerability disclosure program for your organization or product
- Receiving a vulnerability report from an external researcher and deciding how to respond
- Discovering a vulnerability in a third-party product and deciding how to report it
- Writing a security advisory for a vulnerability in your product
- Requesting a CVE identifier and coordinating public disclosure
- Evaluating whether to establish a bug bounty program
## Threat Context
The absence of a clear disclosure process creates perverse incentives that make
vulnerabilities more dangerous, not less:
- **The 2017 Shadow Brokers leak**: NSA-developed exploits (EternalBlue, DoublePulsar) were
leaked publicly without coordination with Microsoft. Microsoft had patched EternalBlue
(MS17-010) one month before the leak -- likely after being notified by NSA -- but many
organizations had not applied the patch. The uncoordinated disclosure of the full exploit
toolkit enabled WannaCry and NotPetya, two of the most destructive cyberattacks in history,
causing billions of dollars in damage. Coordinated disclosure would have provided more time
for patching before exploit availability.
- **Google Project Zero's 90-day policy**: Google's vulnerability research team notifies
vendors and gives them 90 days to release a patch. After 90 days, the vulnerability is
disclosed publicly regardless of patch status. This policy has been controversial but
effective -- it creates a hard deadline that prevents vendors from ignoring or indefinitely
delaying fixes. Since its inception, most major vendors have improved their patch timelines.
- **Researchers prosecuted under CFAA**: Security researchers have faced legal threats and
prosecution under the Computer Fraud and Abuse Act for good-faith vulnerability research.
In 2022, the US Department of Justice updated its CFAA policy to state that good-faith
security research should not be prosecuted. Organizations that threaten researchers with
legal action create a chilling effect that suppresses vulnerability reports, leaving
vulnerabilities unfixed and users at risk.
- **Zerodium and the exploit market**: Zerodium and similar brokers pay up to $2.5 million
for iOS zero-days and $1 million for Chrome zero-days. When vendors do not have disclosure
programs, or when they respond to reports with indifference or hostility, researchers have
a financial incentive to sell to exploit brokers instead of reporting to the vendor. The
vulnerability remains unpatched while the broker sells it to government clients.
## Instructions
1. **Establish a vulnerability disclosure program.** Every organization that produces software
should have a clear, public process for receiving vulnerability reports:
- **security.txt (RFC 9116)**: Place a `/.well-known/security.txt` file on your web
domain. At minimum, include: `Contact:` (security email or web form URL), `Expires:`
(date when the file should be considered stale), `Preferred-Languages:`, and optionally
`Encryption:` (PGP key for encrypted reports) and `Policy:` (link to full disclosure
policy). This standardized file allows researchers to find your reporting channel quickly.
- **security@ email**: Establish `security@yourdomain.com` as the standard contact point.
Monitor it 24/7 or within a defined SLA. Configure PGP/GPG encryption so researchers
can submit reports confidentially.
- **Disclosure policy**: Publish a clear policy that states: what is in scope (your
products, your infrastructure, third-party components), what is out of scope (social
engineering of employees, physical attacks, denial of service testing), safe harbor
language (you will not pursue legal action against researchers acting in good faith),
expected response timeline (acknowledge within 48 hours, initial assessment within 7
days, target fix timeline within 90 days), and recognition (how you credit researchers).
- **Response SLA**: Acknowledge receipt within 24-48 hours. Provide an initial severity
assessment within 7 business days. Provide a timeline for the fix. Communicate status
updates at least every 2 weeks for high-severity issues. Coordinate public disclosure
with the researcher.
2. **Follow the coordinated disclosure process.** When you discover a vulnerability in someone
else's product, or when a researcher reports one to you:
- **Researcher reports to vendor**: The researcher contacts the vendor through the
designated channel with a detailed report including: description of the vulnerability,
affected versions, reproduction steps, proof of concept (non-destructive), and suggested
severity (CVSS score if possible).
- **Vendor acknowledges and assesses**: The vendor confirms receipt, assigns a tracking
number, and evaluates severity. The vendor communicates the assessment and expected fix
timeline to the researcher.
- **Vendor develops and tests the fix**: The vendor develops a patch, tests it across
affected versions, and prepares the advisory. The researcher may verify the fix if the
vendor provides a pre-release.
- **Coordinated public disclosure**: Vendor and researcher agree on a disclosure date. The
vendor releases the patch and advisory simultaneously. The researcher publishes their
write-up. Users can apply the patch immediately upon learning of the vulnerability.
- **Standard disclosure timeline**: 90 days is the de facto industry standard (per Google
Project Zero). Some organizations use 45 days for critical vulnerabilities or 120 days
for complex issues. The timeline should balance giving the vendor time to fix the issue
with protecting users from indefinite exposure.
3. **Request and manage CVE identifiers.** CVEs (Common Vulnerabilities and Exposures) provide
a standardized way to identify vulnerabilities:
- **When to request a CVE**: For any vulnerability in a product or library used by others.
Internal-only systems do not need CVEs. CVEs help users track vulnerabilities across
vendors, tools, and advisories.
- **CVE Numbering Authorities (CNAs)**: If your organization is a CNA (major software
vendors, open-source projects, cloud providers), you can assign CVE IDs directly.
Otherwise, request a CVE from MITRE (cveform.mitre.org) or through a CNA that covers
your domain.
- **CVE record contents**: CVE ID, affected product and versions, vulnerability type (CWE
ID), description, severity (CVSS score), references (advisory URL, patch URL, write-up
URL), and credit to the reporter.
- **NVD publication**: After CVE assignment, the record is published to the National
Vulnerability Database (NVD), where it is enriched with CVSS scores and CPE (Common
Platform Enumeration) identifiers. This makes the vulnerability searchable and
trackable by vulnerability management tools.
4. **Write effective security advisories.** The advisory is the primary communication to users
about the vulnerability and its fix:
- **Title**: Short, specific. "Remote Code Execution in Widget Parser" not "Security
Update."
- **CVE ID**: Include the assigned CVE identifier.
- **Severity**: CVSS v3.1 base score and vector string. Provide a qualitative rating
(Critical, High, Medium, Low) alongside the numeric score.
- **Affected versions**: Explicit version ranges. "Versions 2.0.0 through 2.4.3 are
affected. Version 2.4.4 contains the fix."
- **Description**: What the vulnerability is (buffer overflow, SQL injection, insecure
deserialization), what an attacker can achieve (RCE, data disclosure, DoS), and what
conditions are required for exploitation (authentication required, network-accessible,
default configuration).
- **Remediation**: Specific upgrade instructions. If a patch is not available, provide a
workaround (configuration change, WAF rule, feature disable) with a timeline for the
permanent fix.
- **Credit**: Name the researcher who reported the vulnerability (with their consent). This
incentivizes future reports and demonstrates good-faith participation in the security
community.
- **Timeline**: Optionally include the disclosure timeline (reported date, fix date,
advisory date) for transparency.
5. **Consider a bug bounty program for mature organizations.** Bug bounties incentivize
external security research with financial rewards:
- **Prerequisites**: Before launching a bug bounty, ensure you have: a functioning
vulnerability disclosure program, the ability to receive, triage, and fix reports within
the SLA, and engineering capacity to handle the volume of reports.
- **Scope**: Define what is in scope (production systems, staging environments, specific
applications) and what is out of scope (denial of service, social engineering, third-
party services you do not control).
- **Reward structure**: Base rewards on severity (CVSS score) and impact. Critical RCE:
$5,000-$50,000+. High: $1,000-$10,000. Medium: $500-$2,000. Low: $100-$500. These
ranges vary dramatically by organization and industry.
- **Platforms**: HackerOne, Bugcrowd, and Intigriti provide managed bug bounty platforms
with triage support, researcher vetting, and legal frameworks. These reduce operational
overhead compared to running a program independently.
## Details
- **The economics of disclosure**: A researcher who discovers a zero-day has several options:
report to the vendor (free or bug bounty reward), sell to an exploit broker ($10,000 to
$2,500,000 depending on the target), use it for penetration testing engagements, or publish
it for reputation. The vendor's response determines which option is most attractive. A
vendor with no disclosure program, no acknowledgment, and no bounty makes the broker option
more attractive. A vendor with a responsive program, fair bounties, and public credit makes
responsible disclosure the rational choice.
- **PSIRT (Product Security Incident Response Team) operations**: Large organizations
establish a PSIRT to manage the vulnerability lifecycle: receive reports, triage, coordinate
with engineering for fixes, manage CVE assignment, write advisories, coordinate disclosure
timing, and track metrics (time to acknowledgment, time to fix, time to advisory). The
PSIRT is the organization's interface with the external security research community.
ISO/IEC 29147 (Vulnerability Disclosure) and ISO/IEC 30111 (Vulnerability Handling
Processes) provide frameworks for PSIRT operations.
- **Legal landscape for security research**: The Computer Fraud and Abuse Act (CFAA) in the
US, the Computer Misuse Act in the UK, and similar laws in other jurisdictions can
criminalize unauthorized access, even when performed with good intentions. Safe harbor
language in disclosure policies provides a commitment not to pursue legal action. The DOJ's
2022 CFAA policy update states that good-faith security research should not be charged, but
this is prosecutorial guidance, not law. The EU's proposed Cyber Resilience Act includes
provisions for coordinated vulnerability disclosure. Organizations should consult legal
counsel when drafting disclosure policies and safe harbor language.
- **Disclosure timeline negotiation**: The 90-day standard is not rigid. If the vendor
demonstrates active progress (regular status updates, a confirmed fix date within a
reasonable window), researchers typically grant extensions. If the vendor is unresponsive
or denies the vulnerability, researchers may shorten the timeline. If the vulnerability is
being actively exploited in the wild (a zero-day), immediate disclosure may be warranted
because users need to know to apply mitigations even before a patch exists. The goal is
always to minimize the total exposure of users.
## Anti-Patterns
1. **No disclosure policy.** Researchers find a vulnerability but have no way to report it.
There is no security.txt, no security@ email, and no contact information in the product's
documentation. The researcher has three options: give up, disclose publicly (creating a
zero-day), or sell to a broker. None of these options result in a coordinated patch.
Publish a security.txt and a disclosure policy.
2. **Threatening legal action against researchers.** A researcher reports a vulnerability and
the organization's legal department sends a cease-and-desist or threatens prosecution.
This chills future reports -- other researchers see the threat and decide not to report.
The vulnerability remains unfixed, but now the organization has also damaged its reputation
in the security community. Include safe harbor language in the disclosure policy and honor
it.
3. **Disclosing without a patch available.** Publishing a vulnerability advisory before a fix
exists, giving attackers a roadmap without giving users a defense. Coordinate disclosure
timing so that the patch and the advisory are released simultaneously. If a workaround
exists, publish the workaround immediately and the full details after the patch.
4. **Ignoring vulnerability reports.** A researcher reports a critical vulnerability and
receives no response for weeks or months. The researcher follows up, still no response.
Eventually the researcher discloses publicly out of obligation to affected users. The
organization is caught unprepared with no patch. Acknowledge reports within 48 hours even
if the full assessment takes longer.
5. **No CVE assignment.** Fixing a vulnerability silently without assigning a CVE or
publishing an advisory. Users who track vulnerabilities through CVEs and vulnerability
databases do not know the fix exists and do not prioritize the update. Silent fixes
leave users exposed because they do not know they need to update. Assign CVEs for all
vulnerabilities in products used by others and publish advisories.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!