@ycodium-ai/plugin-pentest 0.0.0-stage → 0.2.2942
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 +71 -2
- package/assets/icon.svg +8 -0
- package/assets/ui.js +178 -0
- package/dist/index.js +1164 -0
- package/locales/en.json +128 -0
- package/locales/zh-CN.json +128 -0
- package/package.json +115 -3
package/locales/en.json
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
{
|
|
2
|
+
"board": {
|
|
3
|
+
"title": "Assessment record",
|
|
4
|
+
"goal": "Goal",
|
|
5
|
+
"target": "Target",
|
|
6
|
+
"objective": "Objective",
|
|
7
|
+
"authorization": "Authorization note",
|
|
8
|
+
"authorizationHint": "An audit note. It does not grant permission.",
|
|
9
|
+
"counts": "{{intents}} intents · {{facts}} evidence · {{findings}} findings · {{assets}} assets",
|
|
10
|
+
"window": "The panel shows {{shown}} of {{total}} records. The report is the full store.",
|
|
11
|
+
"loading": "Loading the record",
|
|
12
|
+
"empty": "No record on this session yet",
|
|
13
|
+
"open": "Open session",
|
|
14
|
+
"related": "Delegated sessions",
|
|
15
|
+
"relatedEmpty": "No delegated session has written to this record",
|
|
16
|
+
"tabs": {
|
|
17
|
+
"explore": "Explore",
|
|
18
|
+
"findings": "Findings",
|
|
19
|
+
"assets": "Assets",
|
|
20
|
+
"report": "Report"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"explore": {
|
|
24
|
+
"empty": "Select a record to see its detail",
|
|
25
|
+
"edge": {
|
|
26
|
+
"spawns": "spawns",
|
|
27
|
+
"yields": "yields",
|
|
28
|
+
"derived_from": "derived from",
|
|
29
|
+
"proves": "proves",
|
|
30
|
+
"parent": "parent"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"node": {
|
|
34
|
+
"goal": "Goal",
|
|
35
|
+
"intent": "Intent",
|
|
36
|
+
"fact": "Evidence",
|
|
37
|
+
"finding": "Finding",
|
|
38
|
+
"asset": "Asset",
|
|
39
|
+
"confidence": "Confidence {{value}}",
|
|
40
|
+
"steps": "Observations",
|
|
41
|
+
"close": "Close detail"
|
|
42
|
+
},
|
|
43
|
+
"findings": {
|
|
44
|
+
"empty": "No findings recorded",
|
|
45
|
+
"all": "All severities",
|
|
46
|
+
"affected": "Affected asset",
|
|
47
|
+
"filter": "Severity"
|
|
48
|
+
},
|
|
49
|
+
"severity": {
|
|
50
|
+
"critical": "Critical",
|
|
51
|
+
"high": "High",
|
|
52
|
+
"medium": "Medium",
|
|
53
|
+
"low": "Low",
|
|
54
|
+
"info": "Info"
|
|
55
|
+
},
|
|
56
|
+
"assets": {
|
|
57
|
+
"empty": "No assets recorded",
|
|
58
|
+
"list": "List",
|
|
59
|
+
"tree": "Tree",
|
|
60
|
+
"root": "Root",
|
|
61
|
+
"filter": "Filter assets",
|
|
62
|
+
"meta": "Notes"
|
|
63
|
+
},
|
|
64
|
+
"assetType": {
|
|
65
|
+
"root-domain": "Root domain",
|
|
66
|
+
"subdomain": "Subdomain",
|
|
67
|
+
"ip": "IP",
|
|
68
|
+
"service": "Service",
|
|
69
|
+
"app": "App",
|
|
70
|
+
"endpoint": "Endpoint"
|
|
71
|
+
},
|
|
72
|
+
"factKind": {
|
|
73
|
+
"port": "Port",
|
|
74
|
+
"service": "Service",
|
|
75
|
+
"vuln": "Issue",
|
|
76
|
+
"finding": "Finding",
|
|
77
|
+
"http": "HTTP",
|
|
78
|
+
"info": "Info"
|
|
79
|
+
},
|
|
80
|
+
"report": {
|
|
81
|
+
"copy": "Copy Markdown",
|
|
82
|
+
"download": "Download Markdown",
|
|
83
|
+
"copied": "Report copied",
|
|
84
|
+
"copyFailed": "Could not copy the report",
|
|
85
|
+
"empty": "The report appears after a goal is recorded",
|
|
86
|
+
"loading": "Preparing the report"
|
|
87
|
+
},
|
|
88
|
+
"preset": {
|
|
89
|
+
"description": "Record a goal, intents, evidence, assets, and findings on this session. The protocol is added to later turns."
|
|
90
|
+
},
|
|
91
|
+
"hero": {
|
|
92
|
+
"title": "Assessment record",
|
|
93
|
+
"body": "Choose this preset before the first turn. The protocol is added to every later turn, and the session panel appears after the first goal.",
|
|
94
|
+
"goal": "Goal",
|
|
95
|
+
"evidence": "Evidence",
|
|
96
|
+
"assets": "Assets",
|
|
97
|
+
"findings": "Findings",
|
|
98
|
+
"current": "This session records {{target}}"
|
|
99
|
+
},
|
|
100
|
+
"settings": {
|
|
101
|
+
"title": "Assessment record",
|
|
102
|
+
"lead": "The panel shows a window of the latest records. Exports read the full store. A delegated session can only submit onto its parent.",
|
|
103
|
+
"window": "Records kept in the session panel",
|
|
104
|
+
"windowHint": "From 20 to 200. The stored record is not trimmed.",
|
|
105
|
+
"authorization": "Include the authorization note in exported reports",
|
|
106
|
+
"saved": "Saved",
|
|
107
|
+
"card": {
|
|
108
|
+
"title": "Assessment record",
|
|
109
|
+
"description": "Window size and report options are in the Assessment record section."
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
"card": {
|
|
113
|
+
"recorded": "Recorded {{id}}",
|
|
114
|
+
"summary": "Recorded",
|
|
115
|
+
"report": "Report ready"
|
|
116
|
+
},
|
|
117
|
+
"tool": {
|
|
118
|
+
"add_goal": "Add goal",
|
|
119
|
+
"add_intent": "Add intent",
|
|
120
|
+
"add_fact": "Add evidence",
|
|
121
|
+
"add_finding": "Add finding",
|
|
122
|
+
"add_asset": "Add asset",
|
|
123
|
+
"state": "Record state",
|
|
124
|
+
"graph": "Record graph",
|
|
125
|
+
"report": "Assessment report",
|
|
126
|
+
"submit": "Submit record"
|
|
127
|
+
}
|
|
128
|
+
}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
{
|
|
2
|
+
"board": {
|
|
3
|
+
"title": "评估记录",
|
|
4
|
+
"goal": "目标",
|
|
5
|
+
"target": "对象",
|
|
6
|
+
"objective": "目的",
|
|
7
|
+
"authorization": "授权说明",
|
|
8
|
+
"authorizationHint": "这是留痕,不表示已经获准。",
|
|
9
|
+
"counts": "{{intents}} 条意图 · {{facts}} 条事实 · {{findings}} 条发现 · {{assets}} 项资产",
|
|
10
|
+
"window": "面板显示 {{shown}} / {{total}} 条记录。报告导出的是完整存储。",
|
|
11
|
+
"loading": "正在加载记录",
|
|
12
|
+
"empty": "这条会话还没有记录",
|
|
13
|
+
"open": "打开会话",
|
|
14
|
+
"related": "委派会话",
|
|
15
|
+
"relatedEmpty": "还没有委派会话写入这条记录",
|
|
16
|
+
"tabs": {
|
|
17
|
+
"explore": "探索",
|
|
18
|
+
"findings": "发现",
|
|
19
|
+
"assets": "资产",
|
|
20
|
+
"report": "报告"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"explore": {
|
|
24
|
+
"empty": "选一条记录查看详情",
|
|
25
|
+
"edge": {
|
|
26
|
+
"spawns": "产生",
|
|
27
|
+
"yields": "得到",
|
|
28
|
+
"derived_from": "推导自",
|
|
29
|
+
"proves": "证实",
|
|
30
|
+
"parent": "上级"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"node": {
|
|
34
|
+
"goal": "目标",
|
|
35
|
+
"intent": "意图",
|
|
36
|
+
"fact": "事实",
|
|
37
|
+
"finding": "发现",
|
|
38
|
+
"asset": "资产",
|
|
39
|
+
"confidence": "置信度 {{value}}",
|
|
40
|
+
"steps": "观察",
|
|
41
|
+
"close": "关闭详情"
|
|
42
|
+
},
|
|
43
|
+
"findings": {
|
|
44
|
+
"empty": "还没有发现",
|
|
45
|
+
"all": "全部严重程度",
|
|
46
|
+
"affected": "受影响的资产",
|
|
47
|
+
"filter": "严重程度"
|
|
48
|
+
},
|
|
49
|
+
"severity": {
|
|
50
|
+
"critical": "严重",
|
|
51
|
+
"high": "高",
|
|
52
|
+
"medium": "中",
|
|
53
|
+
"low": "低",
|
|
54
|
+
"info": "信息"
|
|
55
|
+
},
|
|
56
|
+
"assets": {
|
|
57
|
+
"empty": "还没有资产",
|
|
58
|
+
"list": "列表",
|
|
59
|
+
"tree": "树",
|
|
60
|
+
"root": "根",
|
|
61
|
+
"filter": "筛选资产",
|
|
62
|
+
"meta": "备注"
|
|
63
|
+
},
|
|
64
|
+
"assetType": {
|
|
65
|
+
"root-domain": "根域",
|
|
66
|
+
"subdomain": "子域",
|
|
67
|
+
"ip": "IP",
|
|
68
|
+
"service": "服务",
|
|
69
|
+
"app": "应用",
|
|
70
|
+
"endpoint": "端点"
|
|
71
|
+
},
|
|
72
|
+
"factKind": {
|
|
73
|
+
"port": "端口",
|
|
74
|
+
"service": "服务",
|
|
75
|
+
"vuln": "问题",
|
|
76
|
+
"finding": "发现",
|
|
77
|
+
"http": "HTTP",
|
|
78
|
+
"info": "信息"
|
|
79
|
+
},
|
|
80
|
+
"report": {
|
|
81
|
+
"copy": "复制 Markdown",
|
|
82
|
+
"download": "下载 Markdown",
|
|
83
|
+
"copied": "报告已复制",
|
|
84
|
+
"copyFailed": "无法复制报告",
|
|
85
|
+
"empty": "记下目标之后这里会出现报告",
|
|
86
|
+
"loading": "正在准备报告"
|
|
87
|
+
},
|
|
88
|
+
"preset": {
|
|
89
|
+
"description": "在这条会话上记录目标、意图、证据、资产和发现。协议会加到之后的轮次里。"
|
|
90
|
+
},
|
|
91
|
+
"hero": {
|
|
92
|
+
"title": "评估记录",
|
|
93
|
+
"body": "首轮之前可以选择这个预设。之后每一轮都会带上记录协议,记下第一个目标后会话里会出现面板。",
|
|
94
|
+
"goal": "目标",
|
|
95
|
+
"evidence": "事实",
|
|
96
|
+
"assets": "资产",
|
|
97
|
+
"findings": "发现",
|
|
98
|
+
"current": "这条会话正在记录 {{target}}"
|
|
99
|
+
},
|
|
100
|
+
"settings": {
|
|
101
|
+
"title": "评估记录",
|
|
102
|
+
"lead": "面板只显示最近的一窗记录。导出读的是完整存储。委派会话只能向父会话提交。",
|
|
103
|
+
"window": "会话面板保留的记录数",
|
|
104
|
+
"windowHint": "20 到 200。存储里的记录不会被裁掉。",
|
|
105
|
+
"authorization": "导出的报告包含授权说明",
|
|
106
|
+
"saved": "已保存",
|
|
107
|
+
"card": {
|
|
108
|
+
"title": "评估记录",
|
|
109
|
+
"description": "窗口大小和报告选项在「评估记录」分区里。"
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
"card": {
|
|
113
|
+
"recorded": "已记录 {{id}}",
|
|
114
|
+
"summary": "已记录",
|
|
115
|
+
"report": "报告已就绪"
|
|
116
|
+
},
|
|
117
|
+
"tool": {
|
|
118
|
+
"add_goal": "记下目标",
|
|
119
|
+
"add_intent": "记下意图",
|
|
120
|
+
"add_fact": "记下事实",
|
|
121
|
+
"add_finding": "记下发现",
|
|
122
|
+
"add_asset": "记下资产",
|
|
123
|
+
"state": "记录状态",
|
|
124
|
+
"graph": "记录关系",
|
|
125
|
+
"report": "评估报告",
|
|
126
|
+
"submit": "提交记录"
|
|
127
|
+
}
|
|
128
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,118 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ycodium-ai/plugin-pentest",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
3
|
+
"version": "0.2.2942",
|
|
4
|
+
"description": "Records an assessment graph on a session: goal, intents, evidence, assets, and findings.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"sessions",
|
|
7
|
+
"ycodium",
|
|
8
|
+
"ycodium-plugin"
|
|
9
|
+
],
|
|
10
|
+
"license": "UNLICENSED",
|
|
11
|
+
"files": [
|
|
12
|
+
"dist",
|
|
13
|
+
"assets",
|
|
14
|
+
"locales",
|
|
15
|
+
"README.md"
|
|
16
|
+
],
|
|
17
|
+
"type": "module",
|
|
18
|
+
"publishConfig": {
|
|
19
|
+
"access": "public"
|
|
20
|
+
},
|
|
21
|
+
"devDependencies": {
|
|
22
|
+
"@types/react": "~19.2.14",
|
|
23
|
+
"esbuild": "0.28.1",
|
|
24
|
+
"react": "19.2.6",
|
|
25
|
+
"typescript": "~6.0.3",
|
|
26
|
+
"vite-plus": "0.2.2",
|
|
27
|
+
"@ycodium-ai/plugin-api": "0.2.2942"
|
|
28
|
+
},
|
|
29
|
+
"ycodium": {
|
|
30
|
+
"plugin": "./dist/index.js",
|
|
31
|
+
"displayName": "Assessment record",
|
|
32
|
+
"description": "Records a goal, intents, evidence, assets, and findings on a session, with a report you can copy.",
|
|
33
|
+
"icon": "./assets/icon.svg",
|
|
34
|
+
"permissions": [
|
|
35
|
+
{
|
|
36
|
+
"kind": "systemPrompt"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"kind": "tools.guard"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"kind": "workspace.write"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"kind": "sessionProjection"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"kind": "agentPresets"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"kind": "ui.seats",
|
|
52
|
+
"seats": [
|
|
53
|
+
"conversation.view",
|
|
54
|
+
"conversation.hero.agentPreset",
|
|
55
|
+
"settings.section"
|
|
56
|
+
]
|
|
57
|
+
}
|
|
58
|
+
],
|
|
59
|
+
"ui": {
|
|
60
|
+
"assets": "./assets",
|
|
61
|
+
"entry": "ui.js",
|
|
62
|
+
"toolViews": [
|
|
63
|
+
{
|
|
64
|
+
"tool": "add_goal",
|
|
65
|
+
"view": "card",
|
|
66
|
+
"titleKey": "tool.add_goal"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"tool": "add_intent",
|
|
70
|
+
"view": "card",
|
|
71
|
+
"titleKey": "tool.add_intent"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"tool": "add_fact",
|
|
75
|
+
"view": "card",
|
|
76
|
+
"titleKey": "tool.add_fact"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"tool": "add_finding",
|
|
80
|
+
"view": "card",
|
|
81
|
+
"placement": "deliverable",
|
|
82
|
+
"titleKey": "tool.add_finding"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"tool": "add_asset",
|
|
86
|
+
"view": "card",
|
|
87
|
+
"titleKey": "tool.add_asset"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"tool": "state",
|
|
91
|
+
"view": "card",
|
|
92
|
+
"titleKey": "tool.state"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"tool": "graph",
|
|
96
|
+
"view": "card",
|
|
97
|
+
"titleKey": "tool.graph"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"tool": "report",
|
|
101
|
+
"view": "card",
|
|
102
|
+
"placement": "deliverable",
|
|
103
|
+
"titleKey": "tool.report"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"tool": "submit",
|
|
107
|
+
"view": "card",
|
|
108
|
+
"titleKey": "tool.submit"
|
|
109
|
+
}
|
|
110
|
+
]
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
"scripts": {
|
|
114
|
+
"build": "node build.mjs",
|
|
115
|
+
"typecheck": "tsgo --noEmit && tsgo --noEmit -p tsconfig.ui.json",
|
|
116
|
+
"test": "vp test run"
|
|
117
|
+
}
|
|
6
118
|
}
|