Files
dap-was-dapms/docs/sbom/AXHUB_MCP_Server_SBOM_CycloneDX1.5.json
koseokmin 6424f25917 MCP Java SDK 2.0.0의 SBOM을 CycloneDX 1.5로 추가한다
build.gradle이 직접 선언한 오픈소스는 mcp-json-jackson2 하나지만, 런타임
전이 의존까지 따라가면 12건이 산출물 classpath에 올라간다. json-schema-validator,
itu, jackson-dataformat-yaml, reactor-core, reactive-streams는 SDK를 넣기
전에는 없던 것들이라 함께 수록한다. 여기에 빌드 환경 2건(JDK 21, Gradle
8.14.3)을 scope optional로 더해 14건이다.

버전과 해시는 Gradle 로컬 캐시의 실제 pom을 따라가 그래프를 만들고 실제 jar
바이너리에서 SHA-512/SHA-1을 계산했다. Gradle 배포본의 SHA-256은 wrapper의
distributionSha256Sum 값이다. 산출 근거와 한계는 docs/sbom/README.md에 있다.

라이선스는 Apache-2.0 9건, MIT 3건, MIT-0 1건, JDK 미확정 1건이다. copyleft가
없어 소스 공개 의무는 없다. JDK는 toolchain이 벤더를 고정하지 않으므로 실제
배포판이 정해지면 라이선스를 확정해야 한다.

optional인 joni/graal-js/graal-sdk(약 50MB), provided인 jakarta.servlet-api,
test scope와 annotationProcessor는 산출물에 포함되지 않아 제외했다. 제외 사유는
Exclusions 시트에 있다.

확인이 남은 항목은 jackson-databind다. SDK가 요청한 2.20.1이
io.spring.dependency-management에 의해 Spring Boot 3.5.11의 2.19.4로 내려간다.
sandbox에서 gradle daemon이 뜨지 않아 gradlew dependencies로 대조하지 못했으므로
빌드 환경에서 한 번 확인해야 한다.

xlsx가 줄바꿈 정규화 대상이 되지 않도록 .gitattributes에 binary로 명시한다.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 14:45:38 +09:00

709 lines
21 KiB
JSON

{
"bomFormat": "CycloneDX",
"specVersion": "1.5",
"serialNumber": "urn:uuid:dd2dbf54-3ff5-57b2-bc28-765721359457",
"version": 1,
"metadata": {
"timestamp": "2026-08-18T00:00:00Z",
"component": {
"type": "application",
"bom-ref": "pkg:maven/io.shinhanlife.dap.biz.mcp/ax-hub-mcp-server@0.1.0",
"group": "io.shinhanlife.dap.biz.mcp",
"name": "ax-hub-mcp-server",
"version": "0.1.0",
"description": "AX HUB MCP Server (Spring Boot 3.5.11 / Java 21)",
"purl": "pkg:maven/io.shinhanlife.dap.biz.mcp/ax-hub-mcp-server@0.1.0"
},
"properties": [
{
"name": "axhub:scope",
"value": "MCP Java SDK 2.0.0과 그 런타임 전이 의존, 그리고 빌드 환경"
},
{
"name": "axhub:source",
"value": "build.gradle + Gradle 로컬 캐시의 실제 pom/jar 판독"
}
]
},
"components": [
{
"type": "library",
"bom-ref": "pkg:maven/io.modelcontextprotocol.sdk/mcp-json-jackson2@2.0.0",
"name": "mcp-json-jackson2",
"version": "2.0.0",
"publisher": "Anthropic",
"description": "MCP JSON 직렬화 · JSON Schema 2020-12 검증 구현체",
"scope": "required",
"purl": "pkg:maven/io.modelcontextprotocol.sdk/mcp-json-jackson2@2.0.0",
"group": "io.modelcontextprotocol.sdk",
"hashes": [
{
"alg": "SHA-1",
"content": "2f9b7d72acb74d854589b7f22477aaaef4d84083"
},
{
"alg": "SHA-512",
"content": "58951bd4b1c5a385af5b146b5582bc457475e2933a220d2fd63c1aed4435d1fc6f585b068dc752170d58890bd4036947c82afa8686f872560c2d148d270654fe"
}
],
"licenses": [
{
"license": {
"id": "MIT",
"url": "https://opensource.org/licenses/MIT"
}
}
],
"externalReferences": [
{
"type": "website",
"url": "https://github.com/modelcontextprotocol/java-sdk"
}
],
"properties": [
{
"name": "axhub:dependencyPath",
"value": "직접 선언 (build.gradle implementation)"
},
{
"name": "axhub:note",
"value": "이 SBOM의 유일한 직접 선언 오픈소스"
}
]
},
{
"type": "library",
"bom-ref": "pkg:maven/io.modelcontextprotocol.sdk/mcp-core@2.0.0",
"name": "mcp-core",
"version": "2.0.0",
"publisher": "Anthropic",
"description": "MCP 표준 프로토콜 모델(McpSchema) · JSON-RPC 상수",
"scope": "required",
"purl": "pkg:maven/io.modelcontextprotocol.sdk/mcp-core@2.0.0",
"group": "io.modelcontextprotocol.sdk",
"hashes": [
{
"alg": "SHA-1",
"content": "fd49feda3b9e6914a46a56ccd4a8f70e35156898"
},
{
"alg": "SHA-512",
"content": "44dcf26bddfaa4757d7b2d765cd48745a0130fbc074ebb59565a03f66c92f387073d109c54fe62e1a68f3df71629928df973f6adc8abe75d4f5cf76b1d1f6f0b"
}
],
"licenses": [
{
"license": {
"id": "MIT",
"url": "https://opensource.org/licenses/MIT"
}
}
],
"externalReferences": [
{
"type": "website",
"url": "https://github.com/modelcontextprotocol/java-sdk"
}
],
"properties": [
{
"name": "axhub:dependencyPath",
"value": "전이 ← mcp-json-jackson2"
}
]
},
{
"type": "library",
"bom-ref": "pkg:maven/com.networknt/json-schema-validator@2.0.0",
"name": "json-schema-validator",
"version": "2.0.0",
"publisher": "Network New Technologies Inc.",
"description": "JSON Schema draft 2020-12 검증 엔진 (Tool inputSchema 검증)",
"scope": "required",
"purl": "pkg:maven/com.networknt/json-schema-validator@2.0.0",
"group": "com.networknt",
"hashes": [
{
"alg": "SHA-1",
"content": "bc7c4ddf322d1295e3c296f28a9966590e6dea20"
},
{
"alg": "SHA-512",
"content": "bc033e50c66e72ad89df6442532b614fc984386aad2da68daaa098d81ac5a4a82933d0783d3f1a0ed5fe80e3bca6091d72acf5d7dcadcb50c3153100edcf334b"
}
],
"licenses": [
{
"license": {
"id": "Apache-2.0",
"url": "https://www.apache.org/licenses/LICENSE-2.0"
}
}
],
"externalReferences": [
{
"type": "website",
"url": "https://github.com/networknt/json-schema-validator"
}
],
"properties": [
{
"name": "axhub:dependencyPath",
"value": "전이 ← mcp-json-jackson2"
},
{
"name": "axhub:note",
"value": "문서 밖 $ref 조회는 ToolSchemaReferencePolicy가 차단(ADR-0011). joni·graal-js 미해석으로 pattern 검증이 java.util.regex(백트래킹)로 처리되어, ToolSchemaPatternPolicy가 반복 구조·수량자 개수·maxLength를 제한하고 patternProperties를 금지한다(ADR-0012). 둘 다 ToolMetadata 생성 시점 검사"
}
]
},
{
"type": "library",
"bom-ref": "pkg:maven/com.ethlo.time/itu@1.14.0",
"name": "itu",
"version": "1.14.0",
"publisher": "ethlo (Morten Haraldsen)",
"description": "RFC 3339 date/date-time 파싱 — json-schema-validator의 format 구현용",
"scope": "required",
"purl": "pkg:maven/com.ethlo.time/itu@1.14.0",
"group": "com.ethlo.time",
"hashes": [
{
"alg": "SHA-1",
"content": "c0f9f9d4f4404787e992ab3af5ae95f2fad79e47"
},
{
"alg": "SHA-512",
"content": "aa69a6af3a7123eb41425bbaf6834e16dc3323172709e2338b8a21b970fd21333d996515f42da4aa0225251e30542ad7d9c8332bdf7d62ed96b42fadc8a1520d"
}
],
"licenses": [
{
"license": {
"id": "Apache-2.0",
"url": "https://www.apache.org/licenses/LICENSE-2.0"
}
}
],
"externalReferences": [
{
"type": "website",
"url": "https://github.com/ethlo/itu"
}
],
"properties": [
{
"name": "axhub:dependencyPath",
"value": "전이 ← json-schema-validator"
},
{
"name": "axhub:note",
"value": "SDK 검증기가 format을 단언하지 않아 런타임에 호출되지 않는다. classpath에는 포함되므로 수록"
}
]
},
{
"type": "library",
"bom-ref": "pkg:maven/com.fasterxml.jackson.dataformat/jackson-dataformat-yaml@2.19.4",
"name": "jackson-dataformat-yaml",
"version": "2.19.4",
"publisher": "FasterXML, LLC",
"description": "YAML 형식 schema 로딩 (validator 부가 기능)",
"scope": "required",
"purl": "pkg:maven/com.fasterxml.jackson.dataformat/jackson-dataformat-yaml@2.19.4",
"group": "com.fasterxml.jackson.dataformat",
"hashes": [
{
"alg": "SHA-1",
"content": "500956daea0869bf753b94fdaa77e5dc99847d79"
},
{
"alg": "SHA-512",
"content": "42cf2edacf2dea3c0616991a9a945c6e3e44dcb719918e76e6babae55601454397a1667bf75b7d55c74f96a7da7c0d9f60a0f4be60f84fd405fa31eb144f9b92"
}
],
"licenses": [
{
"license": {
"id": "Apache-2.0",
"url": "https://www.apache.org/licenses/LICENSE-2.0"
}
}
],
"externalReferences": [
{
"type": "website",
"url": "https://github.com/FasterXML/jackson-dataformats-text"
}
],
"properties": [
{
"name": "axhub:dependencyPath",
"value": "전이 ← json-schema-validator"
},
{
"name": "axhub:note",
"value": "Spring Boot 3.5.11 BOM이 2.19.4로 정렬"
}
]
},
{
"type": "library",
"bom-ref": "pkg:maven/io.projectreactor/reactor-core@3.7.16",
"name": "reactor-core",
"version": "3.7.16",
"publisher": "VMware (Project Reactor)",
"description": "mcp-core가 참조하는 리액티브 타입 제공",
"scope": "required",
"purl": "pkg:maven/io.projectreactor/reactor-core@3.7.16",
"group": "io.projectreactor",
"hashes": [
{
"alg": "SHA-1",
"content": "dc7f2ba3c4fbc69678937dfe1ad45264d8a1c7be"
},
{
"alg": "SHA-512",
"content": "f0313eedd03acee06e7e38a915ecb8060d6996ffafbd05afeff4c7cdeb239e022b65f8f721290e228d5c30180d069a417cb40c3f782b643508fa0b64d11de10f"
}
],
"licenses": [
{
"license": {
"id": "Apache-2.0",
"url": "https://www.apache.org/licenses/LICENSE-2.0"
}
}
],
"externalReferences": [
{
"type": "website",
"url": "https://github.com/reactor/reactor-core"
}
],
"properties": [
{
"name": "axhub:dependencyPath",
"value": "전이 ← mcp-core"
},
{
"name": "axhub:note",
"value": "pom 요청 3.7.0 → reactor-bom 2024.0.15의 3.7.16"
}
]
},
{
"type": "library",
"bom-ref": "pkg:maven/org.reactivestreams/reactive-streams@1.0.4",
"name": "reactive-streams",
"version": "1.0.4",
"publisher": "Reactive Streams SIG",
"description": "리액티브 스트림 표준 인터페이스",
"scope": "required",
"purl": "pkg:maven/org.reactivestreams/reactive-streams@1.0.4",
"group": "org.reactivestreams",
"hashes": [
{
"alg": "SHA-1",
"content": "3864a1320d97d7b045f729a326e1e077661f31b7"
},
{
"alg": "SHA-512",
"content": "cdab6bd156f39106cd6bbfd47df1f4b0a89dc4aa28c68c31ef12a463193c688897e415f01b8d7f0d487b0e6b5bd2f19044bf8605704b024f26d6aa1f4f9a2471"
}
],
"licenses": [
{
"license": {
"id": "MIT-0",
"url": "https://spdx.org/licenses/MIT-0.html"
}
}
],
"externalReferences": [
{
"type": "website",
"url": "http://www.reactive-streams.org/"
}
],
"properties": [
{
"name": "axhub:dependencyPath",
"value": "전이 ← reactor-core"
}
]
},
{
"type": "library",
"bom-ref": "pkg:maven/com.fasterxml.jackson.core/jackson-databind@2.19.4",
"name": "jackson-databind",
"version": "2.19.4",
"publisher": "FasterXML, LLC",
"description": "JSON 데이터 바인딩",
"scope": "required",
"purl": "pkg:maven/com.fasterxml.jackson.core/jackson-databind@2.19.4",
"group": "com.fasterxml.jackson.core",
"hashes": [
{
"alg": "SHA-1",
"content": "7a39bf9257b726b90b80f27fa3f5174bc75162a5"
},
{
"alg": "SHA-512",
"content": "02a80c97ea12874f66802cb2c8909e5358639b41050bd04da495c0ee8db496a0d9d609a3c62a1dca7cbd89681bf340d6f6dbc507d4f21602aa1a7f31b2285ba8"
}
],
"licenses": [
{
"license": {
"id": "Apache-2.0",
"url": "https://www.apache.org/licenses/LICENSE-2.0"
}
}
],
"externalReferences": [
{
"type": "website",
"url": "https://github.com/FasterXML/jackson-databind"
}
],
"properties": [
{
"name": "axhub:dependencyPath",
"value": "전이 ← mcp-json-jackson2, json-schema-validator"
},
{
"name": "axhub:note",
"value": "pom 요청 2.20.1 / 2.18.3 → Spring Boot 3.5.11 BOM의 2.19.4로 정렬"
}
]
},
{
"type": "library",
"bom-ref": "pkg:maven/com.fasterxml.jackson.core/jackson-core@2.19.4",
"name": "jackson-core",
"version": "2.19.4",
"publisher": "FasterXML, LLC",
"description": "JSON 스트리밍 파서/생성기",
"scope": "required",
"purl": "pkg:maven/com.fasterxml.jackson.core/jackson-core@2.19.4",
"group": "com.fasterxml.jackson.core",
"hashes": [
{
"alg": "SHA-1",
"content": "a720ca9b800742699e041c3890f3731fe516085e"
},
{
"alg": "SHA-512",
"content": "987de559d452fb78557c038a02289454cf1354985bdb79df1087c5bc33db35c9510ee6c1c1dd3816e220a86a35d19820a8c32176a7d4fc4e5d3c7e65df5536d4"
}
],
"licenses": [
{
"license": {
"id": "Apache-2.0",
"url": "https://www.apache.org/licenses/LICENSE-2.0"
}
}
],
"externalReferences": [
{
"type": "website",
"url": "https://github.com/FasterXML/jackson-core"
}
],
"properties": [
{
"name": "axhub:dependencyPath",
"value": "전이 ← jackson-databind"
}
]
},
{
"type": "library",
"bom-ref": "pkg:maven/com.fasterxml.jackson.core/jackson-annotations@2.19.4",
"name": "jackson-annotations",
"version": "2.19.4",
"publisher": "FasterXML, LLC",
"description": "JSON 바인딩 애노테이션",
"scope": "required",
"purl": "pkg:maven/com.fasterxml.jackson.core/jackson-annotations@2.19.4",
"group": "com.fasterxml.jackson.core",
"hashes": [
{
"alg": "SHA-1",
"content": "bbb09b1e7f7f5108890270eb701cb3ddef991c05"
},
{
"alg": "SHA-512",
"content": "22a2ce8150c380b9dc00bfbdd026f26e626f483e8ceebfbb2087e9abd63462781daf4e18ca09543a7d0eb7b5c5625f02332d3251e29c2abc6016d69a7194a565"
}
],
"licenses": [
{
"license": {
"id": "Apache-2.0",
"url": "https://www.apache.org/licenses/LICENSE-2.0"
}
}
],
"externalReferences": [
{
"type": "website",
"url": "https://github.com/FasterXML/jackson-annotations"
}
],
"properties": [
{
"name": "axhub:dependencyPath",
"value": "전이 ← mcp-core, jackson-databind"
}
]
},
{
"type": "library",
"bom-ref": "pkg:maven/org.slf4j/slf4j-api@2.0.17",
"name": "slf4j-api",
"version": "2.0.17",
"publisher": "QOS.ch",
"description": "로깅 파사드",
"scope": "required",
"purl": "pkg:maven/org.slf4j/slf4j-api@2.0.17",
"group": "org.slf4j",
"hashes": [
{
"alg": "SHA-1",
"content": "d9e58ac9c7779ba3bf8142aff6c830617a7fe60f"
},
{
"alg": "SHA-512",
"content": "9a3e79db6666a6096a3021bb2e1d918f30f589d8de51d6b600f8ebd92515a510ae2d8f87919cc2dfa8365d64f10194cac8dfa0fb950160eef0e9da06f6caaeb9"
}
],
"licenses": [
{
"license": {
"id": "MIT",
"url": "https://opensource.org/licenses/MIT"
}
}
],
"externalReferences": [
{
"type": "website",
"url": "https://www.slf4j.org/"
}
],
"properties": [
{
"name": "axhub:dependencyPath",
"value": "전이 ← mcp-core, json-schema-validator"
},
{
"name": "axhub:note",
"value": "pom 요청 2.0.16 → Spring Boot 3.5.11 BOM의 2.0.17로 정렬"
}
]
},
{
"type": "library",
"bom-ref": "pkg:maven/org.yaml/snakeyaml@2.4",
"name": "snakeyaml",
"version": "2.4",
"publisher": "SnakeYAML",
"description": "YAML 파서 (jackson-dataformat-yaml 백엔드)",
"scope": "required",
"purl": "pkg:maven/org.yaml/snakeyaml@2.4",
"group": "org.yaml",
"hashes": [
{
"alg": "SHA-1",
"content": "e0666b825b796f85521f02360e77f4c92c5a7a07"
},
{
"alg": "SHA-512",
"content": "1573717e2c47868515cbed5265a6f77ebec23a0b5c6376ac18b9f5c2335beb65d4c68d2073d50143d59a60141980be8db1e493a85d7c78106cdb94a52e8361d2"
}
],
"licenses": [
{
"license": {
"id": "Apache-2.0",
"url": "https://www.apache.org/licenses/LICENSE-2.0"
}
}
],
"externalReferences": [
{
"type": "website",
"url": "https://bitbucket.org/snakeyaml/snakeyaml"
}
],
"properties": [
{
"name": "axhub:dependencyPath",
"value": "전이 ← jackson-dataformat-yaml"
}
]
},
{
"type": "platform",
"bom-ref": "pkg:generic/jdk@21",
"name": "jdk",
"version": "21",
"publisher": "미지정 (toolchain languageVersion=21)",
"description": "언어/실행 환경 — Java 21 toolchain",
"scope": "optional",
"purl": "pkg:generic/jdk@21",
"licenses": [
{
"license": {
"name": "벤더별 상이 (GPL-2.0-with-classpath-exception 등)"
}
}
],
"externalReferences": [
{
"type": "website",
"url": "https://openjdk.org/projects/jdk/21/"
}
],
"properties": [
{
"name": "axhub:dependencyPath",
"value": "build.gradle java.toolchain"
},
{
"name": "axhub:note",
"value": "벤더가 고정돼 있지 않아 라이선스는 실제 배포판 확정 후 기재"
}
]
},
{
"type": "application",
"bom-ref": "pkg:generic/gradle@8.14.3",
"name": "gradle",
"version": "8.14.3",
"publisher": "Gradle Inc.",
"description": "빌드 도구 (gradle wrapper 고정)",
"scope": "optional",
"purl": "pkg:generic/gradle@8.14.3",
"hashes": [
{
"alg": "SHA-256",
"content": "bd71102213493060956ec229d946beee57158dbd89d0e62b91bca0fa2c5f3531"
}
],
"licenses": [
{
"license": {
"id": "Apache-2.0",
"url": "https://www.apache.org/licenses/LICENSE-2.0"
}
}
],
"externalReferences": [
{
"type": "website",
"url": "https://gradle.org/"
}
],
"properties": [
{
"name": "axhub:dependencyPath",
"value": "gradle/wrapper/gradle-wrapper.properties"
},
{
"name": "axhub:note",
"value": "SHA-256은 wrapper의 distributionSha256Sum 값"
}
]
}
],
"dependencies": [
{
"ref": "pkg:maven/io.shinhanlife.dap.biz.mcp/ax-hub-mcp-server@0.1.0",
"dependsOn": [
"pkg:maven/io.modelcontextprotocol.sdk/mcp-json-jackson2@2.0.0"
]
},
{
"ref": "pkg:maven/io.modelcontextprotocol.sdk/mcp-json-jackson2@2.0.0",
"dependsOn": [
"pkg:maven/io.modelcontextprotocol.sdk/mcp-core@2.0.0",
"pkg:maven/com.networknt/json-schema-validator@2.0.0",
"pkg:maven/com.fasterxml.jackson.core/jackson-databind@2.19.4"
]
},
{
"ref": "pkg:maven/io.modelcontextprotocol.sdk/mcp-core@2.0.0",
"dependsOn": [
"pkg:maven/io.projectreactor/reactor-core@3.7.16",
"pkg:maven/com.fasterxml.jackson.core/jackson-annotations@2.19.4",
"pkg:maven/org.slf4j/slf4j-api@2.0.17"
]
},
{
"ref": "pkg:maven/com.networknt/json-schema-validator@2.0.0",
"dependsOn": [
"pkg:maven/com.ethlo.time/itu@1.14.0",
"pkg:maven/com.fasterxml.jackson.core/jackson-databind@2.19.4",
"pkg:maven/com.fasterxml.jackson.dataformat/jackson-dataformat-yaml@2.19.4",
"pkg:maven/org.slf4j/slf4j-api@2.0.17"
]
},
{
"ref": "pkg:maven/com.ethlo.time/itu@1.14.0",
"dependsOn": []
},
{
"ref": "pkg:maven/com.fasterxml.jackson.dataformat/jackson-dataformat-yaml@2.19.4",
"dependsOn": [
"pkg:maven/com.fasterxml.jackson.core/jackson-databind@2.19.4",
"pkg:maven/org.yaml/snakeyaml@2.4"
]
},
{
"ref": "pkg:maven/io.projectreactor/reactor-core@3.7.16",
"dependsOn": [
"pkg:maven/org.reactivestreams/reactive-streams@1.0.4"
]
},
{
"ref": "pkg:maven/org.reactivestreams/reactive-streams@1.0.4",
"dependsOn": []
},
{
"ref": "pkg:maven/com.fasterxml.jackson.core/jackson-databind@2.19.4",
"dependsOn": [
"pkg:maven/com.fasterxml.jackson.core/jackson-core@2.19.4",
"pkg:maven/com.fasterxml.jackson.core/jackson-annotations@2.19.4"
]
},
{
"ref": "pkg:maven/com.fasterxml.jackson.core/jackson-core@2.19.4",
"dependsOn": []
},
{
"ref": "pkg:maven/com.fasterxml.jackson.core/jackson-annotations@2.19.4",
"dependsOn": []
},
{
"ref": "pkg:maven/org.slf4j/slf4j-api@2.0.17",
"dependsOn": []
},
{
"ref": "pkg:maven/org.yaml/snakeyaml@2.4",
"dependsOn": []
},
{
"ref": "pkg:generic/jdk@21",
"dependsOn": []
},
{
"ref": "pkg:generic/gradle@8.14.3",
"dependsOn": []
}
]
}