<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>attack: bundle log</title>
  <subtitle>What changed in the knowledge bundle, a day to an entry, newest first.</subtitle>
  <link rel="self" type="application/atom+xml" href="https://lmodel.github.io/attack/knowledge/log.xml"/>
  <link rel="alternate" type="text/html" href="https://lmodel.github.io/attack/knowledge/log/"/>
  <link rel="alternate" type="text/markdown" href="https://lmodel.github.io/attack/knowledge/log.md"/>
  <id>https://w3id.org/lmodel/attack/knowledge/log</id>
  <updated>2026-10-31T12:17:51Z</updated>
  <author><name>Noel McLoughlin</name></author>
  <rights>CC BY 4.0</rights>
  <link rel="license" href="https://creativecommons.org/licenses/by/4.0/"/>
  <entry>
    <title>2026-10-31 · Added: 41 · Changed: 7 · Prose: 2 · Removal: 2 · Initialization: 1</title>
    <link rel="alternate" type="text/html" href="https://lmodel.github.io/attack/knowledge/log/#2026-10-31"/>
    <id>https://w3id.org/lmodel/attack/knowledge/log#2026-10-31</id>
    <published>2026-10-31T11:50:48Z</published>
    <updated>2026-10-31T12:17:51Z</updated>
    <category term="Changed"/>
    <category term="Prose"/>
    <category term="Added"/>
    <category term="Removal"/>
    <category term="Initialization"/>
    <content type="html">&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: lmodel/stix modules names stix v0.1.0, the release the six files equal, which &lt;code&gt;tests/test_stix_import.py&lt;/code&gt; and NOTICE now pin.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prose&lt;/strong&gt;: reworded 2 concept bodies in plain English. No fact, link, number or frontmatter changed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Test data and tests says &lt;code&gt;tests/test_upstream.py&lt;/code&gt; also lists the 44 breaches across a bundle, in KNOWN_BUNDLE_DEPARTURES.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Where the data departs from the ATT&amp;amp;CK Data Model adds the four groups of breaches across a bundle that KNOWN_BUNDLE_DEPARTURES lists.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: lmodel/stix modules names stix commit 267064d, which &lt;code&gt;tests/test_stix_import.py&lt;/code&gt; and NOTICE now pin.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Test data and tests counts 72 counter-examples, since &lt;code&gt;tests/data/invalid/&lt;/code&gt; gained one for a citation name with a colon.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prose&lt;/strong&gt;: reworded 13 concept bodies in plain English. No fact, link, number or frontmatter changed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the documentation site's description names its address as code, so the index bullets carry no bare address.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the map leaves out &lt;code&gt;docs/elements/.gitkeep&lt;/code&gt;, the marker of the folder gen-doc fills.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Build and test (main.yaml), from &lt;code&gt;.github/workflows/main.yaml&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Lint and docs (lint-and-docs.yaml), from &lt;code&gt;.github/workflows/lint-and-docs.yaml&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Upstream watch (upstream-watch.yaml), from &lt;code&gt;.github/workflows/upstream-watch.yaml&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Semantic release (semantic-release.yml), from &lt;code&gt;.github/workflows/semantic-release.yml&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Knowledge Librarian (knowledge-librarian.yaml), from &lt;code&gt;.github/workflows/knowledge-librarian.yaml&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Knowledge Registrar (knowledge-registrar.yaml), from &lt;code&gt;.github/workflows/knowledge-registrar.yaml&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Knowledge Release (knowledge-release.yaml), from &lt;code&gt;.github/workflows/knowledge-release.yaml&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Knowledge sync (knowledge-sync.yaml), from &lt;code&gt;.github/workflows/knowledge-sync.yaml&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Knowledge website (knowledge-website.yaml), from &lt;code&gt;.github/workflows/knowledge-website.yaml&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Knowledge sources map, the bundle's map of where its concepts come from.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Regenerate and test the schema, from &lt;code&gt;CONTRIBUTING.md&lt;/code&gt; and the &lt;code&gt;justfile&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Release the schema, from &lt;code&gt;CONTRIBUTING.md&lt;/code&gt; and &lt;code&gt;.releaserc.json&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Update the upstream pins, from &lt;code&gt;scripts/check_upstream_release.py&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Validate ATT&amp;amp;CK data, from &lt;code&gt;docs/index.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: AI covenant, from &lt;code&gt;AI_COVENANT.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Licence and attribution, from &lt;code&gt;NOTICE&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Security policy, from &lt;code&gt;SECURITY.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Documentation site, from &lt;code&gt;website/site.config.mjs&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Removal&lt;/strong&gt;: Example Service A, the sidecar's placeholder, now that real concepts stand in its place.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Removal&lt;/strong&gt;: Example Service B, the sidecar's placeholder, now that real concepts stand in its place.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Technique, from the class &lt;code&gt;AttackTechnique&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Tactic, from the class &lt;code&gt;AttackTactic&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Group, from the class &lt;code&gt;AttackGroup&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Campaign, from the class &lt;code&gt;AttackCampaign&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Software, from the class &lt;code&gt;AttackMalware&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Mitigation, from the class &lt;code&gt;AttackMitigation&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Detection strategy, from the class &lt;code&gt;AttackDetectionStrategy&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Analytic, from the class &lt;code&gt;AttackAnalytic&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Data component, from the class &lt;code&gt;AttackDataComponent&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Asset, from the class &lt;code&gt;AttackAsset&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: ATT&amp;amp;CK domain, from the class &lt;code&gt;AttackMatrix&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: ATT&amp;amp;CK ID, from the class &lt;code&gt;AttackTechnique&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: attack LinkML schema, from &lt;code&gt;src/attack/schema/attack.yaml&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: lmodel/stix modules, from &lt;code&gt;src/attack/schema/stix/&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Pinned ATT&amp;amp;CK v20.0 bundles, from &lt;code&gt;tests/data/attack-stix-data/manifest.json&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Test data and tests, from &lt;code&gt;tests/&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Generated artefacts, from &lt;code&gt;project/&lt;/code&gt; and &lt;code&gt;src/attack/datamodel/&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: MITRE's ATT&amp;amp;CK STIX data, the v20.0 release.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: ATT&amp;amp;CK Data Model, the v4.11.7 release.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: lmodel/stix, the STIX schema the ATT&amp;amp;CK schema imports.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Element names and the shared namespace, from &lt;code&gt;docs/about.md&lt;/code&gt; and &lt;code&gt;tests/test_schema_rules.py&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Scope, influences and mappings, from &lt;code&gt;README.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Where the data departs from the ATT&amp;amp;CK Data Model, from &lt;code&gt;tests/test_upstream.py&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Initialization&lt;/strong&gt;: Scaffolded the LOKF bundle for attack with placeholder
services. Real concepts to follow.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
</feed>
