hackmyagent 0.9.9 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -2
- package/dist/cli.js +177 -8
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -3
- package/dist/index.js.map +1 -1
- package/dist/registry/client.d.ts +49 -0
- package/dist/registry/client.d.ts.map +1 -1
- package/dist/registry/client.js +33 -0
- package/dist/registry/client.js.map +1 -1
- package/dist/registry/index.d.ts +2 -0
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js +8 -1
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/publish.d.ts +77 -0
- package/dist/registry/publish.d.ts.map +1 -0
- package/dist/registry/publish.js +310 -0
- package/dist/registry/publish.js.map +1 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
* Unified security toolkit for AI agents.
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.
|
|
8
|
-
exports.Scanner = exports.DOMAIN_TEMPLATES = exports.PROFILE_DOMAINS = exports.GOVERNANCE_FILES = exports.DOMAIN_ORDER = exports.CONTROL_DEFS = exports.SoulScanner = exports.AgentRuntimeProtection = exports.createSkillguardPlugin = exports.createSigncryptPlugin = exports.createCredVaultPlugin = void 0;
|
|
7
|
+
exports.CostEstimator = exports.SEMANTIC_OASB_MAPPINGS = exports.toSecurityFindings = exports.toSecurityFinding = exports.BudgetTracker = exports.LLMCache = exports.AnthropicClient = exports.LLMAnalyzer = exports.PermissionModelAnalyzer = exports.InstructionAnalyzer = exports.McpConfigAnalyzer = exports.CredentialContextAnalyzer = exports.StructuralAnalyzer = exports.formatPublishOutput = exports.publishScanResults = exports.buildPublishPayload = exports.signPayload = exports.readAgentKeypair = exports.buildCommunityAttackReport = exports.buildCommunityReport = exports.buildAttackReport = exports.buildScanReport = exports.RegistryClient = exports.isValidBenchmark = exports.AVAILABLE_BENCHMARKS = exports.calculateRating = exports.getCheckIdsForLevel = exports.getControlsForCategory = exports.getControlsForLevel = exports.OASB_1_NAME = exports.OASB_1_VERSION = exports.OASB_1_CATEGORIES = exports.A2A_ATTACK_PAYLOADS = exports.MCP_EXPLOITATION_PAYLOADS = exports.shouldFail = exports.parseCustomPayloads = exports.getPayloadsByIntensity = exports.getPayloadsByCategory = exports.getPayloadById = exports.getPayloads = exports.PAYLOAD_STATS = exports.ALL_PAYLOADS = exports.ATTACK_CATEGORIES = exports.AttackScanner = exports.ExternalScanner = exports.HardeningScanner = exports.analyzePermissions = exports.parseSkillIdentifier = exports.checkSkill = exports.VERSION = void 0;
|
|
8
|
+
exports.Scanner = exports.DOMAIN_TEMPLATES = exports.PROFILE_DOMAINS = exports.GOVERNANCE_FILES = exports.DOMAIN_ORDER = exports.CONTROL_DEFS = exports.SoulScanner = exports.AgentRuntimeProtection = exports.createSkillguardPlugin = exports.createSigncryptPlugin = exports.createCredVaultPlugin = exports.clearRegistry = exports.listPlugins = exports.getPlugin = exports.registerPlugin = exports.buildDeepScanResult = void 0;
|
|
9
9
|
exports.createScanner = createScanner;
|
|
10
|
-
exports.VERSION = '0.
|
|
10
|
+
exports.VERSION = '0.10.0';
|
|
11
11
|
// Checker module
|
|
12
12
|
var checker_1 = require("./checker");
|
|
13
13
|
Object.defineProperty(exports, "checkSkill", { enumerable: true, get: function () { return checker_1.checkSkill; } });
|
|
@@ -52,6 +52,12 @@ Object.defineProperty(exports, "buildScanReport", { enumerable: true, get: funct
|
|
|
52
52
|
Object.defineProperty(exports, "buildAttackReport", { enumerable: true, get: function () { return registry_1.buildAttackReport; } });
|
|
53
53
|
Object.defineProperty(exports, "buildCommunityReport", { enumerable: true, get: function () { return registry_1.buildCommunityReport; } });
|
|
54
54
|
Object.defineProperty(exports, "buildCommunityAttackReport", { enumerable: true, get: function () { return registry_1.buildCommunityAttackReport; } });
|
|
55
|
+
// ATP Publish flow
|
|
56
|
+
Object.defineProperty(exports, "readAgentKeypair", { enumerable: true, get: function () { return registry_1.readAgentKeypair; } });
|
|
57
|
+
Object.defineProperty(exports, "signPayload", { enumerable: true, get: function () { return registry_1.signPayload; } });
|
|
58
|
+
Object.defineProperty(exports, "buildPublishPayload", { enumerable: true, get: function () { return registry_1.buildPublishPayload; } });
|
|
59
|
+
Object.defineProperty(exports, "publishScanResults", { enumerable: true, get: function () { return registry_1.publishScanResults; } });
|
|
60
|
+
Object.defineProperty(exports, "formatPublishOutput", { enumerable: true, get: function () { return registry_1.formatPublishOutput; } });
|
|
55
61
|
// Semantic engine (Layer 2 + Layer 3 analysis)
|
|
56
62
|
var semantic_1 = require("./semantic");
|
|
57
63
|
Object.defineProperty(exports, "StructuralAnalyzer", { enumerable: true, get: function () { return semantic_1.StructuralAnalyzer; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,30 @@ export interface ScanReportPayload {
|
|
|
22
22
|
behavioralFindings: BehavioralFinding[];
|
|
23
23
|
behavioralScore: number;
|
|
24
24
|
rawReport: Record<string, unknown>;
|
|
25
|
+
/** OASB benchmark compliance percentage (0-100) */
|
|
26
|
+
oasbCompliance?: number;
|
|
27
|
+
/** OASB benchmark rating */
|
|
28
|
+
oasbRating?: string;
|
|
29
|
+
/** OASB L1 compliance percentage */
|
|
30
|
+
oasbL1?: number;
|
|
31
|
+
/** OASB L2 compliance percentage */
|
|
32
|
+
oasbL2?: number;
|
|
33
|
+
/** OASB L3 compliance percentage */
|
|
34
|
+
oasbL3?: number;
|
|
35
|
+
/** SOUL governance score (0-100) */
|
|
36
|
+
soulScore?: number;
|
|
37
|
+
/** SOUL conformance level */
|
|
38
|
+
soulConformance?: string;
|
|
39
|
+
/** SOUL agent tier */
|
|
40
|
+
soulAgentTier?: string;
|
|
41
|
+
/** Attack risk score (0-100) */
|
|
42
|
+
attackRiskScore?: number;
|
|
43
|
+
/** Attack risk rating */
|
|
44
|
+
attackRiskRating?: string;
|
|
45
|
+
/** Total attack payloads tested */
|
|
46
|
+
attackTotal?: number;
|
|
47
|
+
/** Number of successful attacks */
|
|
48
|
+
attackSucceeded?: number;
|
|
25
49
|
}
|
|
26
50
|
interface VulnerabilityFinding {
|
|
27
51
|
id: string;
|
|
@@ -98,6 +122,31 @@ export declare class RegistryClient {
|
|
|
98
122
|
* Look up package info from registry.
|
|
99
123
|
*/
|
|
100
124
|
getPackage(publisherName: string, packageType: string, name: string): Promise<RegistryPackage | null>;
|
|
125
|
+
/**
|
|
126
|
+
* Post scan results as a claimed agent via ATP --publish flow.
|
|
127
|
+
* Uses Ed25519 signature for authentication.
|
|
128
|
+
* Returns the scan ID and profile URL on success.
|
|
129
|
+
*/
|
|
130
|
+
reportPublishResult(payload: CommunityScanPayload & {
|
|
131
|
+
oasbCompliance?: number;
|
|
132
|
+
oasbRating?: string;
|
|
133
|
+
oasbL1?: number;
|
|
134
|
+
oasbL2?: number;
|
|
135
|
+
oasbL3?: number;
|
|
136
|
+
soulScore?: number;
|
|
137
|
+
soulConformance?: string;
|
|
138
|
+
soulAgentTier?: string;
|
|
139
|
+
attackRiskScore?: number;
|
|
140
|
+
attackRiskRating?: string;
|
|
141
|
+
attackTotal?: number;
|
|
142
|
+
attackSucceeded?: number;
|
|
143
|
+
signature?: string;
|
|
144
|
+
publicKey?: string;
|
|
145
|
+
}): Promise<{
|
|
146
|
+
scanId: string;
|
|
147
|
+
profileUrl: string;
|
|
148
|
+
status: string;
|
|
149
|
+
}>;
|
|
101
150
|
}
|
|
102
151
|
/**
|
|
103
152
|
* Build a ScanReportPayload from HMA hardening scan results.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/registry/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAY,MAAM,cAAc,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAG9C,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,oBAAoB,EAAE,CAAC;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/registry/client.ts"],"names":[],"mappings":"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"}
|
package/dist/registry/client.js
CHANGED
|
@@ -127,6 +127,39 @@ class RegistryClient {
|
|
|
127
127
|
}
|
|
128
128
|
return response.json();
|
|
129
129
|
}
|
|
130
|
+
/**
|
|
131
|
+
* Post scan results as a claimed agent via ATP --publish flow.
|
|
132
|
+
* Uses Ed25519 signature for authentication.
|
|
133
|
+
* Returns the scan ID and profile URL on success.
|
|
134
|
+
*/
|
|
135
|
+
async reportPublishResult(payload) {
|
|
136
|
+
const url = `${this.config.registryUrl}/api/v1/registry/community/scan-result`;
|
|
137
|
+
const headers = {
|
|
138
|
+
'Content-Type': 'application/json',
|
|
139
|
+
'User-Agent': 'HackMyAgent-CLI/ATP-Publish',
|
|
140
|
+
};
|
|
141
|
+
if (payload.signature) {
|
|
142
|
+
headers['X-Agent-Signature'] = payload.signature;
|
|
143
|
+
}
|
|
144
|
+
if (payload.publicKey) {
|
|
145
|
+
headers['X-Agent-Public-Key'] = payload.publicKey;
|
|
146
|
+
}
|
|
147
|
+
const response = await fetch(url, {
|
|
148
|
+
method: 'POST',
|
|
149
|
+
headers,
|
|
150
|
+
body: JSON.stringify(payload),
|
|
151
|
+
});
|
|
152
|
+
if (!response.ok) {
|
|
153
|
+
const body = await response.text().catch(() => '');
|
|
154
|
+
throw new Error(`Registry publish failed (${response.status}): ${body}`);
|
|
155
|
+
}
|
|
156
|
+
const result = await response.json();
|
|
157
|
+
return {
|
|
158
|
+
scanId: result.scanId || payload.scanId,
|
|
159
|
+
profileUrl: result.profileUrl || `${this.config.registryUrl}/agents/${payload.packageName}`,
|
|
160
|
+
status: result.status || 'accepted',
|
|
161
|
+
};
|
|
162
|
+
}
|
|
130
163
|
}
|
|
131
164
|
exports.RegistryClient = RegistryClient;
|
|
132
165
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/registry/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/registry/client.ts"],"names":[],"mappings":"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"}
|
package/dist/registry/index.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
export { RegistryClient, buildScanReport, buildAttackReport, buildCommunityReport, buildCommunityAttackReport, } from './client';
|
|
2
2
|
export type { RegistryConfig, RegistryPackage, ScanReportPayload, CommunityScanPayload, } from './client';
|
|
3
|
+
export { readAgentKeypair, signPayload, buildPublishPayload, publishScanResults, formatPublishOutput, } from './publish';
|
|
4
|
+
export type { AgentKeypair, PublishScanData, PublishResult, } from './publish';
|
|
3
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,UAAU,CAAC;AAElB,YAAY,EACV,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,UAAU,CAAC;AAElB,YAAY,EACV,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AAEnB,YAAY,EACV,YAAY,EACZ,eAAe,EACf,aAAa,GACd,MAAM,WAAW,CAAC"}
|
package/dist/registry/index.js
CHANGED
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.buildCommunityAttackReport = exports.buildCommunityReport = exports.buildAttackReport = exports.buildScanReport = exports.RegistryClient = void 0;
|
|
3
|
+
exports.formatPublishOutput = exports.publishScanResults = exports.buildPublishPayload = exports.signPayload = exports.readAgentKeypair = exports.buildCommunityAttackReport = exports.buildCommunityReport = exports.buildAttackReport = exports.buildScanReport = exports.RegistryClient = void 0;
|
|
4
4
|
var client_1 = require("./client");
|
|
5
5
|
Object.defineProperty(exports, "RegistryClient", { enumerable: true, get: function () { return client_1.RegistryClient; } });
|
|
6
6
|
Object.defineProperty(exports, "buildScanReport", { enumerable: true, get: function () { return client_1.buildScanReport; } });
|
|
7
7
|
Object.defineProperty(exports, "buildAttackReport", { enumerable: true, get: function () { return client_1.buildAttackReport; } });
|
|
8
8
|
Object.defineProperty(exports, "buildCommunityReport", { enumerable: true, get: function () { return client_1.buildCommunityReport; } });
|
|
9
9
|
Object.defineProperty(exports, "buildCommunityAttackReport", { enumerable: true, get: function () { return client_1.buildCommunityAttackReport; } });
|
|
10
|
+
// ATP Publish flow
|
|
11
|
+
var publish_1 = require("./publish");
|
|
12
|
+
Object.defineProperty(exports, "readAgentKeypair", { enumerable: true, get: function () { return publish_1.readAgentKeypair; } });
|
|
13
|
+
Object.defineProperty(exports, "signPayload", { enumerable: true, get: function () { return publish_1.signPayload; } });
|
|
14
|
+
Object.defineProperty(exports, "buildPublishPayload", { enumerable: true, get: function () { return publish_1.buildPublishPayload; } });
|
|
15
|
+
Object.defineProperty(exports, "publishScanResults", { enumerable: true, get: function () { return publish_1.publishScanResults; } });
|
|
16
|
+
Object.defineProperty(exports, "formatPublishOutput", { enumerable: true, get: function () { return publish_1.formatPublishOutput; } });
|
|
10
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":";;;AAAA,mCAMkB;AALhB,wGAAA,cAAc,OAAA;AACd,yGAAA,eAAe,OAAA;AACf,2GAAA,iBAAiB,OAAA;AACjB,8GAAA,oBAAoB,OAAA;AACpB,oHAAA,0BAA0B,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":";;;AAAA,mCAMkB;AALhB,wGAAA,cAAc,OAAA;AACd,yGAAA,eAAe,OAAA;AACf,2GAAA,iBAAiB,OAAA;AACjB,8GAAA,oBAAoB,OAAA;AACpB,oHAAA,0BAA0B,OAAA;AAU5B,mBAAmB;AACnB,qCAMmB;AALjB,2GAAA,gBAAgB,OAAA;AAChB,sGAAA,WAAW,OAAA;AACX,8GAAA,mBAAmB,OAAA;AACnB,6GAAA,kBAAkB,OAAA;AAClB,8GAAA,mBAAmB,OAAA"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ATP Publish Flow — Push scan results to the OpenA2A Registry.
|
|
3
|
+
*
|
|
4
|
+
* Supports two paths:
|
|
5
|
+
* 1. Claimed agent: reads Ed25519 keypair from ~/.opena2a/keys/, signs payload, full weight (1.0x)
|
|
6
|
+
* 2. Community fallback: no auth, results have lower weight (0.5x)
|
|
7
|
+
*
|
|
8
|
+
* Used by the --publish flag on secure, attack, and scan-soul commands.
|
|
9
|
+
*/
|
|
10
|
+
import type { SecurityFinding } from '../hardening';
|
|
11
|
+
import type { AttackReport } from '../attack';
|
|
12
|
+
import type { SoulScanResult } from '../soul';
|
|
13
|
+
import type { BenchmarkResult } from '../benchmarks';
|
|
14
|
+
import { type CommunityScanPayload } from './client';
|
|
15
|
+
/** Result of reading a keypair from ~/.opena2a/keys/ */
|
|
16
|
+
export interface AgentKeypair {
|
|
17
|
+
publicKey: string;
|
|
18
|
+
privateKey: string;
|
|
19
|
+
agentId?: string;
|
|
20
|
+
}
|
|
21
|
+
/** Composite scan data collected from all scan types for publishing */
|
|
22
|
+
export interface PublishScanData {
|
|
23
|
+
packageName: string;
|
|
24
|
+
packageVersion?: string;
|
|
25
|
+
packageType?: string;
|
|
26
|
+
directory: string;
|
|
27
|
+
/** Hardening scan findings (from `secure` command) */
|
|
28
|
+
hardeningFindings?: SecurityFinding[];
|
|
29
|
+
/** Attack scan report (from `attack` command) */
|
|
30
|
+
attackReport?: AttackReport;
|
|
31
|
+
/** SOUL governance scan result (from `scan-soul` command) */
|
|
32
|
+
soulResult?: SoulScanResult;
|
|
33
|
+
/** OASB benchmark result (from `secure -b oasb-1`) */
|
|
34
|
+
oasbResult?: BenchmarkResult;
|
|
35
|
+
}
|
|
36
|
+
/** Result returned after publishing to registry */
|
|
37
|
+
export interface PublishResult {
|
|
38
|
+
success: boolean;
|
|
39
|
+
scanId: string;
|
|
40
|
+
profileUrl: string;
|
|
41
|
+
status: string;
|
|
42
|
+
isCommunity: boolean;
|
|
43
|
+
error?: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Read the agent's Ed25519 keypair from ~/.opena2a/keys/.
|
|
47
|
+
* Returns null if no keypair exists (agent not claimed).
|
|
48
|
+
*
|
|
49
|
+
* The keys directory can be overridden via OPENA2A_HOME env var
|
|
50
|
+
* (defaults to ~/.opena2a).
|
|
51
|
+
*/
|
|
52
|
+
export declare function readAgentKeypair(): AgentKeypair | null;
|
|
53
|
+
/**
|
|
54
|
+
* Sign a payload string with the agent's Ed25519 private key.
|
|
55
|
+
* Returns the base64-encoded signature, or null if signing fails.
|
|
56
|
+
*/
|
|
57
|
+
export declare function signPayload(payload: string, privateKeyPem: string): string | null;
|
|
58
|
+
/**
|
|
59
|
+
* Build a unified publish payload from scan data.
|
|
60
|
+
* Combines results from hardening, attack, SOUL, and OASB scans.
|
|
61
|
+
*/
|
|
62
|
+
export declare function buildPublishPayload(data: PublishScanData): CommunityScanPayload & Record<string, unknown>;
|
|
63
|
+
/**
|
|
64
|
+
* Publish scan results to the OpenA2A Registry.
|
|
65
|
+
*
|
|
66
|
+
* Flow:
|
|
67
|
+
* 1. Read keypair from ~/.opena2a/keys/ (if claimed)
|
|
68
|
+
* 2. Build unified payload from scan data
|
|
69
|
+
* 3. Sign payload if keypair exists
|
|
70
|
+
* 4. POST to registry (claimed or community path)
|
|
71
|
+
*/
|
|
72
|
+
export declare function publishScanResults(data: PublishScanData, registryUrl: string): Promise<PublishResult>;
|
|
73
|
+
/**
|
|
74
|
+
* Format the publish result for terminal output.
|
|
75
|
+
*/
|
|
76
|
+
export declare function formatPublishOutput(result: PublishResult, data: PublishScanData, registryUrl: string): string;
|
|
77
|
+
//# sourceMappingURL=publish.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/registry/publish.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAY,MAAM,cAAc,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAkB,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAErE,wDAAwD;AACxD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,uEAAuE;AACvE,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC;IACtC,iDAAiD;IACjD,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,6DAA6D;IAC7D,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,sDAAsD;IACtD,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,mDAAmD;AACnD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,YAAY,GAAG,IAAI,CA8BtD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASjF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,eAAe,GAAG,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA2JzG;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,eAAe,EACrB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,aAAa,CAAC,CA6CxB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,eAAe,EACrB,WAAW,EAAE,MAAM,GAClB,MAAM,CA4CR"}
|
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ATP Publish Flow — Push scan results to the OpenA2A Registry.
|
|
4
|
+
*
|
|
5
|
+
* Supports two paths:
|
|
6
|
+
* 1. Claimed agent: reads Ed25519 keypair from ~/.opena2a/keys/, signs payload, full weight (1.0x)
|
|
7
|
+
* 2. Community fallback: no auth, results have lower weight (0.5x)
|
|
8
|
+
*
|
|
9
|
+
* Used by the --publish flag on secure, attack, and scan-soul commands.
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.readAgentKeypair = readAgentKeypair;
|
|
13
|
+
exports.signPayload = signPayload;
|
|
14
|
+
exports.buildPublishPayload = buildPublishPayload;
|
|
15
|
+
exports.publishScanResults = publishScanResults;
|
|
16
|
+
exports.formatPublishOutput = formatPublishOutput;
|
|
17
|
+
const crypto_1 = require("crypto");
|
|
18
|
+
const client_1 = require("./client");
|
|
19
|
+
/**
|
|
20
|
+
* Read the agent's Ed25519 keypair from ~/.opena2a/keys/.
|
|
21
|
+
* Returns null if no keypair exists (agent not claimed).
|
|
22
|
+
*
|
|
23
|
+
* The keys directory can be overridden via OPENA2A_HOME env var
|
|
24
|
+
* (defaults to ~/.opena2a).
|
|
25
|
+
*/
|
|
26
|
+
function readAgentKeypair() {
|
|
27
|
+
try {
|
|
28
|
+
const fs = require('fs');
|
|
29
|
+
const path = require('path');
|
|
30
|
+
const os = require('os');
|
|
31
|
+
const opena2aHome = process.env.OPENA2A_HOME || path.join(os.homedir(), '.opena2a');
|
|
32
|
+
const keysDir = path.join(opena2aHome, 'keys');
|
|
33
|
+
if (!fs.existsSync(keysDir)) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
const pubKeyPath = path.join(keysDir, 'agent.pub');
|
|
37
|
+
const privKeyPath = path.join(keysDir, 'agent.key');
|
|
38
|
+
const agentIdPath = path.join(keysDir, 'agent-id');
|
|
39
|
+
if (!fs.existsSync(pubKeyPath) || !fs.existsSync(privKeyPath)) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
const publicKey = fs.readFileSync(pubKeyPath, 'utf-8').trim();
|
|
43
|
+
const privateKey = fs.readFileSync(privKeyPath, 'utf-8').trim();
|
|
44
|
+
const agentId = fs.existsSync(agentIdPath)
|
|
45
|
+
? fs.readFileSync(agentIdPath, 'utf-8').trim()
|
|
46
|
+
: undefined;
|
|
47
|
+
return { publicKey, privateKey, agentId };
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Sign a payload string with the agent's Ed25519 private key.
|
|
55
|
+
* Returns the base64-encoded signature, or null if signing fails.
|
|
56
|
+
*/
|
|
57
|
+
function signPayload(payload, privateKeyPem) {
|
|
58
|
+
try {
|
|
59
|
+
const crypto = require('crypto');
|
|
60
|
+
const privateKey = crypto.createPrivateKey(privateKeyPem);
|
|
61
|
+
const signature = crypto.sign(null, Buffer.from(payload), privateKey);
|
|
62
|
+
return signature.toString('base64');
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Build a unified publish payload from scan data.
|
|
70
|
+
* Combines results from hardening, attack, SOUL, and OASB scans.
|
|
71
|
+
*/
|
|
72
|
+
function buildPublishPayload(data) {
|
|
73
|
+
const scanId = `hma-publish-${Date.now()}`;
|
|
74
|
+
const completedAt = new Date().toISOString();
|
|
75
|
+
// Determine overall status from hardening findings
|
|
76
|
+
let status = 'passed';
|
|
77
|
+
let criticalCount = 0;
|
|
78
|
+
let highCount = 0;
|
|
79
|
+
let mediumCount = 0;
|
|
80
|
+
let lowCount = 0;
|
|
81
|
+
const vulnerabilities = [];
|
|
82
|
+
if (data.hardeningFindings) {
|
|
83
|
+
const failed = data.hardeningFindings.filter(f => !f.passed && !f.fixed);
|
|
84
|
+
for (const f of failed) {
|
|
85
|
+
if (f.severity === 'critical')
|
|
86
|
+
criticalCount++;
|
|
87
|
+
else if (f.severity === 'high')
|
|
88
|
+
highCount++;
|
|
89
|
+
else if (f.severity === 'medium')
|
|
90
|
+
mediumCount++;
|
|
91
|
+
else if (f.severity === 'low')
|
|
92
|
+
lowCount++;
|
|
93
|
+
vulnerabilities.push({
|
|
94
|
+
id: f.checkId,
|
|
95
|
+
severity: f.severity,
|
|
96
|
+
title: f.name,
|
|
97
|
+
description: f.description,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
// Incorporate attack results into severity counts
|
|
102
|
+
if (data.attackReport) {
|
|
103
|
+
const successfulAttacks = data.attackReport.results.filter(r => r.success);
|
|
104
|
+
for (const r of successfulAttacks) {
|
|
105
|
+
if (r.payload.severity === 'critical')
|
|
106
|
+
criticalCount++;
|
|
107
|
+
else if (r.payload.severity === 'high')
|
|
108
|
+
highCount++;
|
|
109
|
+
else if (r.payload.severity === 'medium')
|
|
110
|
+
mediumCount++;
|
|
111
|
+
else
|
|
112
|
+
lowCount++;
|
|
113
|
+
vulnerabilities.push({
|
|
114
|
+
id: r.payload.id,
|
|
115
|
+
severity: r.payload.severity,
|
|
116
|
+
title: `Attack: ${r.payload.category} - ${r.payload.id}`,
|
|
117
|
+
description: r.response?.substring(0, 500) || 'Attack succeeded',
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
// Derive overall status
|
|
122
|
+
if (criticalCount > 0 || highCount > 0)
|
|
123
|
+
status = 'failed';
|
|
124
|
+
else if (mediumCount > 0 || lowCount > 0)
|
|
125
|
+
status = 'warnings';
|
|
126
|
+
// Build raw report with all scan type data
|
|
127
|
+
const rawReport = {
|
|
128
|
+
generator: 'hackmyagent',
|
|
129
|
+
publishedVia: 'atp-publish',
|
|
130
|
+
};
|
|
131
|
+
if (data.hardeningFindings) {
|
|
132
|
+
const total = data.hardeningFindings.length;
|
|
133
|
+
const failed = data.hardeningFindings.filter(f => !f.passed && !f.fixed).length;
|
|
134
|
+
rawReport.hardening = {
|
|
135
|
+
totalChecks: total,
|
|
136
|
+
failedChecks: failed,
|
|
137
|
+
passRate: total > 0 ? Math.round(((total - failed) / total) * 100) : 100,
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
if (data.attackReport) {
|
|
141
|
+
rawReport.attack = {
|
|
142
|
+
riskScore: data.attackReport.riskScore,
|
|
143
|
+
riskRating: data.attackReport.riskRating,
|
|
144
|
+
totalPayloads: data.attackReport.summary.total,
|
|
145
|
+
successfulAttacks: data.attackReport.summary.successful,
|
|
146
|
+
blockedAttacks: data.attackReport.summary.blocked,
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
if (data.soulResult) {
|
|
150
|
+
rawReport.soul = {
|
|
151
|
+
score: data.soulResult.score,
|
|
152
|
+
conformance: data.soulResult.conformance,
|
|
153
|
+
agentTier: data.soulResult.agentTier,
|
|
154
|
+
totalControls: data.soulResult.totalControls,
|
|
155
|
+
totalPassed: data.soulResult.totalPassed,
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
if (data.oasbResult) {
|
|
159
|
+
rawReport.oasb = {
|
|
160
|
+
compliance: data.oasbResult.compliance,
|
|
161
|
+
rating: data.oasbResult.rating,
|
|
162
|
+
l1Compliance: data.oasbResult.l1Compliance,
|
|
163
|
+
l2Compliance: data.oasbResult.l2Compliance,
|
|
164
|
+
l3Compliance: data.oasbResult.l3Compliance,
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
// Compute content hash
|
|
168
|
+
const canonical = [
|
|
169
|
+
scanId,
|
|
170
|
+
data.packageName,
|
|
171
|
+
data.packageType || '',
|
|
172
|
+
data.packageVersion || '',
|
|
173
|
+
status,
|
|
174
|
+
criticalCount,
|
|
175
|
+
highCount,
|
|
176
|
+
mediumCount,
|
|
177
|
+
lowCount,
|
|
178
|
+
].join('|');
|
|
179
|
+
const contentHash = (0, crypto_1.createHash)('sha256').update(canonical).digest('hex');
|
|
180
|
+
const payload = {
|
|
181
|
+
packageName: data.packageName,
|
|
182
|
+
packageType: data.packageType,
|
|
183
|
+
version: data.packageVersion,
|
|
184
|
+
scanId,
|
|
185
|
+
status,
|
|
186
|
+
completedAt,
|
|
187
|
+
vulnerabilities,
|
|
188
|
+
criticalCount,
|
|
189
|
+
highCount,
|
|
190
|
+
mediumCount,
|
|
191
|
+
lowCount,
|
|
192
|
+
rawReport,
|
|
193
|
+
contentHash,
|
|
194
|
+
};
|
|
195
|
+
// Add ATP extension fields
|
|
196
|
+
if (data.oasbResult) {
|
|
197
|
+
payload.oasbCompliance = data.oasbResult.compliance;
|
|
198
|
+
payload.oasbRating = data.oasbResult.rating;
|
|
199
|
+
payload.oasbL1 = data.oasbResult.l1Compliance;
|
|
200
|
+
payload.oasbL2 = data.oasbResult.l2Compliance;
|
|
201
|
+
payload.oasbL3 = data.oasbResult.l3Compliance;
|
|
202
|
+
}
|
|
203
|
+
if (data.soulResult) {
|
|
204
|
+
payload.soulScore = data.soulResult.score;
|
|
205
|
+
payload.soulConformance = data.soulResult.conformance;
|
|
206
|
+
payload.soulAgentTier = data.soulResult.agentTier;
|
|
207
|
+
}
|
|
208
|
+
if (data.attackReport) {
|
|
209
|
+
payload.attackRiskScore = data.attackReport.riskScore;
|
|
210
|
+
payload.attackRiskRating = data.attackReport.riskRating;
|
|
211
|
+
payload.attackTotal = data.attackReport.summary.total;
|
|
212
|
+
payload.attackSucceeded = data.attackReport.summary.successful;
|
|
213
|
+
}
|
|
214
|
+
return payload;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Publish scan results to the OpenA2A Registry.
|
|
218
|
+
*
|
|
219
|
+
* Flow:
|
|
220
|
+
* 1. Read keypair from ~/.opena2a/keys/ (if claimed)
|
|
221
|
+
* 2. Build unified payload from scan data
|
|
222
|
+
* 3. Sign payload if keypair exists
|
|
223
|
+
* 4. POST to registry (claimed or community path)
|
|
224
|
+
*/
|
|
225
|
+
async function publishScanResults(data, registryUrl) {
|
|
226
|
+
const keypair = readAgentKeypair();
|
|
227
|
+
const isCommunity = !keypair;
|
|
228
|
+
if (isCommunity) {
|
|
229
|
+
console.log("No signing keys found at ~/.opena2a/keys/. Run 'opena2a claim <package>' to create keys for full-weight publishing. Submitting as community contribution (0.5x weight).");
|
|
230
|
+
}
|
|
231
|
+
const payload = buildPublishPayload(data);
|
|
232
|
+
// Sign if we have a keypair
|
|
233
|
+
if (keypair) {
|
|
234
|
+
const payloadString = JSON.stringify(payload);
|
|
235
|
+
const signature = signPayload(payloadString, keypair.privateKey);
|
|
236
|
+
if (signature) {
|
|
237
|
+
payload.signature = signature;
|
|
238
|
+
payload.publicKey = keypair.publicKey;
|
|
239
|
+
}
|
|
240
|
+
if (keypair.agentId) {
|
|
241
|
+
payload.agentId = keypair.agentId;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
try {
|
|
245
|
+
const client = new client_1.RegistryClient({ registryUrl, apiKey: '' });
|
|
246
|
+
const result = await client.reportPublishResult(payload);
|
|
247
|
+
return {
|
|
248
|
+
success: true,
|
|
249
|
+
scanId: result.scanId,
|
|
250
|
+
profileUrl: result.profileUrl,
|
|
251
|
+
status: result.status,
|
|
252
|
+
isCommunity,
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
catch (err) {
|
|
256
|
+
const message = err instanceof Error ? err.message : 'Unknown error';
|
|
257
|
+
return {
|
|
258
|
+
success: false,
|
|
259
|
+
scanId: payload.scanId,
|
|
260
|
+
profileUrl: `${registryUrl}/agents/${data.packageName}`,
|
|
261
|
+
status: 'error',
|
|
262
|
+
isCommunity,
|
|
263
|
+
error: message,
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Format the publish result for terminal output.
|
|
269
|
+
*/
|
|
270
|
+
function formatPublishOutput(result, data, registryUrl) {
|
|
271
|
+
const lines = [];
|
|
272
|
+
if (result.success) {
|
|
273
|
+
lines.push('Published to ' + new URL(registryUrl).hostname);
|
|
274
|
+
lines.push(' Agent: ' + data.packageName);
|
|
275
|
+
lines.push(' Scan ID: ' + result.scanId);
|
|
276
|
+
lines.push(' Status: ' + result.status);
|
|
277
|
+
// Build summary of what was included
|
|
278
|
+
const parts = [];
|
|
279
|
+
if (data.hardeningFindings) {
|
|
280
|
+
const failed = data.hardeningFindings.filter(f => !f.passed && !f.fixed);
|
|
281
|
+
parts.push(`hardening (${failed.length} finding${failed.length === 1 ? '' : 's'})`);
|
|
282
|
+
}
|
|
283
|
+
if (data.oasbResult) {
|
|
284
|
+
parts.push(`OASB (${data.oasbResult.compliance}% compliance)`);
|
|
285
|
+
}
|
|
286
|
+
if (data.soulResult) {
|
|
287
|
+
parts.push(`SOUL (${data.soulResult.score}/100)`);
|
|
288
|
+
}
|
|
289
|
+
if (data.attackReport) {
|
|
290
|
+
parts.push(`attack (${data.attackReport.riskRating} risk)`);
|
|
291
|
+
}
|
|
292
|
+
if (parts.length > 0) {
|
|
293
|
+
lines.push(' Scans: ' + parts.join(', '));
|
|
294
|
+
}
|
|
295
|
+
lines.push(' Trust impact: score may increase on next recalculation');
|
|
296
|
+
if (result.isCommunity) {
|
|
297
|
+
lines.push('');
|
|
298
|
+
lines.push(' Published as community scan (0.5x weight).');
|
|
299
|
+
lines.push(' Run `opena2a claim` first for full weight (1.0x).');
|
|
300
|
+
}
|
|
301
|
+
lines.push('');
|
|
302
|
+
lines.push('Profile: ' + result.profileUrl);
|
|
303
|
+
}
|
|
304
|
+
else {
|
|
305
|
+
lines.push('Failed to publish to registry: ' + (result.error || 'unknown error'));
|
|
306
|
+
lines.push('Scan results are still available locally.');
|
|
307
|
+
}
|
|
308
|
+
return lines.join('\n');
|
|
309
|
+
}
|
|
310
|
+
//# sourceMappingURL=publish.js.map
|