feat: add JSON Schema definitions for programmatic access#100
Open
edonadei wants to merge 2 commits intosafe-agentic-framework:mainfrom
Open
feat: add JSON Schema definitions for programmatic access#100edonadei wants to merge 2 commits intosafe-agentic-framework:mainfrom
edonadei wants to merge 2 commits intosafe-agentic-framework:mainfrom
Conversation
Add comprehensive JSON Schema (Draft 7) definitions to establish the data structure contract for SAFE-MCP techniques, mitigations, and tactics. This enables: - Automated tooling integration - Programmatic data access - Validation and consistency checking - Type-safe development Schemas added: - schemas/technique-schema.json (557 lines) Covers attack techniques with metadata, impact assessment, detection methods, mitigations, and MITRE ATT&CK mappings - schemas/mitigation-schema.json (399 lines) Covers security controls with implementation details, deployment considerations, and effectiveness ratings - schemas/tactic-schema.json (45 lines) Covers MITRE ATT&CK-aligned tactics Key features: - Required fields enforce core metadata presence - Enum values provide controlled vocabularies - Pattern matching validates ID formats (SAFE-T####, SAFE-M-#) - Extensible design allows future additions Related: safe-agentic-framework#48 Next PRs will add: - Parser tooling (markdown → JSON) - CI automation via GitHub Actions - TOON format for LLM optimization - Documentation and integration guides Signed-off-by: Emrick Donadei <emrick.donadei@gmail.com>
7 tasks
Author
|
@fkautz @bochristopher PTAL, as discussed during the last safe-mcp community meeting, I decided to give it a try. The big idea would be:
I've gone that direction because it seems like contributors enjoy the ability to work with Markdown and being opened to contributing in this format. It's a suggestion though, and I'm open to other ideas, we could actually do the opposite, where the contributors would contribute in JSON (or YAML).
|
Signed-off-by: Emrick Donadei <emrick.donadei@gmail.com>
5e11908 to
d1ed1c9
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR establishes the foundational data structure contract for SAFE-MCP by adding comprehensive JSON Schema (Draft 7) definitions for techniques, mitigations, and tactics. These schemas enable programmatic access, validation, and automated tooling integration.
This is Part 1 of a multi-PR initiative to address issue #48.
Type of Contribution
What's Included
Schema Definitions (~1k lines total)
schemas/technique-schema.json(~500 lines)^SAFE-T[0-9]{4}(\.[0-9]{3})?$schemas/mitigation-schema.json(~400 lines)^SAFE-M-[0-9]+$schemas/tactic-schema.json(~50 lines)^ATK-TA[0-9]{4}$Key Features
Benefits
This establishes a contract that enables:
Multi-PR Roadmap
Checklist
git commit -s)Related Issues
Related: #48 - Create JSON/YAML index of SAFE-MCP techniques
Testing
The schemas can be validated against tools like: