Skip to content

Add and correct verified threat-model links in project-coordinates.json#74

Open
potiuk wants to merge 6 commits into
apache:mainfrom
potiuk:add-verified-threat-models
Open

Add and correct verified threat-model links in project-coordinates.json#74
potiuk wants to merge 6 commits into
apache:mainfrom
potiuk:add-verified-threat-models

Conversation

@potiuk

@potiuk potiuk commented Jul 21, 2026

Copy link
Copy Markdown
Member

Populates and corrects security_model_link / security_model_source for 66 PMCs whose threat models the ASF Security team has verified, and adds Commons-style projects[] arrays for 9 multi-repo PMCs (axis, freemarker, grails, jackrabbit, polaris, superset, teaclave, trafficserver, ws).

Every URL was deterministically verified to resolve: 72 GitHub files via the contents API and 9 project-site pages.

Notable fixes to stale/incorrect entries:

  • apisix pointed at a root THREAT_MODEL.md that does not exist — the model lives under docs/en/latest/security-threat-model.md.
  • activemq, fineract, impala, superset, trafficserver pointed at GitHub's /security/policy tab rather than the actual model file.
  • camel, cassandra, dolphinscheduler, jackrabbit, kafka, pdfbox, shiro, solr, spark, tomcat pointed at CVE-list / disclosure-policy pages rather than the threat model.

Also adds advisory_link: null to the camel entry so the file validates against project-coordinates.schema.json (pre-existing gap).

Populate and correct security_model_link / security_model_source for 66
PMCs whose threat models the ASF Security team has verified, and add
Commons-style projects[] arrays for 9 multi-repo PMCs (axis, freemarker,
grails, jackrabbit, polaris, superset, teaclave, trafficserver, ws).

Every URL was deterministically verified to resolve: 72 GitHub files via
the contents API and 9 project-site pages. This fixes several stale
entries that pointed at GitHub's /security/policy tab or non-existent
paths (e.g. apisix pointed at a root THREAT_MODEL.md that does not exist;
its model lives under docs/en/latest/). Adds advisory_link: null to the
camel entry to satisfy the schema.

Generated-by: Claude Opus 4.8 (1M context)
@potiuk
potiuk marked this pull request as ready for review July 21, 2026 13:46
@potiuk
potiuk requested a review from ppkarwasz July 21, 2026 13:48
Comment thread scripts/project-coordinates.json Outdated
Comment thread scripts/project-coordinates.json Outdated
Comment thread scripts/project-coordinates.json Outdated
"name": "Apache DolphinScheduler",
"security_model_link": "https://github.com/apache/dolphinscheduler/blob/dev/docs/docs/en/contribute/join/security.md",
"security_model_source": "https://raw.githubusercontent.com/apache/dolphinscheduler/dev/docs/docs/en/contribute/join/security.md",
"security_model_link": "https://github.com/apache/dolphinscheduler/blob/dev/docs/docs/en/contribute/join/security-model.md",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

here security.md tells the user how to report issues and links to security-model.md which has the details on the security model. I think linking to security.md is more helpful, otherwise it's unclear how to report issues.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

For the purpose of the pages that are generated, I think a direct link to security-model.md is the better choice. Reporting instructions are already published on security.apache.org and the generated page only captures the differences: security contact and model.

Comment thread scripts/project-coordinates.json Outdated
"spark": {
"name": "Apache Spark",
"security_model_link": "https://spark.apache.org/security.html",
"security_model_link": "https://spark.apache.org/docs/latest/security.html",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Strip the redundant refs/heads/ segment from all security_model_source
links, as requested in PR apache#74 review. All 87 raw URLs in the file were
verified to still resolve with HTTP 200.

Assisted-By: Claude Fable 5 <noreply@anthropic.com>
Point security_model_link back at camel.apache.org as requested in
PR apache#74 review; the GitHub source stays in security_model_source.
The rendered page was verified to resolve with HTTP 200.

Assisted-By: Claude Fable 5 <noreply@anthropic.com>
When security_model_source is the repository's SECURITY.md on its
default branch, point security_model_link at the GitHub security/policy
tab, which renders the same file more cleanly. Converts 13 blob links
(fineract, freemarker, impala, parquet-java, pdfbox, superset, tomee,
trafficserver and the axis, freemarker and trafficserver sub-projects);
baremaps, hadoop, httpd, paimon and pulsar already followed this
convention. Each source branch was checked to be the repository default
and all 18 policy pages resolve with HTTP 200.

Assisted-By: Claude Fable 5 <noreply@anthropic.com>
WSS4J is one of the projects under the Web Services PMC, so its threat
model belongs in the projects array next to Axiom, XmlSchema and
Neethi rather than at the PMC level, as noted in PR apache#74 review. The
URLs are unchanged.

Assisted-By: Claude Fable 5 <noreply@anthropic.com>
Knox documents its threat model in THREAT_MODEL.md on the default
branch; the raw URL was verified to resolve with HTTP 200.

Assisted-By: Claude Fable 5 <noreply@anthropic.com>

@ppkarwasz ppkarwasz left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Hi @potiuk,

Thanks for the PR. This looks good to me as soon as the two remaining @raboof remarks are addressed. The remaining ones only required mechanical changes and only changed the URL, not the content.

In 0559b43 I also added the threat model for Apache Knox.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants