feat: integrate ghidra-cli v0.1
This commit is contained in:
commit
ffab80a1f2
52 changed files with 6689 additions and 126 deletions
|
|
@ -6,7 +6,7 @@
|
|||
"properties": {
|
||||
"data": {
|
||||
"description": "Operation-specific result.",
|
||||
"$ref": "#/$defs/DoctorData"
|
||||
"$ref": "#/$defs/InlineOrArtifact"
|
||||
},
|
||||
"kind": {
|
||||
"type": "string",
|
||||
|
|
@ -36,6 +36,34 @@
|
|||
"warnings"
|
||||
],
|
||||
"$defs": {
|
||||
"AnalysisStoreComponent": {
|
||||
"description": "Diagnosed Analysis Store.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"path": {
|
||||
"description": "Resolved absolute store path.",
|
||||
"$ref": "#/$defs/TaggedPath"
|
||||
},
|
||||
"source": {
|
||||
"description": "Resolution precedence source.",
|
||||
"$ref": "#/$defs/StoreSource"
|
||||
},
|
||||
"status": {
|
||||
"description": "Stable readiness classification.",
|
||||
"$ref": "#/$defs/ComponentStatus"
|
||||
},
|
||||
"usage": {
|
||||
"description": "Complete non-following store usage scan.",
|
||||
"$ref": "#/$defs/StorageUsage"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"status",
|
||||
"path",
|
||||
"source",
|
||||
"usage"
|
||||
]
|
||||
},
|
||||
"AnalysisStoreProvenance": {
|
||||
"description": "Analysis Store provenance.",
|
||||
"type": "object",
|
||||
|
|
@ -54,23 +82,39 @@
|
|||
"source"
|
||||
]
|
||||
},
|
||||
"ComponentReport": {
|
||||
"description": "One diagnosed component.",
|
||||
"ArtifactDescriptor": {
|
||||
"description": "Artifact descriptor returned instead of oversized inline data.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"details": {
|
||||
"description": "Component-specific facts.",
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
"bytes": {
|
||||
"description": "Exact file bytes including trailing LF.",
|
||||
"type": "integer",
|
||||
"format": "uint64",
|
||||
"minimum": 0
|
||||
},
|
||||
"status": {
|
||||
"description": "Stable readiness classification.",
|
||||
"$ref": "#/$defs/ComponentStatus"
|
||||
"contains": {
|
||||
"description": "Always `complete_success_response`.",
|
||||
"type": "string"
|
||||
},
|
||||
"media_type": {
|
||||
"description": "Always `application/json`.",
|
||||
"type": "string"
|
||||
},
|
||||
"path": {
|
||||
"description": "Tagged absolute Artifact path.",
|
||||
"$ref": "#/$defs/TaggedPath"
|
||||
},
|
||||
"sha256": {
|
||||
"description": "SHA-256 of exact file bytes.",
|
||||
"$ref": "#/$defs/Digest"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"status",
|
||||
"details"
|
||||
"path",
|
||||
"bytes",
|
||||
"sha256",
|
||||
"media_type",
|
||||
"contains"
|
||||
]
|
||||
},
|
||||
"ComponentStatus": {
|
||||
|
|
@ -103,16 +147,45 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
"Digest": {
|
||||
"description": "A lowercase SHA-256 digest.",
|
||||
"type": "string"
|
||||
},
|
||||
"DoctorComponents": {
|
||||
"description": "Fixed installation components checked safely by `doctor`.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"analysis_store": {
|
||||
"description": "Analysis Store.",
|
||||
"$ref": "#/$defs/AnalysisStoreComponent"
|
||||
},
|
||||
"ghidra": {
|
||||
"description": "Ghidra launcher and adapter.",
|
||||
"$ref": "#/$defs/GhidraComponent"
|
||||
},
|
||||
"java": {
|
||||
"description": "Java runtime.",
|
||||
"$ref": "#/$defs/JavaComponent"
|
||||
},
|
||||
"sandbox": {
|
||||
"description": "Worker isolation backend.",
|
||||
"$ref": "#/$defs/SandboxComponent"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"ghidra",
|
||||
"java",
|
||||
"analysis_store",
|
||||
"sandbox"
|
||||
]
|
||||
},
|
||||
"DoctorData": {
|
||||
"description": "Installation diagnosis data.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"components": {
|
||||
"description": "Typed component reports keyed by stable component name.",
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"$ref": "#/$defs/ComponentReport"
|
||||
}
|
||||
"description": "Complete fixed component report.",
|
||||
"$ref": "#/$defs/DoctorComponents"
|
||||
},
|
||||
"ready": {
|
||||
"description": "True only when every required component is ready.",
|
||||
|
|
@ -124,6 +197,81 @@
|
|||
"components"
|
||||
]
|
||||
},
|
||||
"GhidraComponent": {
|
||||
"description": "Diagnosed Ghidra installation.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"launcher": {
|
||||
"description": "Configured official launcher.",
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/$defs/TaggedPath"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
]
|
||||
},
|
||||
"status": {
|
||||
"description": "Stable readiness classification.",
|
||||
"$ref": "#/$defs/ComponentStatus"
|
||||
},
|
||||
"version": {
|
||||
"description": "Observed version when the probe ran.",
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"status"
|
||||
]
|
||||
},
|
||||
"InlineOrArtifact": {
|
||||
"description": "Successful command data emitted inline or represented by a complete Artifact.",
|
||||
"anyOf": [
|
||||
{
|
||||
"description": "Complete command-specific data.",
|
||||
"$ref": "#/$defs/DoctorData"
|
||||
},
|
||||
{
|
||||
"description": "Bounded descriptor for the complete stored success response.",
|
||||
"$ref": "#/$defs/SpilledData"
|
||||
}
|
||||
]
|
||||
},
|
||||
"JavaComponent": {
|
||||
"description": "Diagnosed Java installation.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"executable": {
|
||||
"description": "Configured Java executable.",
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/$defs/TaggedPath"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
]
|
||||
},
|
||||
"status": {
|
||||
"description": "Stable readiness classification.",
|
||||
"$ref": "#/$defs/ComponentStatus"
|
||||
},
|
||||
"version": {
|
||||
"description": "Observed feature version.",
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"status"
|
||||
]
|
||||
},
|
||||
"SandboxBackend": {
|
||||
"description": "Sandbox backend.",
|
||||
"oneOf": [
|
||||
|
|
@ -144,6 +292,29 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
"SandboxComponent": {
|
||||
"description": "Diagnosed sandbox backend.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"backend": {
|
||||
"description": "Explicit selected backend.",
|
||||
"$ref": "#/$defs/SandboxBackend"
|
||||
},
|
||||
"status": {
|
||||
"description": "Stable readiness classification.",
|
||||
"$ref": "#/$defs/ComponentStatus"
|
||||
},
|
||||
"verification": {
|
||||
"description": "Verification state.",
|
||||
"$ref": "#/$defs/SandboxVerification"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"status",
|
||||
"backend",
|
||||
"verification"
|
||||
]
|
||||
},
|
||||
"SandboxProvenance": {
|
||||
"description": "Worker sandbox provenance.",
|
||||
"type": "object",
|
||||
|
|
@ -182,6 +353,46 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
"SpilledData": {
|
||||
"description": "Public data shape returned when a complete success exceeds the inline byte budget.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"artifact": {
|
||||
"description": "Immutable complete-success Artifact.",
|
||||
"$ref": "#/$defs/ArtifactDescriptor"
|
||||
},
|
||||
"spilled": {
|
||||
"description": "Always true for this variant.",
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"spilled",
|
||||
"artifact"
|
||||
]
|
||||
},
|
||||
"StorageUsage": {
|
||||
"description": "Filesystem usage represented without implying freed space.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"allocated_bytes": {
|
||||
"description": "Sum of Linux allocated blocks including directories.",
|
||||
"type": "integer",
|
||||
"format": "uint64",
|
||||
"minimum": 0
|
||||
},
|
||||
"logical_bytes": {
|
||||
"description": "Sum of file lengths.",
|
||||
"type": "integer",
|
||||
"format": "uint64",
|
||||
"minimum": 0
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"logical_bytes",
|
||||
"allocated_bytes"
|
||||
]
|
||||
},
|
||||
"StoreSource": {
|
||||
"description": "Analysis Store resolution source.",
|
||||
"oneOf": [
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue