<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Alexandre Dulaunoy - adulau - Home Page</title>
    <description>Personal webpage of Alexandre Dulaunoy - from information security to open source and art</description>
    <link>https://www.foo.be/</link>
    <atom:link href="https://www.foo.be/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Mon, 27 Apr 2026 22:08:01 +0200</pubDate>
    <lastBuildDate>Mon, 27 Apr 2026 22:08:01 +0200</lastBuildDate>
    <generator>Jekyll v4.4.1</generator>
    
      <item>
        <title>Don’t Do Team Meetings</title>
        <description>&lt;h1 id=&quot;dont-do-team-meetings&quot;&gt;Don’t Do Team Meetings&lt;/h1&gt;

&lt;p&gt;Regular team meetings are often treated as a default part of work. They are seen as a sign of coordination, alignment, and healthy communication. In practice, they often reveal the opposite.&lt;/p&gt;

&lt;p&gt;A recurring team meeting where everyone goes around the room to explain what they did last week is usually not a good use of time. It turns communication into a performance instead of a real exchange of useful information. If the team needs a formal meeting just to learn what people have been doing, that is often a sign that day-to-day communication is already failing.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/reader.jpg&quot; alt=&quot;A reader in Paris - https://www.flickr.com/photos/adulau/54725313377/&quot; /&gt;&lt;/p&gt;
&lt;h2 id=&quot;the-problem-with-what-did-you-do-last-week-meetings&quot;&gt;The problem with “what did you do last week?” meetings&lt;/h2&gt;

&lt;h3 id=&quot;they-happen-too-late&quot;&gt;They happen too late&lt;/h3&gt;

&lt;p&gt;Work should not become visible only once a week in a meeting. If something matters, it should already have been shared when it happened: when a task was completed, when a blocker appeared, when a useful idea emerged, or when help was needed.&lt;/p&gt;

&lt;p&gt;Waiting for a meeting to report progress means information is delayed, and delayed information is usually less useful.&lt;/p&gt;

&lt;h3 id=&quot;they-expose-a-communication-issue&quot;&gt;They expose a communication issue&lt;/h3&gt;

&lt;p&gt;If a team depends on a weekly meeting to know what others are achieving, the issue is not a lack of meetings. The issue is a lack of continuous communication.&lt;/p&gt;

&lt;p&gt;People should not discover completed work, current priorities, or open questions only during a scheduled call. A healthy team communicates continuously, in context, and in writing when possible. If this is not happening, adding more meetings does not solve the underlying problem.&lt;/p&gt;

&lt;h3 id=&quot;they-are-often-boring&quot;&gt;They are often boring&lt;/h3&gt;

&lt;p&gt;Most of these meetings are passive. One person speaks, others wait for their turn, and very little real discussion happens. In many cases, people are not truly listening. They are replying to emails, reading messages, or working on something else while the meeting continues in the background.&lt;/p&gt;

&lt;p&gt;That is usually a sign that the meeting is not useful enough to deserve full attention.&lt;/p&gt;

&lt;h3 id=&quot;they-scale-badly&quot;&gt;They scale badly&lt;/h3&gt;

&lt;p&gt;The more people you add, the worse the meeting becomes.&lt;/p&gt;

&lt;p&gt;Each additional participant increases the duration, reduces relevance, and lowers attention. What may be tolerable with three people becomes a waste of time with ten. A long status meeting with many participants often creates very little value for most of them.&lt;/p&gt;

&lt;p&gt;A meeting that costs one hour for ten people is not a one-hour meeting. It is a ten-hour cost for the team.&lt;/p&gt;

&lt;h2 id=&quot;a-better-model-continuous-sharing&quot;&gt;A better model: continuous sharing&lt;/h2&gt;

&lt;p&gt;The alternative is simple: share continuously in chat, in the right place, as the work happens.&lt;/p&gt;

&lt;p&gt;This is the model we use in our team.&lt;/p&gt;

&lt;p&gt;Instead of relying on status meetings, communication happens across several chat rooms:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;one global room for the whole team&lt;/li&gt;
  &lt;li&gt;one fun room for informal exchanges&lt;/li&gt;
  &lt;li&gt;multiple project-specific rooms&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The rule is simple: use the project room first when something is related to a specific project. This keeps information close to the people who need it, while still making it visible to others who want to follow along.&lt;/p&gt;

&lt;p&gt;Everyone can join all rooms. The only mandatory ones are the global room and the fun room.&lt;/p&gt;

&lt;p&gt;This model has several advantages:&lt;/p&gt;

&lt;h2 id=&quot;communication-becomes-timely&quot;&gt;Communication becomes timely&lt;/h2&gt;

&lt;p&gt;Updates are shared when they matter, not days later. People can react sooner, help sooner, and stay informed without waiting for a calendar slot.&lt;/p&gt;

&lt;h2 id=&quot;communication-becomes-contextual&quot;&gt;Communication becomes contextual&lt;/h2&gt;

&lt;p&gt;Project-related discussions stay in project rooms. Team-wide information goes to the global room. Casual conversation has its own place. This reduces noise and makes it easier to find relevant information later.&lt;/p&gt;

&lt;h2 id=&quot;communication-becomes-inclusive-without-being-interruptive&quot;&gt;Communication becomes inclusive without being interruptive&lt;/h2&gt;

&lt;p&gt;People can read when they have time. They do not need to stop their work for a meeting that may not concern them. They can stay informed asynchronously and still participate when relevant.&lt;/p&gt;

&lt;p&gt;There is no need to force reactions. Sharing is enough.&lt;/p&gt;

&lt;h2 id=&quot;communication-becomes-searchable-and-durable&quot;&gt;Communication becomes searchable and durable&lt;/h2&gt;

&lt;p&gt;A chat message leaves a trace. It can be read later, linked, searched, or revisited. A spoken status update in a meeting often disappears as soon as the call ends.&lt;/p&gt;

&lt;h2 id=&quot;meetings-should-be-the-exception&quot;&gt;Meetings should be the exception&lt;/h2&gt;

&lt;p&gt;This does not mean that all meetings are bad. Some meetings are necessary:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;to make a decision that requires live discussion&lt;/li&gt;
  &lt;li&gt;to resolve a conflict or a misunderstanding quickly&lt;/li&gt;
  &lt;li&gt;to work through a complex topic together&lt;/li&gt;
  &lt;li&gt;to handle urgent coordination in real time&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But a recurring status meeting is rarely the best tool for those cases.&lt;/p&gt;

&lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;If your team has a weekly meeting just to explain what everyone did last week, the problem is probably not that you need a better meeting. The problem is that you need better communication during the week.&lt;/p&gt;

&lt;p&gt;A team that shares continuously in chat is usually more informed, more efficient, and less dependent on rituals that consume time without creating much value.&lt;/p&gt;

&lt;p&gt;Do not default to team meetings.&lt;/p&gt;

&lt;p&gt;Communicate continuously. Share in context. Keep meetings for the moments when real synchronous discussion is actually needed.&lt;/p&gt;
</description>
        <pubDate>Mon, 27 Apr 2026 12:02:00 +0200</pubDate>
        <link>https://www.foo.be/2026/04/dont-do-team-meetings</link>
        <guid isPermaLink="true">https://www.foo.be/2026/04/dont-do-team-meetings</guid>
        
        
        <category>collaboration</category>
        
        <category>team</category>
        
      </item>
    
      <item>
        <title>Bring Back RSS for Operational Security</title>
        <description>&lt;h1 id=&quot;bring-back-rss-for-operational-security&quot;&gt;Bring Back RSS for Operational Security&lt;/h1&gt;

&lt;p&gt;This post expands on ideas I previously presented at &lt;a href=&quot;https://www.pass-the-salt.org/&quot;&gt;Pass the SALT 2024&lt;/a&gt; in my talk &lt;em&gt;Bring Back RSS For Operational Security&lt;/em&gt;.&lt;sup id=&quot;fnref:slides&quot;&gt;&lt;a href=&quot;#fn:slides&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;sup id=&quot;fnref:video&quot;&gt;&lt;a href=&quot;#fn:video&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; The short version is simple: operational security teams still need a reliable way to track change, automate collection, and reduce dependency on closed platforms. RSS already solves much of that problem.&lt;/p&gt;

&lt;p&gt;Operational security teams spend an enormous amount of time watching for change.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;A new vulnerability advisory is published.&lt;/li&gt;
  &lt;li&gt;A vendor updates a CSAF document.&lt;/li&gt;
  &lt;li&gt;A threat actor leaks a new victim.&lt;/li&gt;
  &lt;li&gt;A trusted researcher posts a new analysis.&lt;/li&gt;
  &lt;li&gt;A CERT publishes an incident note.&lt;/li&gt;
  &lt;li&gt;A MISP event is enriched.&lt;/li&gt;
  &lt;li&gt;A public dashboard changes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Most of these changes matter because they are &lt;em&gt;new&lt;/em&gt;. And yet, in many security teams, we still collect this information in the most fragile way possible: by manually checking websites, relying on algorithmic social platforms, scraping pages that were never designed for machine consumption, or subscribing to closed platforms that add friction instead of removing it.&lt;/p&gt;

&lt;p&gt;This is why RSS needs to come back in operational security.&lt;/p&gt;

&lt;p&gt;Not as nostalgia. Not as a retro technology for bloggers. But as a simple, robust, auditable, automatable transport format for change detection and information sharing.&lt;/p&gt;

&lt;h2 id=&quot;rss-was-built-for-exactly-this-problem&quot;&gt;RSS was built for exactly this problem&lt;/h2&gt;

&lt;p&gt;RSS and Atom were designed to describe streams of updates: a list of items, each with metadata such as a title, a publication date, a link, and often a short description. In other words, they were designed to answer a basic operational question:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What changed since the last time I looked?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That question is at the heart of security operations.&lt;/p&gt;

&lt;p&gt;A SOC does not only need raw telemetry. It also needs structured awareness of external change:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;newly published vulnerabilities&lt;/li&gt;
  &lt;li&gt;changes in vendor advisories&lt;/li&gt;
  &lt;li&gt;new threat intelligence reports&lt;/li&gt;
  &lt;li&gt;updates from trusted researchers&lt;/li&gt;
  &lt;li&gt;public claims from threat actors&lt;/li&gt;
  &lt;li&gt;newly published forensic write-ups&lt;/li&gt;
  &lt;li&gt;software release notes with security impact&lt;/li&gt;
  &lt;li&gt;updates in shared intelligence platforms&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;RSS solves this in a way that is boring, open, and dependable. That is precisely why it remains useful.&lt;/p&gt;

&lt;h2 id=&quot;security-operations-need-boring-technology&quot;&gt;Security operations need boring technology&lt;/h2&gt;

&lt;p&gt;Security teams already deal with enough complexity. We do not need every upstream source to invent its own notification model, API semantics, authentication flow, JavaScript-heavy frontend, and rate-limit strategy.&lt;/p&gt;

&lt;p&gt;We need more sources that simply publish updates in a standard format.&lt;/p&gt;

&lt;p&gt;RSS has several properties that make it especially attractive for operational use:&lt;/p&gt;

&lt;h3 id=&quot;it-is-simple&quot;&gt;It is simple&lt;/h3&gt;

&lt;p&gt;The model is easy to understand: a feed contains entries. Each entry points to something new or changed. There is very little ambiguity about the purpose.&lt;/p&gt;

&lt;h3 id=&quot;it-is-machine-readable&quot;&gt;It is machine-readable&lt;/h3&gt;

&lt;p&gt;Feeds are meant to be consumed by software. This matters because security work quickly becomes repetitive at scale.&lt;/p&gt;

&lt;h3 id=&quot;it-is-decentralized&quot;&gt;It is decentralized&lt;/h3&gt;

&lt;p&gt;There is no central platform that decides what is visible. Every producer can publish their own feed. Every consumer can subscribe using their own tooling.&lt;/p&gt;

&lt;h3 id=&quot;it-is-automatable&quot;&gt;It is automatable&lt;/h3&gt;

&lt;p&gt;Feeds can be polled, filtered, transformed, merged, archived, enriched, and redistributed with minimal effort.&lt;/p&gt;

&lt;h3 id=&quot;it-is-auditable&quot;&gt;It is auditable&lt;/h3&gt;

&lt;p&gt;Unlike opaque recommendation engines and engagement-driven timelines, RSS is explicit. You know what you subscribed to. You can replay entries. You can store them. You can build deterministic workflows around them.&lt;/p&gt;

&lt;p&gt;In operational security, those properties are not just nice to have. They are essential.&lt;/p&gt;

&lt;h2 id=&quot;analyst-fatigue-is-real-and-rss-helps-reduce-it&quot;&gt;Analyst fatigue is real, and RSS helps reduce it&lt;/h2&gt;

&lt;p&gt;Security analysts have a broad range of responsibilities: collecting events, detecting threats, triaging signals, analyzing context, and coordinating response. Repetitive collection work adds friction and contributes directly to fatigue. Automation is vital to keep humans focused on judgment rather than polling websites.&lt;sup id=&quot;fnref:slides:1&quot;&gt;&lt;a href=&quot;#fn:slides&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;RSS is one of the easiest ways to automate the collection of external updates without building a fragile dependency on every source.&lt;/p&gt;

&lt;p&gt;Instead of asking analysts to remember twenty websites, ten vendor portals, and a handful of social accounts, you can move to a model like this:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;subscribe once&lt;/li&gt;
  &lt;li&gt;normalize once&lt;/li&gt;
  &lt;li&gt;filter continuously&lt;/li&gt;
  &lt;li&gt;alert selectively&lt;/li&gt;
  &lt;li&gt;archive automatically&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That is a much healthier model for a SOC than “open browser tabs and refresh all morning.”&lt;/p&gt;

&lt;h2 id=&quot;rss-is-already-useful-in-vulnerability-management&quot;&gt;RSS is already useful in vulnerability management&lt;/h2&gt;

&lt;p&gt;One of the most obvious operational use cases is vulnerability intelligence.&lt;/p&gt;

&lt;p&gt;The vulnerability ecosystem has changed significantly. NVD is no longer the only practical source of vulnerability information. We now have CNA publications, vendor advisories, CSAF feeds, project-level disclosures, and many other upstream sources. A modern vulnerability workflow must handle multiple sources, not just one canonical database.&lt;sup id=&quot;fnref:slides:2&quot;&gt;&lt;a href=&quot;#fn:slides&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;This is exactly where feeds shine.&lt;/p&gt;

&lt;p&gt;A multi-source vulnerability platform can expose a feed per source, allowing teams to:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;monitor newly disclosed items&lt;/li&gt;
  &lt;li&gt;separate vendor-specific updates from generic CVE publication&lt;/li&gt;
  &lt;li&gt;follow only the ecosystems they care about&lt;/li&gt;
  &lt;li&gt;trigger enrichment or prioritization pipelines when new entries appear&lt;/li&gt;
  &lt;li&gt;generate internal dashboards or digests from the latest changes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In Vulnerability-Lookup, this model is natural: every source can expose recent updates through RSS or Atom, which makes it easy to subscribe, aggregate, and operationalize the latest disclosures.&lt;sup id=&quot;fnref:vulnerability-lookup&quot;&gt;&lt;a href=&quot;#fn:vulnerability-lookup&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;sup id=&quot;fnref:example-nvd&quot;&gt;&lt;a href=&quot;#fn:example-nvd&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;sup id=&quot;fnref:example-siemens&quot;&gt;&lt;a href=&quot;#fn:example-siemens&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;5&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;That matters because vulnerability operations are not only about querying a database. They are also about tracking &lt;em&gt;what changed recently&lt;/em&gt;.&lt;/p&gt;

&lt;h2 id=&quot;rss-is-also-a-strong-fit-for-threat-intelligence-collection&quot;&gt;RSS is also a strong fit for threat intelligence collection&lt;/h2&gt;

&lt;p&gt;RSS should not be limited to vulnerability advisories.&lt;/p&gt;

&lt;p&gt;Threat intelligence often starts with watching trusted public sources: researchers, incident responders, CERTs, vendor blogs, community projects, bot accounts, and public reporting streams.&lt;/p&gt;

&lt;p&gt;A good example is Mastodon. By default, Mastodon accounts expose RSS feeds, which means public accounts can be consumed by standard feed tooling without depending on the platform interface. In practice, that makes it easy to subscribe to high-signal accounts and process updates automatically.&lt;sup id=&quot;fnref:slides:3&quot;&gt;&lt;a href=&quot;#fn:slides&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;This creates useful possibilities:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;track public ransomware victim disclosures&lt;/li&gt;
  &lt;li&gt;monitor researcher reporting on campaigns, malware, or infrastructure&lt;/li&gt;
  &lt;li&gt;watch topic-specific accounts for changes relevant to your organization&lt;/li&gt;
  &lt;li&gt;filter by keywords, sectors, product names, or geography&lt;/li&gt;
  &lt;li&gt;capture public reporting into internal knowledge systems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is often more reliable than asking analysts to watch social media timelines manually.&lt;/p&gt;

&lt;h2 id=&quot;rss-works-well-as-an-operational-building-block&quot;&gt;RSS works well as an operational building block&lt;/h2&gt;

&lt;p&gt;One reason RSS deserves a comeback is that it composes well.&lt;/p&gt;

&lt;p&gt;It does not need to be the final destination. It can be the transport layer between a source and your workflows.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;h3 id=&quot;feed---filter---dashboard&quot;&gt;Feed -&amp;gt; filter -&amp;gt; dashboard&lt;/h3&gt;

&lt;p&gt;A self-hosted reader can aggregate feeds from vendors, CERTs, researchers, and internal sources. Analysts can use this as a shared situational-awareness layer.&lt;sup id=&quot;fnref:newspipe&quot;&gt;&lt;a href=&quot;#fn:newspipe&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;6&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

&lt;h3 id=&quot;feed---transform---alert&quot;&gt;Feed -&amp;gt; transform -&amp;gt; alert&lt;/h3&gt;

&lt;p&gt;A script can parse entries, match on keywords, extract URLs, and generate notifications only for relevant updates.&lt;sup id=&quot;fnref:rss-tools&quot;&gt;&lt;a href=&quot;#fn:rss-tools&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;7&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

&lt;h3 id=&quot;feed---enrich---misp&quot;&gt;Feed -&amp;gt; enrich -&amp;gt; MISP&lt;/h3&gt;

&lt;p&gt;A workflow can ingest feed items, pull linked content, create or update MISP events, and extract indicators or context from the referenced material.&lt;sup id=&quot;fnref:misp-scraper&quot;&gt;&lt;a href=&quot;#fn:misp-scraper&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;8&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

&lt;h3 id=&quot;feed---merge---publish&quot;&gt;Feed -&amp;gt; merge -&amp;gt; publish&lt;/h3&gt;

&lt;p&gt;Multiple feeds can be combined into a reverse-chronological stream for a team portal, internal digest, or external situational-awareness page.&lt;sup id=&quot;fnref:rssmerge&quot;&gt;&lt;a href=&quot;#fn:rssmerge&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;9&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

&lt;h3 id=&quot;feed---archive---search&quot;&gt;Feed -&amp;gt; archive -&amp;gt; search&lt;/h3&gt;

&lt;p&gt;Entries can be stored over time, indexed, and replayed later for investigations, reporting, and retrospective analysis.&lt;/p&gt;

&lt;p&gt;That modularity is one of RSS’s biggest strengths. It is not trying to be the whole platform. It is a small, useful component that fits into many platforms.&lt;/p&gt;

&lt;h2 id=&quot;we-should-stop-confusing-old-with-obsolete&quot;&gt;We should stop confusing “old” with “obsolete”&lt;/h2&gt;

&lt;p&gt;A recurring mistake in technology is assuming that older protocols are irrelevant simply because they are not fashionable.&lt;/p&gt;

&lt;p&gt;RSS is old. So is email. So is DNS. So is syslog.&lt;/p&gt;

&lt;p&gt;Age is not a good reason to discard a protocol that still solves a real problem effectively.&lt;/p&gt;

&lt;p&gt;In fact, RSS compares favorably to many modern alternatives:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;it is easier to consume than most bespoke APIs&lt;/li&gt;
  &lt;li&gt;it is easier to preserve than social media streams&lt;/li&gt;
  &lt;li&gt;it is more interoperable than proprietary notification systems&lt;/li&gt;
  &lt;li&gt;it is easier to self-host than most “intelligence platform” workflows&lt;/li&gt;
  &lt;li&gt;it creates less lock-in than platform-native feeds and dashboards&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The security community often talks about resilience, open standards, and reducing dependency on single vendors. RSS is aligned with all three.&lt;/p&gt;

&lt;h2 id=&quot;practical-use-cases-for-operational-security-teams&quot;&gt;Practical use cases for operational security teams&lt;/h2&gt;

&lt;p&gt;Here are concrete places where RSS can provide immediate value:&lt;/p&gt;

&lt;h3 id=&quot;vendor-advisory-monitoring&quot;&gt;Vendor advisory monitoring&lt;/h3&gt;

&lt;p&gt;Subscribe to vendor advisory feeds, product security feeds, and CSAF-derived updates. Route them to product owners, vulnerability teams, or sector-specific analysts.&lt;/p&gt;

&lt;h3 id=&quot;cert-and-csirt-awareness&quot;&gt;CERT and CSIRT awareness&lt;/h3&gt;

&lt;p&gt;Track advisories, incident notes, and vulnerability communications from national and sectoral CERTs.&lt;/p&gt;

&lt;h3 id=&quot;research-monitoring&quot;&gt;Research monitoring&lt;/h3&gt;

&lt;p&gt;Follow high-signal blogs, project release feeds, and public researcher accounts.&lt;/p&gt;

&lt;h3 id=&quot;threat-actor-visibility&quot;&gt;Threat actor visibility&lt;/h3&gt;

&lt;p&gt;In some cases, public reporting streams or bot-published updates can be monitored via RSS for early awareness and trend tracking.&lt;/p&gt;

&lt;h3 id=&quot;internal-soc-dashboarding&quot;&gt;Internal SOC dashboarding&lt;/h3&gt;

&lt;p&gt;Use a self-hosted feed reader or custom dashboard as a collaborative stream of external operational context.&lt;/p&gt;

&lt;h3 id=&quot;misp-enrichment-workflows&quot;&gt;MISP enrichment workflows&lt;/h3&gt;

&lt;p&gt;Consume feeds, extract linked content, and create or enrich events with contextual reports and indicators.&lt;/p&gt;

&lt;h3 id=&quot;executive-or-sector-digests&quot;&gt;Executive or sector digests&lt;/h3&gt;

&lt;p&gt;Merge multiple feeds and publish filtered summaries in text, HTML, or Markdown for targeted internal audiences.&lt;/p&gt;

&lt;h2 id=&quot;the-tooling-barrier-is-very-low&quot;&gt;The tooling barrier is very low&lt;/h2&gt;

&lt;p&gt;Another reason to bring RSS back is that the tooling required is minimal.&lt;/p&gt;

&lt;p&gt;You do not need a huge platform migration to start using it well.&lt;/p&gt;

&lt;p&gt;A small stack can already deliver a lot of value:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;a self-hosted reader for aggregation and sharing&lt;/li&gt;
  &lt;li&gt;a few scripts for filtering or transformation&lt;/li&gt;
  &lt;li&gt;MISP integration for enrichment and extraction&lt;/li&gt;
  &lt;li&gt;a merger tool for combined output&lt;/li&gt;
  &lt;li&gt;a discovery tool to find feeds on target sites&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is attractive for small and medium teams because the cost of experimentation is low. It is also attractive for larger teams because the result is transparent and composable.&lt;/p&gt;

&lt;p&gt;There is no mystery box here. Just feeds, parsers, filters, and workflows.&lt;/p&gt;

&lt;h2 id=&quot;rss-supports-open-security-ecosystems&quot;&gt;RSS supports open security ecosystems&lt;/h2&gt;

&lt;p&gt;Operational security benefits when information can move between communities, tools, and organizations with as little friction as possible.&lt;/p&gt;

&lt;p&gt;RSS supports that goal because it is:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;open&lt;/li&gt;
  &lt;li&gt;well understood&lt;/li&gt;
  &lt;li&gt;easy to generate&lt;/li&gt;
  &lt;li&gt;easy to mirror&lt;/li&gt;
  &lt;li&gt;easy to transform&lt;/li&gt;
  &lt;li&gt;easy to redistribute&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That makes it a good fit not only for consumption, but also for publication.&lt;/p&gt;

&lt;p&gt;Security projects should publish feeds by default.&lt;/p&gt;

&lt;p&gt;If you operate any of the following, you should consider exposing an RSS or Atom feed:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;vulnerability databases&lt;/li&gt;
  &lt;li&gt;advisory portals&lt;/li&gt;
  &lt;li&gt;research blogs&lt;/li&gt;
  &lt;li&gt;release notes&lt;/li&gt;
  &lt;li&gt;incident summaries&lt;/li&gt;
  &lt;li&gt;MISP exports or derived views&lt;/li&gt;
  &lt;li&gt;sector-specific intelligence summaries&lt;/li&gt;
  &lt;li&gt;curated watchlists&lt;/li&gt;
  &lt;li&gt;public dashboards of recent changes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Publishing a feed is a simple way to make your information more usable operationally.&lt;/p&gt;

&lt;h2 id=&quot;what-the-security-community-should-do-next&quot;&gt;What the security community should do next&lt;/h2&gt;

&lt;p&gt;Bringing RSS back does not require a grand initiative. It requires a change in defaults.&lt;/p&gt;

&lt;h3 id=&quot;if-you-produce-information&quot;&gt;If you produce information&lt;/h3&gt;

&lt;p&gt;Publish a feed.&lt;/p&gt;

&lt;p&gt;Do not force users to scrape your site or depend on a proprietary platform just to know what changed.&lt;/p&gt;

&lt;h3 id=&quot;if-you-build-tools&quot;&gt;If you build tools&lt;/h3&gt;

&lt;p&gt;Support feeds as both input and output.&lt;/p&gt;

&lt;p&gt;Do not assume every workflow starts with a REST API and ends in a web UI.&lt;/p&gt;

&lt;h3 id=&quot;if-you-run-a-soc-or-csirt&quot;&gt;If you run a SOC or CSIRT&lt;/h3&gt;

&lt;p&gt;Treat feeds as first-class operational inputs, not as a side channel.&lt;/p&gt;

&lt;p&gt;Build subscription, filtering, enrichment, and archival workflows around them.&lt;/p&gt;

&lt;h3 id=&quot;if-you-maintain-intelligence-sharing-platforms&quot;&gt;If you maintain intelligence-sharing platforms&lt;/h3&gt;

&lt;p&gt;Make RSS and Atom part of the interoperability story again.&lt;/p&gt;

&lt;p&gt;Simple export formats often have the biggest practical impact.&lt;/p&gt;

&lt;h2 id=&quot;rss-is-not-dead-we-just-stopped-using-it-enough&quot;&gt;RSS is not dead. We just stopped using it enough.&lt;/h2&gt;

&lt;p&gt;RSS never disappeared. It was simply pushed to the margins while platforms optimized for attention, lock-in, and opacity.&lt;/p&gt;

&lt;p&gt;But in operational security, those platform incentives are often the opposite of what we need.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;We need explicit subscriptions instead of algorithmic ranking.&lt;/li&gt;
  &lt;li&gt;We need structured updates instead of noisy timelines.&lt;/li&gt;
  &lt;li&gt;We need automation instead of manual checking.&lt;/li&gt;
  &lt;li&gt;We need open formats instead of closed ecosystems.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;RSS still provides that.&lt;/p&gt;

&lt;p&gt;So yes, bring back RSS for operational security.&lt;/p&gt;

&lt;p&gt;Not because it is old-school. Because it is useful. Because it is interoperable. Because it reduces friction. Because it helps analysts focus on what matters. And because a lot of security information is, at its core, simply a stream of changes that deserves a clean and standard way to be consumed.&lt;/p&gt;

&lt;h2 id=&quot;footnotes&quot;&gt;Footnotes&lt;/h2&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:slides&quot;&gt;
      &lt;p&gt;Pass the SALT 2024 slides, &lt;em&gt;Bring Back RSS For Operational Security&lt;/em&gt;: &lt;a href=&quot;https://www.vulnerability-lookup.org/files/events/2024/20240603-bring-back-rss-for-operational-security.pdf&quot;&gt;https://www.vulnerability-lookup.org/files/events/2024/20240603-bring-back-rss-for-operational-security.pdf&lt;/a&gt; &lt;a href=&quot;#fnref:slides&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt; &lt;a href=&quot;#fnref:slides:1&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt; &lt;a href=&quot;#fnref:slides:2&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;sup&gt;3&lt;/sup&gt;&lt;/a&gt; &lt;a href=&quot;#fnref:slides:3&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;sup&gt;4&lt;/sup&gt;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:video&quot;&gt;
      &lt;p&gt;Pass the SALT 2024 recording: &lt;a href=&quot;https://passthesalt.ubicast.tv/videos/2024-bring-back-rss-for-operational-security/&quot;&gt;https://passthesalt.ubicast.tv/videos/2024-bring-back-rss-for-operational-security/&lt;/a&gt; &lt;a href=&quot;#fnref:video&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:vulnerability-lookup&quot;&gt;
      &lt;p&gt;Vulnerability-Lookup project: &lt;a href=&quot;https://github.com/cve-search/vulnerability-lookup&quot;&gt;https://github.com/cve-search/vulnerability-lookup&lt;/a&gt; &lt;a href=&quot;#fnref:vulnerability-lookup&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:example-nvd&quot;&gt;
      &lt;p&gt;Example recent NVD Atom feed: &lt;a href=&quot;https://vulnerability.circl.lu/recent/nvd.atom&quot;&gt;https://vulnerability.circl.lu/recent/nvd.atom&lt;/a&gt; &lt;a href=&quot;#fnref:example-nvd&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:example-siemens&quot;&gt;
      &lt;p&gt;Example recent Siemens CSAF RSS feed: &lt;a href=&quot;https://vulnerability.circl.lu/recent/csaf_siemens.rss&quot;&gt;https://vulnerability.circl.lu/recent/csaf_siemens.rss&lt;/a&gt; &lt;a href=&quot;#fnref:example-siemens&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:newspipe&quot;&gt;
      &lt;p&gt;Newspipe: &lt;a href=&quot;https://github.com/cedricbonhomme/newspipe&quot;&gt;https://github.com/cedricbonhomme/newspipe&lt;/a&gt; &lt;a href=&quot;#fnref:newspipe&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:rss-tools&quot;&gt;
      &lt;p&gt;RSS tools collection: &lt;a href=&quot;https://github.com/adulau/rss-tools&quot;&gt;https://github.com/adulau/rss-tools&lt;/a&gt; &lt;a href=&quot;#fnref:rss-tools&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:misp-scraper&quot;&gt;
      &lt;p&gt;MISP scraper blog post: &lt;a href=&quot;https://www.misp-project.org/2022/08/08/MISP-scraper.html/&quot;&gt;https://www.misp-project.org/2022/08/08/MISP-scraper.html/&lt;/a&gt; &lt;a href=&quot;#fnref:misp-scraper&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:rssmerge&quot;&gt;
      &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;rssmerge.py&lt;/code&gt; example: &lt;a href=&quot;https://github.com/adulau/rss-tools/blob/master/bin/rssmerge.py&quot;&gt;https://github.com/adulau/rss-tools/blob/master/bin/rssmerge.py&lt;/a&gt; &lt;a href=&quot;#fnref:rssmerge&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
</description>
        <pubDate>Sun, 22 Mar 2026 11:02:00 +0100</pubDate>
        <link>https://www.foo.be/2026/03/bring-back-rss</link>
        <guid isPermaLink="true">https://www.foo.be/2026/03/bring-back-rss</guid>
        
        
        <category>opensource</category>
        
        <category>rss</category>
        
        <category>cti</category>
        
      </item>
    
      <item>
        <title>Open Contributions Descriptor — or how to map your contribution in open source, open data, and open standards</title>
        <description>&lt;h1 id=&quot;open-contributions-descriptor--or-how-to-map-your-contribution-in-open-source-open-data-and-open-standards&quot;&gt;Open Contributions Descriptor — or how to map your contribution in open source, open data, and open standards&lt;/h1&gt;

&lt;p&gt;Open ecosystems thrive on collaboration. Open source software, open data initiatives, and open standards communities all depend on a complex web of contributors, maintainers, organizations, and users working together across domains and borders.&lt;/p&gt;

&lt;p&gt;Yet, despite this openness, one surprisingly difficult question remains:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;Who contributes what — and how can others participate?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The &lt;strong&gt;&lt;a href=&quot;https://github.com/ossbase-org/Open-Contributions-Descriptor&quot;&gt;Open Contributions Descriptor (OCD)&lt;/a&gt;&lt;/strong&gt; was designed to answer exactly that question.&lt;/p&gt;

&lt;p&gt;This post explains the story behind the Open Contributions Descriptor, the problem it aims to solve, and how it helps map contributions across the open ecosystem in a way that is both human readable and machine actionable.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/ocd.png&quot; alt=&quot;overview of the Open Contributions Descriptor (OCD) model&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;where-the-idea-started&quot;&gt;Where the idea started&lt;/h2&gt;

&lt;p&gt;The Open Contributions Descriptor did not emerge in isolation.&lt;/p&gt;

&lt;p&gt;The original inspiration came from Mozilla’s &lt;strong&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;contribute.json&lt;/code&gt;&lt;/strong&gt; initiative: &lt;a href=&quot;https://github.com/mozilla/contribute.json&quot;&gt;https://github.com/mozilla/contribute.json&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Mozilla introduced the idea that projects could publish a small machine readable file describing &lt;strong&gt;how people could contribute&lt;/strong&gt;. It was a simple but powerful concept: contribution entry points should be discoverable automatically rather than buried inside documentation.&lt;/p&gt;

&lt;p&gt;Although the project is now archived, the underlying idea remained compelling:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Contribution information should be structured, portable, and published by the project itself.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The Open Contributions Descriptor expands this original vision beyond onboarding contributors to a single project and generalizes it across:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;open source&lt;/li&gt;
  &lt;li&gt;open data&lt;/li&gt;
  &lt;li&gt;open standards&lt;/li&gt;
  &lt;li&gt;broader open ecosystems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In a way, &lt;a href=&quot;https://github.com/ossbase-org/Open-Contributions-Descriptor&quot;&gt;Open Contributions Descriptor (OCD)&lt;/a&gt; can be seen as a natural evolution of that early experiment, extending contribution metadata from project contribution guidance to ecosystem mapping.&lt;/p&gt;

&lt;h2 id=&quot;the-problem-visibility-in-a-fragmented-open-ecosystem&quot;&gt;The problem: visibility in a fragmented open ecosystem&lt;/h2&gt;

&lt;p&gt;Open ecosystems are rich but fragmented&lt;sup id=&quot;fnref:fragmented&quot;&gt;&lt;a href=&quot;#fn:fragmented&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;

&lt;p&gt;Today, information about contributions is scattered across many places:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Git repositories&lt;/li&gt;
  &lt;li&gt;README files&lt;/li&gt;
  &lt;li&gt;governance documents&lt;/li&gt;
  &lt;li&gt;mailing lists&lt;/li&gt;
  &lt;li&gt;project websites&lt;/li&gt;
  &lt;li&gt;data portals&lt;/li&gt;
  &lt;li&gt;standards organizations&lt;/li&gt;
  &lt;li&gt;issue trackers&lt;/li&gt;
  &lt;li&gt;funding reports&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each project documents participation differently or sometimes not at all.&lt;/p&gt;

&lt;p&gt;As a result:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Contributors struggle to understand how to get involved.&lt;/li&gt;
  &lt;li&gt;Organizations cannot easily demonstrate their open contributions.&lt;/li&gt;
  &lt;li&gt;Communities lack visibility into dependencies and relationships.&lt;/li&gt;
  &lt;li&gt;Researchers and policymakers cannot map the real impact of openness.&lt;/li&gt;
  &lt;li&gt;Automated catalogues of open initiatives are difficult to build.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ironically, while open projects publish code and data transparently, the structure of contributions themselves remains opaque or unknown.&lt;/p&gt;

&lt;h2 id=&quot;a-recurring-realization-at-fosdem&quot;&gt;A recurring realization at FOSDEM&lt;/h2&gt;

&lt;p&gt;Every year, attending FOSDEM is an inspiring experience.&lt;/p&gt;

&lt;p&gt;Walking through the corridors, talking to maintainers, and visiting project stands inevitably leads to the same realization:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;I constantly discover mature, impactful open source projects I had never encountered online before.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Projects with active communities, real deployments, and years of development somehow remain invisible to traditional discovery mechanisms.&lt;/p&gt;

&lt;p&gt;They exist.
They are open.
They are active.&lt;/p&gt;

&lt;p&gt;Yet they are hard to find unless you physically meet the people behind them.&lt;/p&gt;

&lt;p&gt;This recurring experience highlights a missing piece in the open ecosystem:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;the discovery layer is incomplete.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Search engines index code. Platforms index repositories. Conferences reveal communities. But there is no universal, structured way for projects to declare:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;who they are&lt;/li&gt;
  &lt;li&gt;how they operate&lt;/li&gt;
  &lt;li&gt;how others can participate&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There is a missing key, not to access the code, but to understand the collaboration around it.&lt;/p&gt;

&lt;h2 id=&quot;beyond-open-source-a-shared-challenge&quot;&gt;Beyond open source: a shared challenge&lt;/h2&gt;

&lt;p&gt;The challenge is not limited to software.&lt;/p&gt;

&lt;p&gt;Across ecosystems we see similar issues:&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Domain&lt;/th&gt;
      &lt;th&gt;Example Questions&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Open Source&lt;/td&gt;
      &lt;td&gt;Who maintains the project? Who funds development?&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Open Data&lt;/td&gt;
      &lt;td&gt;Who produces the dataset? Who curates it?&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Open Standards&lt;/td&gt;
      &lt;td&gt;Who participates in working groups? Who implements the standard?&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Research&lt;/td&gt;
      &lt;td&gt;Which institutions contribute to which initiatives?&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;These domains overlap constantly. A single organization may:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;maintain open source tools&lt;/li&gt;
  &lt;li&gt;publish open datasets&lt;/li&gt;
  &lt;li&gt;contribute to standards bodies&lt;/li&gt;
  &lt;li&gt;depend on other open projects&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But there is no simple, structured way to describe these relationships consistently.&lt;/p&gt;

&lt;h2 id=&quot;the-hidden-structural-problem-centralized-directories&quot;&gt;The hidden structural problem: centralized directories&lt;/h2&gt;

&lt;p&gt;Another, less visible issue exists in today’s open ecosystem: centralized discovery.&lt;/p&gt;

&lt;p&gt;Many catalogues, registries, and directories attempt to index open projects. While useful, they often share a structural limitation:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;A single platform or organization becomes the gatekeeper of discovery.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In practice, this means:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;inclusion depends on platform policies&lt;/li&gt;
  &lt;li&gt;metadata formats are platform specific&lt;/li&gt;
  &lt;li&gt;projects must register manually&lt;/li&gt;
  &lt;li&gt;ecosystem visibility depends on maintaining accounts in external systems&lt;/li&gt;
  &lt;li&gt;long term sustainability relies on the continued existence of one operator&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Even in open ecosystems, discovery frequently depends on a central directory holding the “golden key” to visibility.&lt;/p&gt;

&lt;p&gt;This creates several risks:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;single points of failure&lt;/li&gt;
  &lt;li&gt;loss of neutrality&lt;/li&gt;
  &lt;li&gt;vendor or platform lock in&lt;/li&gt;
  &lt;li&gt;incomplete ecosystem representation&lt;/li&gt;
  &lt;li&gt;barriers for smaller or independent initiatives&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Openness should not depend on a single registry.&lt;/p&gt;

&lt;h2 id=&quot;the-idea-describe-contributions-as-first-class-metadata&quot;&gt;The idea: describe contributions as first class metadata&lt;/h2&gt;

&lt;p&gt;The &lt;a href=&quot;https://github.com/ossbase-org/Open-Contributions-Descriptor&quot;&gt;Open Contributions Descriptor (OCD)&lt;/a&gt; introduces a simple idea:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Contributions themselves should be described using an open, structured, machine readable format published directly by the project.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Instead of embedding contribution information informally in documentation, projects publish a descriptor file that answers:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;What is this initiative?&lt;/li&gt;
  &lt;li&gt;What type of openness does it represent?&lt;/li&gt;
  &lt;li&gt;Who contributes?&lt;/li&gt;
  &lt;li&gt;How can others contribute?&lt;/li&gt;
  &lt;li&gt;What roles exist?&lt;/li&gt;
  &lt;li&gt;How are decisions made?&lt;/li&gt;
  &lt;li&gt;Where are the contribution entry points?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is not to replace existing documentation but to standardize discovery and mapping.&lt;/p&gt;

&lt;h2 id=&quot;a-standardized-discovery-location&quot;&gt;A standardized discovery location&lt;/h2&gt;

&lt;p&gt;To make automated discovery reliable, the descriptor is published in a predictable location using a well known URI.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&quot;https://github.com/ossbase-org/Open-Contributions-Descriptor&quot;&gt;Open Contributions Descriptor (OCD)&lt;/a&gt; is stored as a JSON document named:&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.well-known/open-contributions.json&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This follows the established &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.well-known&lt;/code&gt; convention defined by &lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc8615&quot;&gt;RFC 8615&lt;/a&gt;, which allows services and metadata to be discovered automatically at standardized paths on a domain.&lt;/p&gt;

&lt;p&gt;By placing the descriptor at a well known location:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;crawlers know exactly where to look&lt;/li&gt;
  &lt;li&gt;projects remain in control of their metadata&lt;/li&gt;
  &lt;li&gt;discovery becomes interoperable across platforms&lt;/li&gt;
  &lt;li&gt;no registration in external directories is required&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To formalize this approach, a registration request for the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;open-contributions.json&lt;/code&gt; well known URI has been submitted to IANA:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/protocol-registries/well-known-uris/issues/78&quot;&gt;https://github.com/protocol-registries/well-known-uris/issues/78&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This step is important because it moves the descriptor from an informal convention toward an Internet recognized discovery mechanism, reinforcing long term interoperability and neutrality.&lt;/p&gt;

&lt;h2 id=&quot;decentralized-discovery-by-design&quot;&gt;Decentralized discovery by design&lt;/h2&gt;

&lt;p&gt;A key property of the &lt;a href=&quot;https://github.com/ossbase-org/Open-Contributions-Descriptor&quot;&gt;Open Contributions Descriptor&lt;/a&gt; is directory independence.&lt;/p&gt;

&lt;p&gt;The descriptor lives with the project or organization itself, not inside a centralized platform.&lt;/p&gt;

&lt;p&gt;This changes the discovery model fundamentally:&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Traditional Model&lt;/th&gt;
      &lt;th&gt;OCD Model&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Register project in a directory&lt;/td&gt;
      &lt;td&gt;Publish descriptor in repository&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Directory owns metadata&lt;/td&gt;
      &lt;td&gt;Project owns metadata&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Central authority curates&lt;/td&gt;
      &lt;td&gt;Anyone can crawl&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;One catalogue&lt;/td&gt;
      &lt;td&gt;Many interoperable catalogues&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Platform dependency&lt;/td&gt;
      &lt;td&gt;Ecosystem independence&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;Anyone can build a crawler that discovers descriptors across repositories, websites, or data portals.&lt;/p&gt;

&lt;p&gt;There is no central registry required.&lt;/p&gt;

&lt;p&gt;Multiple catalogues can coexist:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;research indexes&lt;/li&gt;
  &lt;li&gt;public sector inventories&lt;/li&gt;
  &lt;li&gt;community driven directories&lt;/li&gt;
  &lt;li&gt;organizational dashboards&lt;/li&gt;
  &lt;li&gt;academic analysis platforms&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This mirrors the architecture of the web itself:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;No single organization owns websites. Search engines discover them.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The Open Contributions Descriptor applies the same philosophy to open collaboration.&lt;/p&gt;

&lt;h2 id=&quot;design-principles&quot;&gt;Design principles&lt;/h2&gt;

&lt;p&gt;When designing the Open Contributions Descriptor, several principles guided the work.&lt;/p&gt;

&lt;h3 id=&quot;domain-agnostic-openness&quot;&gt;Domain agnostic openness&lt;/h3&gt;

&lt;p&gt;The format works across:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;open source&lt;/li&gt;
  &lt;li&gt;open data&lt;/li&gt;
  &lt;li&gt;open standards&lt;/li&gt;
  &lt;li&gt;open research&lt;/li&gt;
  &lt;li&gt;open infrastructure&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It avoids domain specific assumptions while remaining expressive.&lt;/p&gt;

&lt;h3 id=&quot;human-readable-first&quot;&gt;Human readable first&lt;/h3&gt;

&lt;p&gt;The descriptor is meant to be understandable without tooling.&lt;/p&gt;

&lt;p&gt;A contributor should be able to open the file and immediately understand:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;who is involved&lt;/li&gt;
  &lt;li&gt;how participation works&lt;/li&gt;
  &lt;li&gt;where contributions happen&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;machine-readable-by-design&quot;&gt;Machine readable by design&lt;/h3&gt;

&lt;p&gt;At the same time, the format is structured so that tools can easily:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;parse descriptors&lt;/li&gt;
  &lt;li&gt;crawl repositories&lt;/li&gt;
  &lt;li&gt;build catalogues&lt;/li&gt;
  &lt;li&gt;map ecosystems&lt;/li&gt;
  &lt;li&gt;analyze contribution networks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This enables automation without sacrificing clarity.&lt;/p&gt;

&lt;h3 id=&quot;lightweight-adoption&quot;&gt;Lightweight adoption&lt;/h3&gt;

&lt;p&gt;Projects should not need governance reform to describe themselves.&lt;/p&gt;

&lt;p&gt;Many existing directories and metadata formats are designed by committees attempting to normalize the diversity of open ecosystems through rigid governance models. While often well intentioned, they tend to introduce complex requirements, mandatory classifications, approval workflows, or artificial eligibility rules that projects must satisfy before being listed.&lt;/p&gt;

&lt;p&gt;In practice, this leads to several problems:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;projects must adapt their governance to fit the directory rather than the reverse&lt;/li&gt;
  &lt;li&gt;contributors spend time complying with administrative requirements instead of building software or data&lt;/li&gt;
  &lt;li&gt;smaller or unconventional projects are excluded because they do not match predefined models&lt;/li&gt;
  &lt;li&gt;innovation is constrained by bureaucratic assumptions about how projects &lt;em&gt;should&lt;/em&gt; operate&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Over time, such rules unintentionally reduce the usefulness of directories themselves. The more constraints imposed, the less representative the catalogue becomes.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&quot;https://github.com/ossbase-org/Open-Contributions-Descriptor&quot;&gt;Open Contributions Descriptor&lt;/a&gt; takes the opposite approach.&lt;/p&gt;

&lt;p&gt;Instead of committees defining how projects must behave, projects simply describe how they already work.&lt;/p&gt;

&lt;p&gt;There is:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;no approval process&lt;/li&gt;
  &lt;li&gt;no governance validation&lt;/li&gt;
  &lt;li&gt;no mandatory organizational structure&lt;/li&gt;
  &lt;li&gt;no centralized interpretation of legitimacy&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The descriptor lowers the barrier to participation by adapting to reality rather than attempting to standardize it.&lt;/p&gt;

&lt;h3 id=&quot;independence-and-sovereignty&quot;&gt;Independence and sovereignty&lt;/h3&gt;

&lt;p&gt;Perhaps most importantly:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Projects remain sovereign over how they describe themselves.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;No platform approval is required.
No centralized authority controls visibility.
No organization holds the authoritative directory.&lt;/p&gt;

&lt;p&gt;Descriptors enable an ecosystem where discovery emerges organically from openly published metadata.&lt;/p&gt;

&lt;h2 id=&quot;what-the-open-contributions-descriptor-enables&quot;&gt;What the Open Contributions Descriptor enables&lt;/h2&gt;

&lt;h3 id=&quot;mapping-the-open-ecosystem&quot;&gt;Mapping the open ecosystem&lt;/h3&gt;

&lt;p&gt;Imagine being able to automatically discover:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;all projects maintained by a given organization&lt;/li&gt;
  &lt;li&gt;datasets linked to specific software&lt;/li&gt;
  &lt;li&gt;standards implemented by certain communities&lt;/li&gt;
  &lt;li&gt;contribution entry points across ecosystems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Descriptors allow building living maps of openness without centralized ownership.&lt;/p&gt;

&lt;h3 id=&quot;easier-onboarding-for-contributors&quot;&gt;Easier onboarding for contributors&lt;/h3&gt;

&lt;p&gt;New contributors often ask:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Where do I start?&lt;/li&gt;
  &lt;li&gt;Who should I contact?&lt;/li&gt;
  &lt;li&gt;What skills are needed?&lt;/li&gt;
  &lt;li&gt;How do decisions work?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of searching multiple documents, a descriptor provides a structured overview.&lt;/p&gt;

&lt;h3 id=&quot;transparency-and-recognition&quot;&gt;Transparency and recognition&lt;/h3&gt;

&lt;p&gt;Organizations increasingly want to demonstrate their participation in open ecosystems.&lt;/p&gt;

&lt;p&gt;The descriptor allows them to clearly expose:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;roles&lt;/li&gt;
  &lt;li&gt;responsibilities&lt;/li&gt;
  &lt;li&gt;contributions&lt;/li&gt;
  &lt;li&gt;collaboration models&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This improves recognition without requiring manual reporting or third party platforms.&lt;/p&gt;

&lt;h3 id=&quot;machine-discoverable-catalogues-plural-not-singular&quot;&gt;Machine discoverable catalogues, plural not singular&lt;/h3&gt;

&lt;p&gt;One of the core objectives is enabling automated catalogues of:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;open source projects&lt;/li&gt;
  &lt;li&gt;open datasets&lt;/li&gt;
  &lt;li&gt;open standards initiatives&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Importantly, there is not one catalogue. Anyone can build one. Competition, diversity, and experimentation become possible because the metadata layer is open and decentralized.&lt;/p&gt;

&lt;h2 id=&quot;a-simple-mental-model&quot;&gt;A simple mental model&lt;/h2&gt;

&lt;p&gt;Think of the Open Contributions Descriptor as:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;package.json for contributions&lt;/li&gt;
  &lt;li&gt;robots.txt for openness&lt;/li&gt;
  &lt;li&gt;metadata for collaboration&lt;/li&gt;
  &lt;li&gt;DNS for open participation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It tells both humans and machines:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;“Here is how this open initiative works and how you can participate.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&quot;example-use-cases&quot;&gt;Example use cases&lt;/h2&gt;

&lt;h3 id=&quot;open-source-project&quot;&gt;Open source project&lt;/h3&gt;

&lt;p&gt;A project publishes an OCD file (&lt;a href=&quot;https://www.misp-project.org/.well-known/open-contributions.json&quot;&gt;MISP project open-contributions.json file&lt;/a&gt;) describing:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;maintainers and governance&lt;/li&gt;
  &lt;li&gt;contribution guidelines&lt;/li&gt;
  &lt;li&gt;communication channels&lt;/li&gt;
  &lt;li&gt;funding or supporting organizations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Tools can automatically include it in multiple independent catalogues.&lt;/p&gt;

&lt;h3 id=&quot;open-data-platform&quot;&gt;Open data platform&lt;/h3&gt;

&lt;p&gt;A dataset provider describes:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;data producers&lt;/li&gt;
  &lt;li&gt;curators&lt;/li&gt;
  &lt;li&gt;update responsibilities&lt;/li&gt;
  &lt;li&gt;contribution workflows&lt;/li&gt;
  &lt;li&gt;licensing and reuse expectations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Researchers can discover participation opportunities instantly.&lt;/p&gt;

&lt;h3 id=&quot;open-standards-working-group&quot;&gt;Open standards working group&lt;/h3&gt;

&lt;p&gt;A standards initiative describes:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;working groups&lt;/li&gt;
  &lt;li&gt;participation model&lt;/li&gt;
  &lt;li&gt;implementation communities&lt;/li&gt;
  &lt;li&gt;decision processes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Implementers gain clarity without navigating institutional silos.&lt;/p&gt;

&lt;h2 id=&quot;why-a-standard-matters&quot;&gt;Why a standard matters&lt;/h2&gt;

&lt;p&gt;Without a shared descriptor:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;every ecosystem reinvents metadata&lt;/li&gt;
  &lt;li&gt;automation becomes brittle&lt;/li&gt;
  &lt;li&gt;discovery remains centralized or manual&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A common format enables interoperability between communities that historically evolved separately but now collaborate closely.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&quot;https://github.com/ossbase-org/Open-Contributions-Descriptor&quot;&gt;Open Contributions Descriptor&lt;/a&gt; aims to become a common language for openness without central control.&lt;/p&gt;

&lt;h2 id=&quot;open-by-design&quot;&gt;Open by design&lt;/h2&gt;

&lt;p&gt;The specification itself is openly developed and available here:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/ossbase-org/Open-Contributions-Descriptor/blob/main/format.md&quot;&gt;https://github.com/ossbase-org/Open-Contributions-Descriptor&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The goal is community driven evolution:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;feedback from open source maintainers&lt;/li&gt;
  &lt;li&gt;adoption by open data platforms&lt;/li&gt;
  &lt;li&gt;experimentation by standards bodies&lt;/li&gt;
  &lt;li&gt;tooling built by ecosystem builders&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;what-comes-next&quot;&gt;What comes next&lt;/h2&gt;

&lt;p&gt;The real value of the Open Contributions Descriptor will emerge through adoption and tooling, including:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;decentralized ecosystem crawlers&lt;/li&gt;
  &lt;li&gt;contribution dashboards&lt;/li&gt;
  &lt;li&gt;organizational impact mapping&lt;/li&gt;
  &lt;li&gt;research analysis&lt;/li&gt;
  &lt;li&gt;federated discovery platforms&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We envision a future where understanding the open ecosystem becomes as easy as querying a search engine, powered by structured contribution metadata published at the source.&lt;/p&gt;

&lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;Open ecosystems depend on collaboration, but collaboration itself is still poorly described and too often centrally indexed.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&quot;https://github.com/ossbase-org/Open-Contributions-Descriptor&quot;&gt;Open Contributions Descriptor&lt;/a&gt; is a small but important step toward making openness discoverable, understandable, decentralized, and measurable.&lt;/p&gt;

&lt;p&gt;By standardizing how contributions are described, we can:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;lower barriers to participation&lt;/li&gt;
  &lt;li&gt;increase transparency&lt;/li&gt;
  &lt;li&gt;preserve ecosystem independence&lt;/li&gt;
  &lt;li&gt;avoid centralized gatekeeping&lt;/li&gt;
  &lt;li&gt;recognize contributors&lt;/li&gt;
  &lt;li&gt;map the global landscape of open collaboration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If open source made code visible, and open data made information visible, the next step is clear:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Make contributions visible without giving anyone the golden key.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;https://discourse.ossbase.org/t/open-contributions-descriptor/1024&quot;&gt;Contributions&lt;/a&gt;, feedback, and experimentation are welcome because describing openness should itself be open.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Git repository of the Open Contributions Descriptor: &lt;a href=&quot;https://github.com/ossbase-org/Open-Contributions-Descriptor&quot;&gt;https://github.com/ossbase-org/Open-Contributions-Descriptor&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Online tool to browse or create/edit Open Contributions Descriptor file: &lt;a href=&quot;https://ossbase-org.github.io/ocd-viewer/app/home.html&quot;&gt;https://ossbase-org.github.io/ocd-viewer/app/home.html&lt;/a&gt; - Git repository &lt;a href=&quot;https://github.com/ossbase-org/ocd-viewer&quot;&gt;https://github.com/ossbase-org/ocd-viewer&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;GitHub organisation generator to Open Contribution Descriptor format: &lt;a href=&quot;https://github.com/ossbase-org/Open-Contributions-Descriptor/blob/main/bin/github-to-ocd.py&quot;&gt;https://github.com/ossbase-org/Open-Contributions-Descriptor/blob/main/bin/github-to-ocd.py&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://discourse.ossbase.org/t/open-contributions-descriptor/1024&quot;&gt;Discourse topic about OCD format&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;A &lt;a href=&quot;https://www.misp-project.org/.well-known/open-contributions.json&quot;&gt;sample OCD file&lt;/a&gt; for the MISP project.&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:fragmented&quot;&gt;
      &lt;p&gt;The term &lt;em&gt;fragmented&lt;/em&gt; is often perceived negatively, suggesting disorder or inefficiency. In open ecosystems, however, fragmentation is largely a &lt;strong&gt;strength&lt;/strong&gt;. It reflects diversity, independence, resilience, and experimentation across communities rather than centralized control. The challenge is therefore not to eliminate fragmentation, but to make it discoverable and understandable without reducing its autonomy. &lt;a href=&quot;#fnref:fragmented&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
</description>
        <pubDate>Sun, 01 Mar 2026 11:02:00 +0100</pubDate>
        <link>https://www.foo.be/2026/03/open-contributions-descriptor</link>
        <guid isPermaLink="true">https://www.foo.be/2026/03/open-contributions-descriptor</guid>
        
        
        <category>opensource</category>
        
        <category>metadata</category>
        
        <category>opendata</category>
        
        <category>openstandard</category>
        
      </item>
    
      <item>
        <title>Acknowledging Reality in Vulnerability Disclosure</title>
        <description>&lt;h1 id=&quot;full-disclosure-still-exists-and-thats-exactly-the-point&quot;&gt;Full Disclosure Still Exists and That’s Exactly the Point&lt;/h1&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;em&gt;Disclaimer:&lt;/em&gt;  This post is grounded in personal experience and roughly &lt;em&gt;25 years of interaction with vulnerability management&lt;/em&gt;, across vendors, researchers, operators, CERTs, and open communities. It does not claim neutrality or theoretical purity. It reflects what repeatedly emerges when disclosure leaves policy documents and meets reality. In other words, this is my bloody personal blog, not an official statement.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Every few years, vulnerability disclosure is declared &lt;em&gt;settled&lt;/em&gt;. We are told that the ecosystem has matured, that &lt;em&gt;coordinated disclosure&lt;/em&gt; is the answer, and that whatever remains outside this model is either irresponsible, obsolete, or simply irrelevant.&lt;/p&gt;

&lt;p&gt;And yet, full disclosure is still here.&lt;/p&gt;

&lt;p&gt;Not as a historical artifact, not as a provocation but as an active, lived practice that continues to coexist with other disclosure models.&lt;/p&gt;

&lt;p&gt;This blog post explains &lt;strong&gt;why this coexistence matters&lt;/strong&gt;, why the evolution of vulnerability disclosure is &lt;strong&gt;not linear&lt;/strong&gt;, and why initiatives like &lt;strong&gt;&lt;a href=&quot;https://gcve.eu/&quot;&gt;GCVE&lt;/a&gt;&lt;/strong&gt; deliberately choose to support &lt;em&gt;all&lt;/em&gt; disclosure models instead of promoting a single “correct” one.&lt;/p&gt;

&lt;h2 id=&quot;the-myth-of-linear-progress-in-disclosure&quot;&gt;The Myth of Linear Progress in Disclosure&lt;/h2&gt;

&lt;p&gt;A common narrative goes like this:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;We started with full disclosure → we learned better → we now do responsible or coordinated disclosure.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This framing is comforting. It suggests progress, maturity, and consensus. It is also misleading.&lt;/p&gt;

&lt;p&gt;In reality, vulnerability disclosure did &lt;strong&gt;not&lt;/strong&gt; evolve along a single axis.&lt;/p&gt;

&lt;p&gt;What we have instead is a &lt;strong&gt;non-linear space of practices&lt;/strong&gt;, shaped by:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Legal constraints&lt;/li&gt;
  &lt;li&gt;Power asymmetries&lt;/li&gt;
  &lt;li&gt;Time pressure&lt;/li&gt;
  &lt;li&gt;Risk tolerance&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Economic incentives&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The disclosure landscape includes, and continues to include:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Full disclosure&lt;/li&gt;
  &lt;li&gt;Responsible disclosure&lt;/li&gt;
  &lt;li&gt;Coordinated disclosure&lt;/li&gt;
  &lt;li&gt;Vendor-led disclosure&lt;/li&gt;
  &lt;li&gt;Third-party publication&lt;/li&gt;
  &lt;li&gt;Silent or delayed disclosure&lt;/li&gt;
  &lt;li&gt;Federated or community-driven publication&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These models exist &lt;strong&gt;in parallel&lt;/strong&gt;, not as steps in a staircase.&lt;br /&gt;
They are chosen, combined, or abandoned depending on context.&lt;/p&gt;

&lt;h2 id=&quot;economics-the-hidden-driver-of-disclosure-models&quot;&gt;Economics: The Hidden Driver of Disclosure Models&lt;/h2&gt;

&lt;p&gt;Vulnerability disclosure is not only a technical or ethical process.&lt;br /&gt;
It is also an &lt;strong&gt;economic one&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Disclosure mechanisms range from:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Gratis, volunteer-driven reporting&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;Academic or community research&lt;/li&gt;
  &lt;li&gt;Contractual security assessments&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Paid vulnerability programs&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Expensive, highly structured bug bounty processes&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each of these comes with:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Different expectations&lt;/li&gt;
  &lt;li&gt;Different timelines&lt;/li&gt;
  &lt;li&gt;Different power relationships&lt;/li&gt;
  &lt;li&gt;Different notions of “responsibility”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A researcher working for free does not operate under the same constraints as:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;A consultant under contract&lt;/li&gt;
  &lt;li&gt;A bug bounty hunter optimizing return on investment&lt;/li&gt;
  &lt;li&gt;A vendor-funded security team&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Economic incentives shape:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;When vulnerabilities are disclosed&lt;/li&gt;
  &lt;li&gt;To whom they are disclosed&lt;/li&gt;
  &lt;li&gt;Under what conditions&lt;/li&gt;
  &lt;li&gt;With what level of detail&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ignoring this economic dimension leads to unrealistic disclosure policies that assume goodwill, time, and resources are evenly distributed. They are not.&lt;/p&gt;

&lt;h2 id=&quot;actors-are-not-rational-and-not-aligned&quot;&gt;Actors Are Not Rational and Not Aligned&lt;/h2&gt;

&lt;p&gt;Another recurring simplification is the idea that vulnerability disclosure is a cooperative game between rational actors working toward the same goal.&lt;/p&gt;

&lt;p&gt;It is not.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Vendors balance security, liability, brand perception, and business continuity.&lt;/li&gt;
  &lt;li&gt;Researchers operate under ethical pressure, legal uncertainty, time constraints, and economic reality.&lt;/li&gt;
  &lt;li&gt;Users are downstream actors with limited visibility and little bargaining power.&lt;/li&gt;
  &lt;li&gt;Intermediaries (CERTs, CSIRTs, platforms) act under mandates that vary widely across jurisdictions.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These actors &lt;strong&gt;do not share the same incentives&lt;/strong&gt;, and they are not playing the same game.&lt;/p&gt;

&lt;p&gt;So when someone says:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;“The legal framework will solve it”&lt;/li&gt;
  &lt;li&gt;“Just do coordinated disclosure”&lt;/li&gt;
  &lt;li&gt;“If it’s not coordinated, it doesn’t exist”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What they are really doing is &lt;strong&gt;reducing the problem space&lt;/strong&gt; to the subset they are comfortable managing.&lt;/p&gt;

&lt;p&gt;The remaining cases do not vanish. They simply become &lt;em&gt;unaccounted for&lt;/em&gt;.&lt;/p&gt;

&lt;h2 id=&quot;why-gcve-exists&quot;&gt;Why GCVE Exists&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://gcve.eu/&quot;&gt;GCVE&lt;/a&gt; was not created to replace existing identifiers, processes, or disclosure norms.&lt;/p&gt;

&lt;p&gt;It was created to &lt;strong&gt;support all disclosure models&lt;/strong&gt;, including:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Centralized systems&lt;/li&gt;
  &lt;li&gt;Decentralized or federated approaches&lt;/li&gt;
  &lt;li&gt;Vendor-driven workflows&lt;/li&gt;
  &lt;li&gt;Independent or community-based publication&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;GCVE explicitly does &lt;strong&gt;not&lt;/strong&gt; take sides in these tensions.&lt;/p&gt;

&lt;p&gt;Instead, it assumes something pragmatic:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Vulnerability information exists regardless of how or whether it was disclosed “properly”.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The purpose of &lt;a href=&quot;https://gcve.eu/&quot;&gt;GCVE&lt;/a&gt; is not to normalize behavior, but to ensure that &lt;strong&gt;once vulnerability information exists, it can be referenced, processed, and consumed&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Ignoring inconvenient disclosures does not improve security. It only weakens collective awareness.&lt;/p&gt;

&lt;h2 id=&quot;freedom-accessibility-and-security-intelligence&quot;&gt;Freedom, Accessibility, and Security Intelligence&lt;/h2&gt;

&lt;p&gt;One of the more controversial aspects of GCVE is the level of freedom it gives to GNAs (GCVE Numbering Authorities).&lt;/p&gt;

&lt;p&gt;This freedom is deliberate.&lt;/p&gt;

&lt;p&gt;Cybersecurity intelligence does not improve by keeping information unknown.&lt;br /&gt;
It improves through &lt;strong&gt;accessibility&lt;/strong&gt;, &lt;strong&gt;correlation&lt;/strong&gt;, and &lt;strong&gt;contextualization&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;For users, defenders, and analysts, the central question is not:&lt;/p&gt;
&lt;blockquote&gt;
  &lt;p&gt;“Was this vulnerability disclosed in the ideal way?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It is:&lt;/p&gt;
&lt;blockquote&gt;
  &lt;p&gt;“Can this vulnerability affect me, my systems, or my dependencies?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Without accessible information:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Risk cannot be evaluated&lt;/li&gt;
  &lt;li&gt;Impact cannot be assessed&lt;/li&gt;
  &lt;li&gt;Mitigations cannot be prioritized and performed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;GCVE is built on the idea that &lt;strong&gt;users must be able to access vulnerability information&lt;/strong&gt;, even when the disclosure path is imperfect, contested, or economically asymmetric.&lt;/p&gt;

&lt;p&gt;Freedom here does not mean absence of accountability.&lt;br /&gt;
It means &lt;strong&gt;not blocking information at the source&lt;/strong&gt;, while allowing consumers to decide how to interpret and trust it.&lt;/p&gt;

&lt;h2 id=&quot;why-gcve-uses-bcps-instead-of-enforcement&quot;&gt;Why GCVE Uses BCPs Instead of Enforcement&lt;/h2&gt;

&lt;p&gt;A frequent question is:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Why don’t you require GNAs to follow strict rules?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Because strict enforcement inevitably creates:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Gatekeepers&lt;/li&gt;
  &lt;li&gt;Central authority&lt;/li&gt;
  &lt;li&gt;Single points of failure&lt;/li&gt;
  &lt;li&gt;Implicit power over publication&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;GCVE instead defines &lt;strong&gt;&lt;a href=&quot;https://gcve.eu/bcp/#published-bcp&quot;&gt;Best Current Practices (BCPs)&lt;/a&gt;&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Descriptive rather than prescriptive&lt;/li&gt;
  &lt;li&gt;Transparent rather than coercive&lt;/li&gt;
  &lt;li&gt;Evolvable rather than rigid&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This approach does &lt;strong&gt;not&lt;/strong&gt; prevent:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Public evaluation of GNAs&lt;/li&gt;
  &lt;li&gt;Rating or scoring their behavior&lt;/li&gt;
  &lt;li&gt;Highlighting poor or exemplary practices&lt;/li&gt;
  &lt;li&gt;Making trust an explicit, visible signal&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What it avoids is using &lt;strong&gt;access control as governance&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Freedom is uncomfortable (and many of us know that fact). It allows outcomes that some actors will strongly disagree with.&lt;/p&gt;

&lt;p&gt;But it also allows vulnerability information to exist &lt;strong&gt;before consensus&lt;/strong&gt;, &lt;strong&gt;outside institutional comfort zones&lt;/strong&gt;, and &lt;strong&gt;without requiring permission&lt;/strong&gt;.&lt;/p&gt;

&lt;h2 id=&quot;federation-is-dangerous-weve-heard-this-before&quot;&gt;“Federation Is Dangerous”, We’ve Heard This Before&lt;/h2&gt;

&lt;p&gt;Some criticism around GCVE focuses on the perceived danger of federation:
fragmentation, &lt;em&gt;balkanisation&lt;/em&gt;, loss of control.&lt;/p&gt;

&lt;p&gt;These arguments are not new.&lt;/p&gt;

&lt;p&gt;They closely mirror the concerns raised when &lt;strong&gt;Git&lt;/strong&gt; was introduced:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;“It will fragment codebases” &lt;a href=&quot;https://dl.acm.org/doi/epdf/10.1145/2597073.2597074&quot;&gt;The Promises and Perils of Mining GitHub, 2014&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;“There will be no single source of truth” &lt;a href=&quot;https://martinfowler.com/bliki/VersionControlTools.html&quot;&gt;Version Control Tools, Martin Fowler, 2010&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;“People will do the wrong thing” &lt;a href=&quot;https://web.archive.org/web/20131230194321/https://people.csail.mit.edu/sperezde/onward13.pdf&quot;&gt;What’s Wrong with Git? A Conceptual Design Analysis, 2013&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;History suggests otherwise. Federation does not remove coordination it &lt;strong&gt;relocates it&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;And to be clear: GCVE does not mandate federation.&lt;br /&gt;
Centralized models remain fully supported.&lt;/p&gt;

&lt;p&gt;As a side note: if GCVE reaches even &lt;strong&gt;1% of Git’s success&lt;/strong&gt;, we would already consider that a major achievement. (Yes, that is both a joke and a realistic benchmark.)&lt;/p&gt;

&lt;h2 id=&quot;gcve-and-a-non-reductionist-view-of-disclosure&quot;&gt;GCVE and a Non-Reductionist View of Disclosure&lt;/h2&gt;

&lt;p&gt;Saying “this disclosure model no longer exists” does not make it true.&lt;br /&gt;
It only narrows the analytical lens.&lt;/p&gt;

&lt;p&gt;GCVE takes a non-reductionist approach by focusing on &lt;strong&gt;what vulnerability information needs in practice&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Machine-readability&lt;/li&gt;
  &lt;li&gt;Stable identifiers&lt;/li&gt;
  &lt;li&gt;Open formats&lt;/li&gt;
  &lt;li&gt;Automatic processing&lt;/li&gt;
  &lt;li&gt;Interoperability across tools and ecosystems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;GCVE is designed as an &lt;strong&gt;open standard&lt;/strong&gt; enabling:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Correlation across datasets&lt;/li&gt;
  &lt;li&gt;Automated ingestion&lt;/li&gt;
  &lt;li&gt;Enrichment by third parties&lt;/li&gt;
  &lt;li&gt;Integration into security tooling&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This applies equally to:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Proprietary software&lt;/li&gt;
  &lt;li&gt;Open source software&lt;/li&gt;
  &lt;li&gt;Hybrid supply chains&lt;/li&gt;
  &lt;li&gt;Federated ecosystems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The objective is not to enforce a single disclosure workflow, but to ensure that &lt;strong&gt;all vulnerability information (regardless of origin, model, or economic context) can participate in the same analytical space&lt;/strong&gt;.&lt;/p&gt;

&lt;h2 id=&quot;complexity-is-the-reality-not-the-problem&quot;&gt;Complexity Is the Reality. Not the Problem.&lt;/h2&gt;

&lt;p&gt;Vulnerability disclosure is messy. It is legal, economic, technical, political, and human.&lt;/p&gt;

&lt;p&gt;Any framework that assumes otherwise will fail at the margins — precisely where many real-world vulnerabilities exist.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://gcve.eu/&quot;&gt;GCVE&lt;/a&gt; does not attempt to simplify this reality away.&lt;br /&gt;
It attempts to &lt;strong&gt;acknowledge it, structure it, and make it usable&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Not by declaring one model correct,&lt;br /&gt;
but by accepting that &lt;strong&gt;security depends on visibility, not denial&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That is not a weakness.&lt;/p&gt;

&lt;p&gt;It is the point.&lt;/p&gt;
</description>
        <pubDate>Sun, 08 Feb 2026 13:02:00 +0100</pubDate>
        <link>https://www.foo.be/2026/02/Acknowledging-Reality-in-Vulnerability-Disclosure</link>
        <guid isPermaLink="true">https://www.foo.be/2026/02/Acknowledging-Reality-in-Vulnerability-Disclosure</guid>
        
        
        <category>cybersecurity</category>
        
        <category>cvd</category>
        
        <category>cve</category>
        
        <category>gcve</category>
        
      </item>
    
      <item>
        <title>The Art of Pivoting - Techniques for Intelligence Analysts to Discover New Relationships in a Complex World</title>
        <description>&lt;p&gt;This open source book explores how intelligence and cyber-security analysts can uncover hidden links between threat actor infrastructure and ongoing investigations by pivoting on both classic and unconventional indicators — many of which are often overlooked. The material is grounded in empirical, field-tested strategies used in cyber-security, digital forensics, cyber threat intelligence, and intelligence analysis more broadly.&lt;/p&gt;

&lt;p&gt;I released the first version of this book following the FIRST.org CTI Conference 2025 in Berlin, where the initial idea for the project emerged.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/verdier.jpg&quot; alt=&quot;The photography was taken by Alexandre Dulaunoy at Poétique de la ligne, exposition de Fabienne Verdier au Domaine de Chaumont-sur-Loire, 2025.&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Our goal is to provide analysts with a practical toolkit of analytical methods, supported by real-world examples, to enhance investigative workflows without locking them into a single mindset, strict model, or overly rigid technical strategy. Instead, the book encourages creative exploration, data-driven reasoning, and the use of diverse data points — from traditional IOCs to subtle metadata traces — as part of a flexible and repeatable analytical process.&lt;/p&gt;

&lt;p&gt;The approach presented throughout this book is intentionally built upon open-source tooling, most notably the MISP threat intelligence platform and the AIL Project. By relying on transparent and widely adopted tools, every technique described here can be reproduced, validated, and reused by analysts, researchers, educators, or incident response teams. This ensures that the methodology is not theoretical or proprietary, but openly verifiable, community-driven, and designed to evolve. The book itself follows the same philosophy: it is an open, living document, publicly versioned, and contributions are &lt;a href=&quot;https://github.com/adulau/the-art-of-pivoting&quot;&gt;welcomed directly via Git&lt;/a&gt;. Readers are encouraged to experiment, improve, and extend the content, making the entire workflow repeatable, auditable, and collaborative within the wider defensive security community.&lt;/p&gt;

&lt;h1 id=&quot;background-story&quot;&gt;Background Story&lt;/h1&gt;

&lt;p&gt;This book grew out of an iterative, hands-on process tightly coupled with our day-to-day work. Rather than starting from a fixed theory, it evolved alongside real investigations—tracking threat actors, uncovering infrastructure, and experimenting with unconventional pivoting techniques as new challenges emerged.&lt;/p&gt;

&lt;p&gt;Each discovery fed back into our tooling: ideas were tested, adjusted, sometimes discarded, and often refined through repeated use. This constant loop of observation, experimentation, and validation shaped both the content of the book and the evolution of the tools supporting it.&lt;/p&gt;

&lt;p&gt;Much of this work happened in motion—on trains during daily commutes, between incidents, or while reviewing fresh data. That constraint encouraged pragmatism: techniques had to be simple enough to apply quickly, yet powerful enough to reveal meaningful connections. The result is a book that reflects continuous learning in practice, grounded in real-world analysis rather than static models.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;🔗 &lt;a href=&quot;https://raw.githubusercontent.com/adulau/the-art-of-pivoting/refs/heads/main/output/the-art-of-pivoting.pdf&quot;&gt;PDF - The Art of Pivoting&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;🔗 &lt;a href=&quot;https://github.com/adulau/the-art-of-pivoting&quot;&gt;Source of the book in Markdown&lt;/a&gt; (if you want to contribute ;-)&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Sat, 20 Dec 2025 09:02:00 +0100</pubDate>
        <link>https://www.foo.be/2025/12/the-art-of-pivoting</link>
        <guid isPermaLink="true">https://www.foo.be/2025/12/the-art-of-pivoting</guid>
        
        
        <category>cybersecurity</category>
        
        <category>threat-intelligence</category>
        
        <category>cti</category>
        
        <category>open-source</category>
        
      </item>
    
      <item>
        <title>How to Choose an Open Source Project for the Long Term</title>
        <description>&lt;p&gt;How to Choose an Open Source Project for the Long Term&lt;/p&gt;

&lt;p&gt;&lt;em&gt;version 1.0 - 25th May 2025&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Many of us face the challenge of selecting open source projects for long-term use. This could involve choosing dependencies for your own open source project, or simply selecting software you plan to run and rely on over time.&lt;/p&gt;

&lt;p&gt;After experiencing multiple failures, disappointments with projects that turned proprietary, or even the complete disappearance of some repositories, I decided to compile a list of parameters, indicators, and signals that might help identify solid, sustainable open source projects, as well as warning signs that could indicate potential risks.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/review.jpg&quot; alt=&quot;a bigger splash&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;cla---contributor-license-agreement&quot;&gt;CLA - Contributor License Agreement&lt;/h2&gt;

&lt;p&gt;One of the first and most important parameters to consider is the CLA (Contributor License Agreement). As you may know, a CLA is a legal tool but it can be misused to lock in contributions while allowing the original creator (often an organization, but not always) to relicense the work under any terms they choose.&lt;/p&gt;

&lt;p&gt;In my personal experience with CLAs over the past 25 years, &lt;em&gt;&lt;a href=&quot;https://infosec.exchange/@adulau/114546480279205323&quot;&gt;CLAs are just tools invented by lawyers to exploit human contributions&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you see a CLA in an open source project, it’s already a strong signal that the project might eventually be relicensed, shift its objectives, or even be rebranded by a commercial entity that views open source merely as a marketing vehicle and nothing more.&lt;/p&gt;

&lt;p&gt;If someone tells you that a CLA is there to protect you and your contributions, it’s complete bullshit. Honestly, the CLA was one of the biggest screw-ups of the FSF, it legitimized a bad practice and gave corporate borgs a free pass to exploit it for years. If you want to dig deeper, check out these excellent resources: &lt;a href=&quot;https://sfconservancy.org/blog/2014/jun/09/do-not-need-cla/&quot;&gt;Why Your Project Doesn’t Need a Contributor Licensing Agreement&lt;/a&gt;, the &lt;a href=&quot;https://ossbase.org/initiatives/cla-free/&quot;&gt;CLA-Free Initiative&lt;/a&gt;, and &lt;a href=&quot;https://drewdevault.com/2023/07/04/Dont-sign-a-CLA-2.html&quot;&gt;Seriously, don’t sign a CLA&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Software can also be proprietarized even without a CLA &lt;a href=&quot;https://www.warpstream.com/blog/announcing-bento-the-open-source-fork-of-the-project-formerly-known-as-benthos&quot;&gt;just like it happened with Benthos&lt;/a&gt;. But CLAs are usually there to protect organizations, not contributors, especially shielding them from potential litigation. So yes, CLAs are strong indicators of possible bad practices down the road.&lt;/p&gt;

&lt;p&gt;On the other hand, seeing a &lt;a href=&quot;https://developercertificate.org/&quot;&gt;DCO&lt;/a&gt; (Developer Certificate of Origin) is usually a good sign. It’s not a transfer of ownership, but simply a statement that you agree (and have the right) to have your contribution included in the open source project.&lt;/p&gt;

&lt;p&gt;From a contributor’s perspective, this is a positive sign, it shows that contributors are respected and that the project is focused on building a healthy, sustainable community for the long term.&lt;/p&gt;

&lt;h2 id=&quot;does-the-project-merge-pull-requests-from-outside-their-organization&quot;&gt;Does the project merge pull requests from outside their organization?&lt;/h2&gt;

&lt;p&gt;It’s very common to see projects run by a specific organization that don’t accept any contributions from external contributors, only merging pull requests from authors within their own company. Even good contributions often get rewritten, and the original pull request is closed with a comment saying it was “merged,” even though it wasn’t.&lt;/p&gt;

&lt;p&gt;This is a classic tactic used by organizations that avoid CLAs just to appear friendly to contributors, while still sidestepping legal risk and keeping full ownership of the codebase which makes relicensing easier down the line.&lt;/p&gt;

&lt;h2 id=&quot;does-the-project-interact-with-contributors-and-especially-how&quot;&gt;Does the project interact with contributors and especially how?&lt;/h2&gt;

&lt;p&gt;Another strong indicator of a project’s long-term health is how it interacts with contributors. Are external contributors welcomed into the development process, or are they quietly pushed aside? Are they included in discussions about design decisions or the direction of a pull request, or is everything decided behind closed doors?&lt;/p&gt;

&lt;p&gt;Pay attention to how the maintainers respond to contributions. When a pull request is rejected, is there a respectful, constructive explanation, or just silence or a vague dismissal? Do maintainers engage with feedback and questions in the issue tracker or discussion forums?&lt;/p&gt;

&lt;p&gt;A healthy open source project values its community. Transparency, respectful communication, and public discussions are signs of a project that is likely to grow and survive. If you see a pattern of gatekeeping, dismissiveness, or lack of documentation around decision-making, that’s a red flag for long-term sustainability.&lt;/p&gt;

&lt;h2 id=&quot;is-the-open-source-license-a-strong-indicator-of-sustainability&quot;&gt;Is the open source license a strong indicator of sustainability?&lt;/h2&gt;

&lt;p&gt;At first, I used to think that using a copyleft-style license was a strong sign of long-term sustainability. But nowadays, I’d say it’s not a reliable indicator on its own.&lt;/p&gt;

&lt;p&gt;Of course, the license should be a proper free license, approved by the &lt;a href=&quot;https://www.gnu.org/licenses/license-list.html#SoftwareLicenses&quot;&gt;FSF&lt;/a&gt; or &lt;a href=&quot;https://opensource.org/licenses&quot;&gt;OSI&lt;/a&gt;, but that’s just the baseline for choosing an open source project. The type of open source license alone doesn’t guarantee longevity or a healthy project.&lt;/p&gt;

&lt;h1 id=&quot;summary&quot;&gt;Summary&lt;/h1&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;If you see a CLA, avoid the project&lt;/strong&gt;, especially if you need to rely on it for the long term.&lt;/li&gt;
  &lt;li&gt;If you see projects that &lt;strong&gt;never merge contributions and instead rewrite them&lt;/strong&gt;, stay away, they’re a bad bet for long-term use.&lt;/li&gt;
  &lt;li&gt;If a project’s handling of contributions is hidden behind closed doors, that’s another clear reason to avoid it.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1 id=&quot;additional-notes&quot;&gt;Additional Notes&lt;/h1&gt;

&lt;ul&gt;
  &lt;li&gt;I may update this article from time to time to add more strong indicators that can help others choose and evaluate open source projects for long-term use.&lt;/li&gt;
  &lt;li&gt;Can these indicators be automatically analyzed to create a scoring system for open source projects? I don’t think so, there’s a strong element of perception and context in this kind of analysis. And honestly, I suspect organizations would quickly start gaming the system just to get a better score.&lt;/li&gt;
&lt;/ul&gt;

</description>
        <pubDate>Sun, 25 May 2025 10:02:00 +0200</pubDate>
        <link>https://www.foo.be/2025/05/choose-an-open-source-project-for-the-long-term</link>
        <guid isPermaLink="true">https://www.foo.be/2025/05/choose-an-open-source-project-for-the-long-term</guid>
        
        
        <category>free-software</category>
        
        <category>open-source</category>
        
      </item>
    
      <item>
        <title>Le Sillon Fictionnel en livret PDF et EPUB</title>
        <description>&lt;p&gt;J’ai toujours des idées à la con… Il y avait une issue sur GitHub pour créer un petit livret en PDF et EPUB de notre &lt;a href=&quot;https://sillon-fictionnel.club/&quot;&gt;brol sillonesque&lt;/a&gt;. &lt;em&gt;L’optimisme est toujours l’apanage des fous&lt;/em&gt;. Comme le chat n’était pas en super forme, je me suis dit que travailler sur l’ordinateur serait facile tout en lui tenant compagnie.&lt;/p&gt;

&lt;p&gt;Je commence en me disant qu’une conversion de &lt;a href=&quot;https://github.com/adulau/sillon-fictionnel/tree/main/content/post&quot;&gt;pages HTML&lt;/a&gt; vers un &lt;a href=&quot;https://sillon-fictionnel.club/le-sillon-revue.pdf&quot;&gt;livre PDF&lt;/a&gt; serait simple. C’était sans compter l’essence même d’un site web avec des pages en Markdown. Ces pages sont uniques. Concaténer n’est pas une solution. Donc, on démarre avec un &lt;a href=&quot;https://github.com/adulau/sillon-fictionnel/blob/main/outils/isbn.py&quot;&gt;petit programme Python pour rassembler le tout&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Puis viennent les notes de bas de page avec des références uniques… On se dit qu’il suffit d’une indexation globale, rien de bien méchant. On pense : « OK, il reste 10 minutes et c’est ficelé. » Mais là, on se rend compte que la conversion Markdown vers LaTeX, c’est bien, sauf qu’il faut retravailler le TeX pour rendre le tout lisible… et puis survient le cauchemar des tailles et formats d’images.&lt;/p&gt;

&lt;p&gt;L’optimisme reprend le dessus grâce au super logiciel libre &lt;a href=&quot;https://pandoc.org/&quot;&gt;Pandoc&lt;/a&gt;… On avance, mais les images restent un foutoir innommable. On découvre que Pandoc fait du Lua et qu’on peut &lt;a href=&quot;https://github.com/adulau/sillon-fictionnel/blob/main/outils/revue.lua&quot;&gt;filtrer/modifier les figures&lt;/a&gt;. Allez, on se remet au Lua. Puis on tombe sur d’autres joyeusetés, comme la police &lt;a href=&quot;https://github.com/adulau/sillon-fictionnel/blob/main/outils/revue.sh#L13&quot;&gt;EB Garamond qui ne passe pas via Fontconfig&lt;/a&gt;… et j’en passe.&lt;/p&gt;

&lt;p&gt;Mais au final, après quatre litres de thé noir du Mozambique, un chat qui vous fixe bizarrement et quelques expérimentations, &lt;a href=&quot;https://sillon-fictionnel.club/apropos/#le-sillon-en-revue&quot;&gt;ça fonctionne&lt;/a&gt; ! Avec, en prime, &lt;a href=&quot;https://sillon-fictionnel.club/le-sillon-revue.epub&quot;&gt;Le Sillon au format EPUB&lt;/a&gt; pour les liseuses.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://paperbay.org/system/media_attachments/files/114/054/039/747/703/185/original/990ec95a61b80daf.png&quot; alt=&quot;Le Sillon Fictionnel est désormais disponible au format EPUB pour vos liseuses, ainsi qu’en PDF et sur le site web sillonesque.&quot; /&gt;&lt;/p&gt;
</description>
        <pubDate>Sun, 23 Feb 2025 15:02:00 +0100</pubDate>
        <link>https://www.foo.be/2025/02/Le-Sillon-Fictionnel-en-livret</link>
        <guid isPermaLink="true">https://www.foo.be/2025/02/Le-Sillon-Fictionnel-en-livret</guid>
        
        
        <category>internet</category>
        
      </item>
    
      <item>
        <title>Gaining Visibility in the Algorithmic-based Internet by Reclaiming Your Space</title>
        <description>&lt;p&gt;&lt;a href=&quot;https://www.flickr.com/photos/adulau/54113517469/&quot;&gt;&lt;img src=&quot;/assets/geometry.jpg&quot; alt=&quot;Water geometry&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you are writing, one of your primary objectives is to be seen and read—two distinct but interconnected goals. Visibility helps your work reach a wider audience, which can lead to more readers engaging with your content. However, in today’s Internet landscape, visibility is shaped by algorithms on social networks, search engines, and advertising networks. These systems often prioritize content that aligns with their business interests, rather than purely the quality or relevance of the material.&lt;/p&gt;

&lt;p&gt;The traditional bookstore model offers an insightful comparison. In the past, a bookseller might carefully curate their inventory based on relationships with publishers or their own judgment of quality and market interest. As a reader, you could walk into a bookshop, browse the shelves, or explore a table displaying new releases. Often, a thoughtful recommendation from the bookseller could guide your choice. If a book sparked your curiosity, you might purchase it, and, if it resonated, spend time reading and reflecting on its reading.&lt;/p&gt;

&lt;p&gt;In the algorithmic age, or perhaps more accurately, the digital advertising age, the human touch of discovery has been replaced by calculated exposure. Content is surfaced not by serendipity or personal curation but by systems optimised to serve business objectives, often prioritizing engagement metrics over quality.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;We often hear that to stand out in this environment, authors or writers must adopt a strategic approach, blending authenticity with a deep understanding of how algorithms operate. To be honest, that’s complete bullshit&lt;/strong&gt;. The content that is most visible today is rarely the most authentic or useful. It’s simply the content that can generate clicks and capture brain time for advertisers.&lt;/p&gt;

&lt;p&gt;I recently rediscovered an old backup of logs from my web server from the early 2000s and compared them with the current logs from 2024. The differences are striking. Back then, around 80% of the access was generated by actual users opening URLs in their browsers, while the remaining 20% was machine crawling or other noise.&lt;/p&gt;

&lt;p&gt;Today (2024), noise accounts for 90% of the accesses to my blog posts. This noise primarily comes from:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;Trending bots attempting to determine whether a link is interesting enough to include in their algorithms to notify customers that the information is relevant. Companies like Hootsuite, Zoho, Ahref/Yep and many others operate in this space—though I suspect they rarely, if ever, actually read the content. It seems more about branding trends than genuine readers engagement.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Aggressive crawling bots, often associated with AI or linguistic projects, use user-agents reference that provide vague or meaningless explanations of their purpose. Companies like Facebook and Amazon are among the most common in this space. However, it’s clear that your writing will never actually appear on their platforms—it’s simply harvested to serve their data-gathering efforts and refine their own content.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Search engine bots, like Google’s, crawl your pages and might include them in their index weeks or months later. However, don’t expect to appear in the top ten results unless your content is an exact match—and even then, if you’re not part of their advertising network, you’re likely out. On a side note, the SEO industry has effectively destroyed and fucked-up the organic nature of the Internet.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Security bots brute-force attempts, which are increasingly difficult to differentiate from legitimate activity. Many security vendors operate across multiple domains, including exploitation or reselling their data feeds for purposes beyond simply notifying website owners of vulnerabilities.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Mastodon “pre-fetching” URLs, which provides no indication of how many people actually read the content. The overhead can be significant, especially if your post is boosted by an account with many followers, as it’s simply the Fediverse server performing a GET request. Out of curiosity, I analysed a specific URL that was shared only on the Fediverse. It received approximately 34,000 GET requests, yet this translated to just two actual users reading the content.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Pre-fetching bots designed to display your content within ad-supported interfaces. This practice is increasingly common, with bots often testing how the content fits different devices. Unsurprisingly, this doesn’t benefit the content creator in any meaningful way. Instead, it’s aimed at keeping users within the ad-supported application, preventing them from venturing into the broader Internet beyond the confines of these advertising-driven ecosystems.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Less than 10% of the remaining entries in the logs represent actual users browsing and reading the content (and that’s without delving into questions about attention span or whether the content is truly read beyond the title). This 10% is an optimistic estimate based on this quick analysis.&lt;/p&gt;

&lt;p&gt;How did we go from an Internet where 80% of the traffic came from genuine readers to a mere 10%, with the rest being noise? Have we really spent the last twenty years investing in Internet routing, bandwidth, server storage, hardware, and energy only to support access via advertising-gated platforms? In doing so, we’ve limited the original promise of the Internet: providing diversity and access to a wealth of knowledge.&lt;/p&gt;

&lt;p&gt;What would be the strategy to return to the original promise of the Internet? Blogrolls, random access to blog posts or websites, RSS feeds, or perhaps running your own server? I’m still exploring, but I’m trying to contribute my part to that original vision.&lt;/p&gt;

&lt;p&gt;We’ve set up a book club aligned with this promise called &lt;a href=&quot;https://sillon-fictionnel.club/&quot;&gt;le sillon fictionnel&lt;/a&gt;. The site is now one year old, and we have 34 followers on Mastodon. According to the logs, we have some actual readers, despite the 95% of noise generated by bots.&lt;/p&gt;

</description>
        <pubDate>Thu, 02 Jan 2025 15:01:00 +0100</pubDate>
        <link>https://www.foo.be/2025/01/Gaining-Visibility</link>
        <guid isPermaLink="true">https://www.foo.be/2025/01/Gaining-Visibility</guid>
        
        
        <category>internet</category>
        
      </item>
    
      <item>
        <title>Improving Cybersecurity Impact Taxonomies</title>
        <description>&lt;h1 id=&quot;improving-cybersecurity-taxonomies-describing-impact-and-cyber-harms-against-organizations&quot;&gt;Improving Cybersecurity Taxonomies Describing Impact and Cyber Harms Against Organizations&lt;/h1&gt;

&lt;p&gt;If you work in the cybersecurity field, the term &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;impact&lt;/code&gt; is ubiquitous, appearing frequently in information security regulations such as NIS2 (and previously NIS1). It plays a critical role in reporting obligations and the definition of a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;significant cyber threat&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The definition and classification of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;impact&lt;/code&gt; have been subjects of debate for some time. I recently incorporated a MISP taxonomy inspired by a &lt;a href=&quot;https://academic.oup.com/cybersecurity/article/4/1/tyy006/5133288?login=false&quot;&gt;2018 publication&lt;/a&gt; titled &lt;em&gt;“A taxonomy of cyber-harms: Defining the impacts of cyber-attacks and understanding how they propagate.”&lt;/em&gt; This publication offers a detailed taxonomy of cyber-harms experienced by organizations, helping to better define and classify the impacts of cyber-attacks.&lt;/p&gt;

&lt;p&gt;If you are incident responder or DFIR practioners, it’s giving a good way to classify the impact of what you analyse or used as discussion source for the victims of the cyber attacks. Even within a SOC or CSIRT team, you can use consistent terminology to classify the actual impact.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&quot;https://www.misp-project.org/taxonomies.html#_organizational_cyber_harm&quot;&gt;organizational cyber harms taxonomy&lt;/a&gt; is divided into several clear categories (predicates):&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;physical-digital&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;economic&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;psychological&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;reputational&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;social-societal&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example, the &lt;strong&gt;economic&lt;/strong&gt; category provides a well-defined set of impacts that can be applied in various organizational contexts and cases, ranging from &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;disrupted-operations&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;reduced-profits&lt;/code&gt; to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;pr-response-costs&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;In 2015, when we began designing the MISP taxonomy format, we didn’t anticipate the widespread success of the &lt;a href=&quot;https://github.com/misp/misp-taxonomies&quot;&gt;misp-taxonomies repository&lt;/a&gt;. Today, it is widely used across various open source (and proprietary) threat intelligence tools, analytical projects, and open data classification initiatives.&lt;/p&gt;

&lt;p&gt;If you use and/or manage a &lt;a href=&quot;https://www.misp-project.org/&quot;&gt;MISP&lt;/a&gt; instance, the taxonomy integration is seamless. You can choose to use one or more taxonomies, select specific parts (e.g., a single tag from a larger taxonomy), enforce their usage, run analytics on specific tags, or even filter API responses based on selected tags from the taxonomies.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&quot;https://www.misp-project.org/taxonomies.html#_organizational_cyber_harm&quot;&gt;organizational cyber harms taxonomy&lt;/a&gt; provides a good basis for describing impact on specific events or incidents. This can be used in complement with&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.misp-project.org/taxonomies.html#_economical_impact&quot;&gt;economical-impact&lt;/a&gt; is a taxonomy designed to describe the financial impact, whether as a positive or negative outcome, on the tagged information (e.g., data exfiltration loss representing a negative impact for the victim but a positive gain for an adversary).&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.misp-project.org/taxonomies.html#_nis2&quot;&gt;nis2&lt;/a&gt; is a taxonomy that includes impacted sectors, the severity of the impact (which is open to interpretation), and the impact outlook (e.g., whether it is increasing or decreasing over time).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;An overview of the taxonomy as used in MISP:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/taxo.png&quot; alt=&quot;An overview of the taxonomy organizational cyber harms taxonomy in MISP, the open source threat intelligence sharing platform&quot; /&gt;&lt;/p&gt;

&lt;p&gt;My hope is that more organizations will share details about the impacts of their own events, as well as insights from other incidents. I understand this can be challenging, as sharing TTPs of threat actors is currently more widely accepted than sharing details about impacts. However, I truly hope this trend will shift, enabling more robust analytics and a clearer understanding of the actual impact of incidents—whether it is accurately represented or inflated. The formalized &lt;a href=&quot;https://www.misp-project.org/taxonomies.html#_organizational_cyber_harm&quot;&gt;organizational cyber harms taxonomy&lt;/a&gt; provides a solid foundation for improving the description and analysis of impacts.&lt;/p&gt;

&lt;p&gt;Don’t hesitate to propose new taxonomies or suggest improvements via the &lt;a href=&quot;https://github.com/misp/misp-taxonomies&quot;&gt;GitHub repository&lt;/a&gt;.&lt;/p&gt;

&lt;h1 id=&quot;references&quot;&gt;References&lt;/h1&gt;

&lt;ul&gt;
  &lt;li&gt;MISP Taxonomy: &lt;a href=&quot;https://www.misp-project.org/taxonomies.html#_organizational_cyber_harm&quot;&gt;organizational-cyber-harm&lt;/a&gt; - A taxonomy for classifying organizational cyber harms based on categories such as physical, economic, psychological, reputational, and social/societal impacts in &lt;a href=&quot;https://www.misp-standard.org/&quot;&gt;MISP standard&lt;/a&gt; format.&lt;/li&gt;
  &lt;li&gt;The &lt;a href=&quot;https://github.com/misp/misp-taxonomies&quot;&gt;MISP Taxonomies collaborative GitHub repository&lt;/a&gt; allows you to propose changes, updates, or corrections to the directory of taxonomies.&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Sun, 08 Dec 2024 01:01:00 +0100</pubDate>
        <link>https://www.foo.be/2024/12/Improving-Cybersecurity-Impact-Taxonomies</link>
        <guid isPermaLink="true">https://www.foo.be/2024/12/Improving-Cybersecurity-Impact-Taxonomies</guid>
        
        
        <category>infosec</category>
        
      </item>
    
      <item>
        <title>From Ruins to Resilience: How Developing and Utilizing Open Source Solutions Enhances CSIRT Capabilities</title>
        <description>&lt;h1 id=&quot;from-ruins-to-resilience-how-developing-and-utilizing-open-source-solutions-enhances-csirt-capabilities&quot;&gt;From Ruins to Resilience: How Developing and Utilizing Open Source Solutions Enhances CSIRT Capabilities&lt;/h1&gt;

&lt;hr /&gt;

&lt;p&gt;”Some cities have fallen into ruin and
some are built upon ruins but others
contain their own ruins while still
growing.” &lt;em&gt;Jeffrey Eugenides&lt;/em&gt;&lt;/p&gt;

&lt;h3 id=&quot;introduction&quot;&gt;Introduction&lt;/h3&gt;

&lt;p&gt;At CIRCL (Computer Incident Response Center Luxembourg), part of the Luxembourg House of Cybersecurity (LHC), we embarked on a journey to build and sustain open-source solutions for CSIRTs. With over 14 years of experience, we’ve gained valuable insights into open-source software development and community engagement in the cybersecurity field. Below are some of the key lessons we’ve learned along the way.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;img src=&quot;/assets/opensource-csirt.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;When you buy proprietary tools, you’re at the low end of both “doing” and “capabilities.” You rely on external vendors, and your organization has less control over customization or internal improvement. Integrating proprietary or open-source tooling via APIs is a step up in capabilities. You are working to connect systems but may still be reliant on external providers for updates or changes. Contributing to open-source projects increases both capabilities and autonomy. At this stage, your organization is actively shaping the tools it uses, and you’re likely interacting directly with the open-source community. The peak of capabilities and “doing” occurs when your team is actively maintaining open-source tooling. Here, the organization takes full ownership of development, support, and customization, gaining the highest level of control and expertise or even rewarding from a creative experience.&lt;/p&gt;

&lt;h2 id=&quot;first-lesson-publish-and-embrace-criticism&quot;&gt;First Lesson: Publish and Embrace Criticism&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Many organizations hesitate to release open-source software due to fear of criticism.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Don’t be afraid&lt;/strong&gt;—release early and release often. You are more likely to attract early adopters than critics in the beginning.&lt;/li&gt;
  &lt;li&gt;Document and share your specific programming methodologies to benefit the wider community. Even if the methodology sounds silly or too simple, it can be a factor of attractiveness.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&quot;https://datatracker.ietf.org/doc/draft-dulaunoy-programming-methodology-framework/02/&quot;&gt;Read more about our methodology framework&lt;/a&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;second-lesson-practice-vulnerability-handling&quot;&gt;Second Lesson: Practice Vulnerability Handling&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Leading the development of open-source tools means taking responsibility for managing vulnerabilities in your projects.&lt;/li&gt;
  &lt;li&gt;For a CSIRT, this experience is invaluable, putting you in the shoes of a software vendor.&lt;/li&gt;
  &lt;li&gt;With widely-used projects like MISP, vulnerability handling is critical.&lt;/li&gt;
  &lt;li&gt;We’ve learned challenges like release notifications, vulnerability ID assignments, and proper disclosure.&lt;/li&gt;
  &lt;li&gt;The next time you handle a security vulnerability disclosure for software, you can share common experiences or even the painful challenges faced in coordinated vulnerability disclosure.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&quot;https://www.misp-project.org/security/&quot;&gt;Read more about MISP security and our approach to coordinated vulnerability disclosure&lt;/a&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;third-lesson-open-source-as-a-facilitator-for-partnerships&quot;&gt;Third Lesson: Open Source as a Facilitator for Partnerships&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Nothing fosters collaboration better than a successful open-source project&lt;/strong&gt;.&lt;/li&gt;
  &lt;li&gt;Open-source contribution models often eliminate the need for NDAs, confidentiality agreements, or IPR agreements.&lt;/li&gt;
  &lt;li&gt;In EU research projects, contributing to open-source projects provides clear outcomes and measurable Technology Readiness Levels (TRL).&lt;/li&gt;
  &lt;li&gt;Contributing to an open-source project within a larger initiative often provides clarity on deliverables and emphasizes the practical (“doint”), hands-on aspects of the work.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;fourth-lesson-managing-the-ruins-of-software-dependencies&quot;&gt;Fourth Lesson: Managing the Ruins of Software Dependencies&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Building and maintaining long-term open-source projects helps to grow a community of users and contributors.&lt;/li&gt;
  &lt;li&gt;Over time, outdated or obsolete software dependencies accumulate, becoming part of the development process.&lt;/li&gt;
  &lt;li&gt;As an “archeologist” of software stacks, you must address the inherent security risks, much like any software vendor would.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;what-about-the-ruins-quote&quot;&gt;What about the ruins quote?&lt;/h4&gt;

&lt;p&gt;“Some cities have fallen into ruin and some are built upon ruins, but others contain their own ruins while still growing.” &lt;em&gt;Jeffrey Eugenides&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Software and security are indeed built on top of ruins. There are different ways to acknowledge this fact. One option is to ignore it and let the city fall into disrepair. Another is to simply build on top of the existing ruins. But the most interesting and rewarding approach is to embrace the ruins and use them as a foundation for growth. Open source and software, in general, are full of such ruins, and that is precisely how growth happens.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;fifth-lesson-open-source-as-a-standard-generator&quot;&gt;Fifth Lesson: Open Source as a Standard Generator&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Developing information security standards without open-source implementations often leads to more discussion than creating interoperable tools.&lt;/li&gt;
  &lt;li&gt;Tools and formats created from open-source projects can serve as strong foundations for standards.&lt;/li&gt;
  &lt;li&gt;The MISP standard was built on real-world implementations, rather than theoretical committees.&lt;/li&gt;
  &lt;li&gt;Don’t hesitate to draft IETF Internet-Drafts based on your open-source tools—this can be the start of practical open and freely-accessible standards.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;sixth-lesson-learning-from-threat-intelligence-collection&quot;&gt;Sixth Lesson: Learning from Threat Intelligence Collection&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Developing open-source tools for intelligence collection provides insights into the challenges faced by threat intelligence vendors.&lt;/li&gt;
  &lt;li&gt;Managing collection mechanisms allows your CSIRT to assess intelligence quality and understand fluctuations over time.&lt;/li&gt;
  &lt;li&gt;Building autonomy in intelligence collection often provides more value than relying solely on purchased vendor feeds.&lt;/li&gt;
  &lt;li&gt;Although threat intelligence collection may initially seem time-consuming, the experience gained enables your organization to become more agile in building accurate intelligence from new collections.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;seventh-lesson-embrace-failure&quot;&gt;Seventh Lesson: Embrace Failure&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Failure is an essential part of designing new open-source tools for CSIRTs.&lt;/li&gt;
  &lt;li&gt;The vulnerability management landscape evolves constantly, requiring adaptable tools.&lt;/li&gt;
  &lt;li&gt;We initially developed and maintained cve-search but faced challenges with cve-portal due to a lack of proper software identifiers, leading us to develop &lt;a href=&quot;https://github.com/cve-search/vulnerability-lookup&quot;&gt;vulnerability-lookup&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Each failure is necessary to create innovative open-source software that solves real-world problems.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;eighth-lesson-licenses-and-copyright-are-critical&quot;&gt;Eighth Lesson: Licenses and Copyright Are Critical&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Don’t underestimate the importance of open-source software licenses.&lt;/li&gt;
  &lt;li&gt;Pay attention to Contributor License Agreements (CLAs) and who ultimately owns the code.&lt;/li&gt;
  &lt;li&gt;After experiencing open-source dependencies becoming proprietary, we have taken a strong stance against CLAs and favor multiple copyright ownerships.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&quot;https://ossbase.org/initiatives/cla-free/&quot;&gt;Learn more about CLA-free initiatives&lt;/a&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;ninth-lesson-open-source-as-a-tool-for-staff-retention-and-skill-development&quot;&gt;Ninth Lesson: Open Source as a Tool for Staff Retention and Skill Development&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;The cybersecurity field often faces a skills shortage, with high turnover due to intellectual fatigue.&lt;/li&gt;
  &lt;li&gt;Enhancing CSIRT capabilities through open-source projects helps retain talent and expand expertise.&lt;/li&gt;
  &lt;li&gt;Open-source projects promote staff autonomy, benefiting both individual team members and the organization as a whole.&lt;/li&gt;
  &lt;li&gt;Being part of an open-source project allows team members to feel individually recognized, which is a key factor in staff retention.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h3&gt;

&lt;p&gt;The open-source journey for a CSIRT team is challenging but rewarding. It pushes back against the status quo, enhances team capabilities, and allows for a focus on developing staff instead of acquiring products. By continuously contributing to and maintaining open-source projects, organizations can significantly boost their capabilities.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;additional-notes&quot;&gt;Additional Notes&lt;/h3&gt;

&lt;h4 id=&quot;does-this-apply-to-other-teams-or-organizations-besides-csirts&quot;&gt;Does this apply to other teams or organizations besides CSIRTs?&lt;/h4&gt;

&lt;p&gt;Most likely, these experiences have been shared by various teams, and some of the lessons may also apply to your organization, team, or project. Feel free to adapt and use any of these ideas.&lt;/p&gt;

&lt;h3 id=&quot;acknowledgement&quot;&gt;Acknowledgement&lt;/h3&gt;

&lt;p&gt;Thanks to my teammates and colleagues at CIRCL for the discussions and work on this topic over the past 14 years. A special shoutout to &lt;a href=&quot;https://github.com/gallypette&quot;&gt;Jean-Louis&lt;/a&gt; for the insightful conversations around &lt;em&gt;&lt;a href=&quot;https://davidmarquet.com/turn-the-ship-around-book/&quot;&gt;Turn the Ship Around&lt;/a&gt;&lt;/em&gt;. This presentation was first given at the CERT-EU Conference 2024. Many thanks to the CERT-EU team, and especially to Saâd Kadhi, for the opportunity and support.&lt;/p&gt;

&lt;h3 id=&quot;some-open-source-at-circl&quot;&gt;Some Open Source at CIRCL&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.misp-project.org/&quot;&gt;MISP Project&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.ail-project.org/&quot;&gt;AIL Project&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.d4-project.org/&quot;&gt;D4 Project&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://vulnerability.circl.lu/&quot;&gt;Vulnerability-Lookup&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/flowintel/flowintel&quot;&gt;Flowintel&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/Lookyloo/lookyloo&quot;&gt;LookyLoo&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/pandora-analysis/pandora&quot;&gt;pandora&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/hashlookup/&quot;&gt;hashlookup&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/typosquatter/&quot;&gt;typosquatter&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/MISP/SkillAegis&quot;&gt;SkillAegies&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/misp/misp-stix&quot;&gt;misp-stix&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/cerebrate-project/cerebrate&quot;&gt;Cerebrate&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://opensource-metrics.circl.lu/&quot;&gt;Open Source Metrics at CIRCL&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <pubDate>Sat, 12 Oct 2024 02:01:00 +0200</pubDate>
        <link>https://www.foo.be/2024/10/How_Developing_and_Utilizing_Open_Source_Solutions_Enhances_CSIRT_Capabilities</link>
        <guid isPermaLink="true">https://www.foo.be/2024/10/How_Developing_and_Utilizing_Open_Source_Solutions_Enhances_CSIRT_Capabilities</guid>
        
        
        <category>infosec</category>
        
      </item>
    
  </channel>
</rss>
