codegate-ai 0.1.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.
Files changed (147) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +390 -0
  3. package/dist/cli-prompts.d.ts +6 -0
  4. package/dist/cli-prompts.js +94 -0
  5. package/dist/cli.d.ts +64 -0
  6. package/dist/cli.js +443 -0
  7. package/dist/commands/run-policy.d.ts +27 -0
  8. package/dist/commands/run-policy.js +39 -0
  9. package/dist/commands/scan-command/helpers.d.ts +28 -0
  10. package/dist/commands/scan-command/helpers.js +233 -0
  11. package/dist/commands/scan-command.d.ts +90 -0
  12. package/dist/commands/scan-command.js +403 -0
  13. package/dist/commands/undo.d.ts +5 -0
  14. package/dist/commands/undo.js +14 -0
  15. package/dist/config.d.ts +50 -0
  16. package/dist/config.js +187 -0
  17. package/dist/index.d.ts +1 -0
  18. package/dist/index.js +1 -0
  19. package/dist/knowledge-base/claude-code.json +152 -0
  20. package/dist/knowledge-base/cline.json +224 -0
  21. package/dist/knowledge-base/codex.json +162 -0
  22. package/dist/knowledge-base/copilot.json +132 -0
  23. package/dist/knowledge-base/cursor.json +134 -0
  24. package/dist/knowledge-base/gemini-cli.json +112 -0
  25. package/dist/knowledge-base/jetbrains-junie.json +208 -0
  26. package/dist/knowledge-base/kiro.json +102 -0
  27. package/dist/knowledge-base/opencode.json +128 -0
  28. package/dist/knowledge-base/roo-code.json +116 -0
  29. package/dist/knowledge-base/schema.json +77 -0
  30. package/dist/knowledge-base/windsurf.json +80 -0
  31. package/dist/knowledge-base/zed.json +88 -0
  32. package/dist/layer1-discovery/config-parser.d.ts +12 -0
  33. package/dist/layer1-discovery/config-parser.js +52 -0
  34. package/dist/layer1-discovery/file-walker.d.ts +13 -0
  35. package/dist/layer1-discovery/file-walker.js +77 -0
  36. package/dist/layer1-discovery/knowledge-base.d.ts +36 -0
  37. package/dist/layer1-discovery/knowledge-base.js +58 -0
  38. package/dist/layer1-discovery/tool-detector.d.ts +20 -0
  39. package/dist/layer1-discovery/tool-detector.js +138 -0
  40. package/dist/layer2-static/detectors/command-exec.d.ts +11 -0
  41. package/dist/layer2-static/detectors/command-exec.js +343 -0
  42. package/dist/layer2-static/detectors/consent-bypass.d.ts +8 -0
  43. package/dist/layer2-static/detectors/consent-bypass.js +330 -0
  44. package/dist/layer2-static/detectors/env-override.d.ts +8 -0
  45. package/dist/layer2-static/detectors/env-override.js +132 -0
  46. package/dist/layer2-static/detectors/git-hooks.d.ts +11 -0
  47. package/dist/layer2-static/detectors/git-hooks.js +61 -0
  48. package/dist/layer2-static/detectors/ide-settings.d.ts +8 -0
  49. package/dist/layer2-static/detectors/ide-settings.js +66 -0
  50. package/dist/layer2-static/detectors/plugin-manifest.d.ts +9 -0
  51. package/dist/layer2-static/detectors/plugin-manifest.js +1943 -0
  52. package/dist/layer2-static/detectors/rule-file.d.ts +7 -0
  53. package/dist/layer2-static/detectors/rule-file.js +299 -0
  54. package/dist/layer2-static/detectors/symlink.d.ts +9 -0
  55. package/dist/layer2-static/detectors/symlink.js +45 -0
  56. package/dist/layer2-static/engine.d.ts +28 -0
  57. package/dist/layer2-static/engine.js +83 -0
  58. package/dist/layer2-static/evidence.d.ts +12 -0
  59. package/dist/layer2-static/evidence.js +128 -0
  60. package/dist/layer2-static/rule-engine.d.ts +24 -0
  61. package/dist/layer2-static/rule-engine.js +138 -0
  62. package/dist/layer2-static/state/scan-state.d.ts +32 -0
  63. package/dist/layer2-static/state/scan-state.js +296 -0
  64. package/dist/layer3-dynamic/command-builder.d.ts +15 -0
  65. package/dist/layer3-dynamic/command-builder.js +39 -0
  66. package/dist/layer3-dynamic/local-text-analysis.d.ts +19 -0
  67. package/dist/layer3-dynamic/local-text-analysis.js +73 -0
  68. package/dist/layer3-dynamic/meta-agent.d.ts +17 -0
  69. package/dist/layer3-dynamic/meta-agent.js +33 -0
  70. package/dist/layer3-dynamic/prompt-templates/local-text-analysis.md +32 -0
  71. package/dist/layer3-dynamic/prompt-templates/security-analysis.md +13 -0
  72. package/dist/layer3-dynamic/prompt-templates/tool-poisoning.md +15 -0
  73. package/dist/layer3-dynamic/resource-fetcher.d.ts +25 -0
  74. package/dist/layer3-dynamic/resource-fetcher.js +119 -0
  75. package/dist/layer3-dynamic/sandbox.d.ts +13 -0
  76. package/dist/layer3-dynamic/sandbox.js +40 -0
  77. package/dist/layer3-dynamic/tool-description-acquisition.d.ts +22 -0
  78. package/dist/layer3-dynamic/tool-description-acquisition.js +76 -0
  79. package/dist/layer3-dynamic/tool-description-scanner.d.ts +11 -0
  80. package/dist/layer3-dynamic/tool-description-scanner.js +53 -0
  81. package/dist/layer3-dynamic/toxic-flow.d.ts +12 -0
  82. package/dist/layer3-dynamic/toxic-flow.js +57 -0
  83. package/dist/layer4-remediation/actions/quarantine.d.ts +1 -0
  84. package/dist/layer4-remediation/actions/quarantine.js +8 -0
  85. package/dist/layer4-remediation/actions/remove-field.d.ts +5 -0
  86. package/dist/layer4-remediation/actions/remove-field.js +53 -0
  87. package/dist/layer4-remediation/actions/replace-value.d.ts +5 -0
  88. package/dist/layer4-remediation/actions/replace-value.js +26 -0
  89. package/dist/layer4-remediation/actions/strip-unicode.d.ts +5 -0
  90. package/dist/layer4-remediation/actions/strip-unicode.js +8 -0
  91. package/dist/layer4-remediation/backup-manager.d.ts +32 -0
  92. package/dist/layer4-remediation/backup-manager.js +138 -0
  93. package/dist/layer4-remediation/diff-generator.d.ts +6 -0
  94. package/dist/layer4-remediation/diff-generator.js +29 -0
  95. package/dist/layer4-remediation/remediation-runner.d.ts +36 -0
  96. package/dist/layer4-remediation/remediation-runner.js +230 -0
  97. package/dist/layer4-remediation/remediator.d.ts +36 -0
  98. package/dist/layer4-remediation/remediator.js +117 -0
  99. package/dist/path-display.d.ts +1 -0
  100. package/dist/path-display.js +20 -0
  101. package/dist/pipeline.d.ts +34 -0
  102. package/dist/pipeline.js +259 -0
  103. package/dist/report-summary.d.ts +6 -0
  104. package/dist/report-summary.js +48 -0
  105. package/dist/reporter/html.d.ts +2 -0
  106. package/dist/reporter/html.js +103 -0
  107. package/dist/reporter/json.d.ts +2 -0
  108. package/dist/reporter/json.js +3 -0
  109. package/dist/reporter/markdown.d.ts +2 -0
  110. package/dist/reporter/markdown.js +52 -0
  111. package/dist/reporter/sarif.d.ts +2 -0
  112. package/dist/reporter/sarif.js +84 -0
  113. package/dist/reporter/terminal.d.ts +5 -0
  114. package/dist/reporter/terminal.js +94 -0
  115. package/dist/runtime/signal-handlers.d.ts +10 -0
  116. package/dist/runtime/signal-handlers.js +17 -0
  117. package/dist/scan-target/helpers.d.ts +20 -0
  118. package/dist/scan-target/helpers.js +268 -0
  119. package/dist/scan-target/staging.d.ts +5 -0
  120. package/dist/scan-target/staging.js +114 -0
  121. package/dist/scan-target/types.d.ts +18 -0
  122. package/dist/scan-target/types.js +1 -0
  123. package/dist/scan-target.d.ts +3 -0
  124. package/dist/scan-target.js +31 -0
  125. package/dist/scan.d.ts +54 -0
  126. package/dist/scan.js +593 -0
  127. package/dist/tui/app.d.ts +10 -0
  128. package/dist/tui/app.js +21 -0
  129. package/dist/tui/theme.d.ts +8 -0
  130. package/dist/tui/theme.js +7 -0
  131. package/dist/tui/views/dashboard.d.ts +6 -0
  132. package/dist/tui/views/dashboard.js +8 -0
  133. package/dist/tui/views/deep-scan-consent.d.ts +5 -0
  134. package/dist/tui/views/deep-scan-consent.js +6 -0
  135. package/dist/tui/views/progress.d.ts +4 -0
  136. package/dist/tui/views/progress.js +6 -0
  137. package/dist/tui/views/summary.d.ts +5 -0
  138. package/dist/tui/views/summary.js +16 -0
  139. package/dist/types/discovery.d.ts +12 -0
  140. package/dist/types/discovery.js +1 -0
  141. package/dist/types/finding.d.ts +46 -0
  142. package/dist/types/finding.js +15 -0
  143. package/dist/types/report.d.ts +25 -0
  144. package/dist/types/report.js +23 -0
  145. package/dist/wrapper.d.ts +35 -0
  146. package/dist/wrapper.js +220 -0
  147. package/package.json +97 -0
@@ -0,0 +1,134 @@
1
+ {
2
+ "tool": "cursor",
3
+ "version_range": ">=0.1.0",
4
+ "config_paths": [
5
+ {
6
+ "path": ".cursor/mcp.json",
7
+ "scope": "project",
8
+ "format": "jsonc",
9
+ "risk_surface": ["command_exec", "mcp_config"],
10
+ "fields_of_interest": {
11
+ "mcpServers.*.command": "stdio command",
12
+ "mcpServers.*.url": "remote endpoint"
13
+ }
14
+ },
15
+ {
16
+ "path": ".cursor/mcp.json",
17
+ "scope": "user",
18
+ "format": "jsonc",
19
+ "risk_surface": ["command_exec", "mcp_config"],
20
+ "fields_of_interest": {
21
+ "mcpServers.*.command": "stdio command",
22
+ "mcpServers.*.url": "remote endpoint"
23
+ }
24
+ },
25
+ {
26
+ "path": "Library/Application Support/Cursor/User/mcp.json",
27
+ "scope": "user",
28
+ "format": "jsonc",
29
+ "risk_surface": ["command_exec", "mcp_config"],
30
+ "fields_of_interest": {
31
+ "mcpServers.*.command": "stdio command",
32
+ "mcpServers.*.url": "remote endpoint",
33
+ "mcp_servers.*.command": "stdio command (snake_case alias)",
34
+ "mcp_servers.*.url": "remote endpoint (snake_case alias)",
35
+ "context_servers.*.command": "stdio command (context server alias)",
36
+ "context_servers.*.url": "remote endpoint (context server alias)"
37
+ }
38
+ },
39
+ {
40
+ "path": "AppData/Roaming/Cursor/User/mcp.json",
41
+ "scope": "user",
42
+ "format": "jsonc",
43
+ "risk_surface": ["command_exec", "mcp_config"],
44
+ "fields_of_interest": {
45
+ "mcpServers.*.command": "stdio command",
46
+ "mcpServers.*.url": "remote endpoint",
47
+ "mcp_servers.*.command": "stdio command (snake_case alias)",
48
+ "mcp_servers.*.url": "remote endpoint (snake_case alias)",
49
+ "context_servers.*.command": "stdio command (context server alias)",
50
+ "context_servers.*.url": "remote endpoint (context server alias)"
51
+ }
52
+ },
53
+ {
54
+ "path": "mcp.json",
55
+ "scope": "project",
56
+ "format": "jsonc",
57
+ "risk_surface": ["command_exec", "mcp_config"],
58
+ "fields_of_interest": {
59
+ "mcpServers.*.command": "stdio command",
60
+ "mcpServers.*.url": "remote endpoint"
61
+ }
62
+ },
63
+ {
64
+ "path": ".vscode/mcp.json",
65
+ "scope": "project",
66
+ "format": "jsonc",
67
+ "risk_surface": ["command_exec", "mcp_config"],
68
+ "fields_of_interest": {
69
+ "mcpServers.*.command": "stdio command",
70
+ "mcpServers.*.url": "remote endpoint",
71
+ "mcp_servers.*.command": "stdio command (snake_case alias)",
72
+ "mcp_servers.*.url": "remote endpoint (snake_case alias)",
73
+ "context_servers.*.command": "stdio command (context server alias)",
74
+ "context_servers.*.url": "remote endpoint (context server alias)"
75
+ }
76
+ },
77
+ {
78
+ "path": ".cursorrules",
79
+ "scope": "project",
80
+ "format": "markdown",
81
+ "risk_surface": ["prompt_injection", "unicode_backdoor"]
82
+ },
83
+ {
84
+ "path": "AGENTS.md",
85
+ "scope": "project",
86
+ "format": "markdown",
87
+ "risk_surface": ["prompt_injection", "unicode_backdoor"]
88
+ },
89
+ {
90
+ "path": ".vscode/settings.json",
91
+ "scope": "project",
92
+ "format": "json",
93
+ "risk_surface": ["ide_settings"]
94
+ },
95
+ {
96
+ "path": "Library/Application Support/Cursor/User/extensions.json",
97
+ "scope": "user",
98
+ "format": "json",
99
+ "risk_surface": ["ide_settings", "plugin_config"]
100
+ },
101
+ {
102
+ "path": "AppData/Roaming/Cursor/User/extensions.json",
103
+ "scope": "user",
104
+ "format": "json",
105
+ "risk_surface": ["ide_settings", "plugin_config"]
106
+ },
107
+ {
108
+ "path": "Library/Application Support/Cursor/User/settings.json",
109
+ "scope": "user",
110
+ "format": "json",
111
+ "risk_surface": ["ide_settings"]
112
+ },
113
+ {
114
+ "path": "AppData/Roaming/Cursor/User/settings.json",
115
+ "scope": "user",
116
+ "format": "json",
117
+ "risk_surface": ["ide_settings"]
118
+ }
119
+ ],
120
+ "skill_paths": [
121
+ {
122
+ "path": ".cursor/rules/**/*.mdc",
123
+ "scope": "project",
124
+ "type": "rule_file",
125
+ "risk_surface": ["prompt_injection", "unicode_backdoor"]
126
+ },
127
+ {
128
+ "path": ".cursor/rules/**/*.mdc",
129
+ "scope": "user",
130
+ "type": "rule_file",
131
+ "risk_surface": ["prompt_injection", "unicode_backdoor"]
132
+ }
133
+ ]
134
+ }
@@ -0,0 +1,112 @@
1
+ {
2
+ "tool": "gemini-cli",
3
+ "version_range": ">=0.1.0",
4
+ "config_paths": [
5
+ {
6
+ "path": ".gemini/settings.json",
7
+ "scope": "project",
8
+ "format": "jsonc",
9
+ "risk_surface": ["mcp_config", "command_exec", "hooks", "consent_bypass"],
10
+ "fields_of_interest": {
11
+ "mcpServers.*.command": "stdio command",
12
+ "mcpServers.*.args": "stdio command arguments",
13
+ "mcpServers.*.url": "remote endpoint",
14
+ "mcpServers.*.httpUrl": "remote HTTP endpoint",
15
+ "mcpServers.*.headers": "custom request headers",
16
+ "mcpServers.*.env": "runtime environment variables",
17
+ "hooks": "hook command configuration"
18
+ }
19
+ },
20
+ {
21
+ "path": ".gemini/settings.json",
22
+ "scope": "user",
23
+ "format": "jsonc",
24
+ "risk_surface": ["mcp_config", "command_exec", "hooks", "consent_bypass"],
25
+ "fields_of_interest": {
26
+ "mcpServers.*.command": "stdio command",
27
+ "mcpServers.*.args": "stdio command arguments",
28
+ "mcpServers.*.url": "remote endpoint",
29
+ "mcpServers.*.httpUrl": "remote HTTP endpoint",
30
+ "mcpServers.*.headers": "custom request headers",
31
+ "mcpServers.*.env": "runtime environment variables",
32
+ "hooks": "hook command configuration"
33
+ }
34
+ },
35
+ {
36
+ "path": "GEMINI.md",
37
+ "scope": "project",
38
+ "format": "markdown",
39
+ "risk_surface": ["prompt_injection", "unicode_backdoor"]
40
+ },
41
+ {
42
+ "path": ".gemini/hooks.json",
43
+ "scope": "project",
44
+ "format": "jsonc",
45
+ "risk_surface": ["hooks", "command_exec"]
46
+ },
47
+ {
48
+ "path": ".gemini/hooks.json",
49
+ "scope": "user",
50
+ "format": "jsonc",
51
+ "risk_surface": ["hooks", "command_exec"]
52
+ },
53
+ {
54
+ "path": ".gemini/extensions.json",
55
+ "scope": "project",
56
+ "format": "jsonc",
57
+ "risk_surface": ["plugin_config", "command_exec", "remote_resource"]
58
+ },
59
+ {
60
+ "path": ".gemini/extensions.json",
61
+ "scope": "user",
62
+ "format": "jsonc",
63
+ "risk_surface": ["plugin_config", "command_exec", "remote_resource"]
64
+ }
65
+ ],
66
+ "skill_paths": [
67
+ {
68
+ "path": ".gemini/commands/*.toml",
69
+ "scope": "project",
70
+ "type": "custom_command",
71
+ "risk_surface": ["command_exec", "prompt_injection"]
72
+ },
73
+ {
74
+ "path": ".gemini/commands/*.toml",
75
+ "scope": "user",
76
+ "type": "custom_command",
77
+ "risk_surface": ["command_exec", "prompt_injection"]
78
+ },
79
+ {
80
+ "path": ".gemini/skills/**/*.md",
81
+ "scope": "project",
82
+ "type": "skill",
83
+ "risk_surface": ["prompt_injection"]
84
+ },
85
+ {
86
+ "path": ".gemini/skills/**/*.md",
87
+ "scope": "user",
88
+ "type": "skill",
89
+ "risk_surface": ["prompt_injection"]
90
+ },
91
+ {
92
+ "path": ".agents/skills/**/*.md",
93
+ "scope": "project",
94
+ "type": "skill",
95
+ "risk_surface": ["prompt_injection"]
96
+ },
97
+ {
98
+ "path": ".agents/skills/**/*.md",
99
+ "scope": "user",
100
+ "type": "skill",
101
+ "risk_surface": ["prompt_injection"]
102
+ }
103
+ ],
104
+ "extension_mechanisms": [
105
+ {
106
+ "type": "gemini_extension",
107
+ "install_pattern": "gemini extension install <id>",
108
+ "risk": "extension packages can execute commands and alter agent behaviour",
109
+ "fetchable": true
110
+ }
111
+ ]
112
+ }
@@ -0,0 +1,208 @@
1
+ {
2
+ "tool": "jetbrains-junie",
3
+ "version_range": ">=0.1.0",
4
+ "config_paths": [
5
+ {
6
+ "path": ".junie/settings.json",
7
+ "scope": "project",
8
+ "format": "jsonc",
9
+ "risk_surface": ["mcp_config", "ide_settings", "consent_bypass"]
10
+ },
11
+ {
12
+ "path": ".junie/settings.json",
13
+ "scope": "user",
14
+ "format": "jsonc",
15
+ "risk_surface": ["mcp_config", "ide_settings", "consent_bypass"]
16
+ },
17
+ {
18
+ "path": "Library/Application Support/JetBrains/Junie/settings.json",
19
+ "scope": "user",
20
+ "format": "jsonc",
21
+ "risk_surface": ["mcp_config", "ide_settings", "consent_bypass"]
22
+ },
23
+ {
24
+ "path": ".config/JetBrains/Junie/settings.json",
25
+ "scope": "user",
26
+ "format": "jsonc",
27
+ "risk_surface": ["mcp_config", "ide_settings", "consent_bypass"]
28
+ },
29
+ {
30
+ "path": "AppData/Roaming/JetBrains/Junie/settings.json",
31
+ "scope": "user",
32
+ "format": "jsonc",
33
+ "risk_surface": ["mcp_config", "ide_settings", "consent_bypass"]
34
+ },
35
+ {
36
+ "path": ".junie/mcp.json",
37
+ "scope": "project",
38
+ "format": "jsonc",
39
+ "risk_surface": ["mcp_config", "command_exec", "remote_resource"],
40
+ "fields_of_interest": {
41
+ "mcpServers.*.command": "stdio command",
42
+ "mcpServers.*.args": "stdio command arguments",
43
+ "mcpServers.*.url": "remote endpoint",
44
+ "mcpServers.*.env": "runtime environment variables"
45
+ }
46
+ },
47
+ {
48
+ "path": ".junie/mcp.json",
49
+ "scope": "user",
50
+ "format": "jsonc",
51
+ "risk_surface": ["mcp_config", "command_exec", "remote_resource"],
52
+ "fields_of_interest": {
53
+ "mcpServers.*.command": "stdio command",
54
+ "mcpServers.*.args": "stdio command arguments",
55
+ "mcpServers.*.url": "remote endpoint",
56
+ "mcpServers.*.env": "runtime environment variables"
57
+ }
58
+ },
59
+ {
60
+ "path": "Library/Application Support/JetBrains/Junie/mcp.json",
61
+ "scope": "user",
62
+ "format": "jsonc",
63
+ "risk_surface": ["mcp_config", "command_exec", "remote_resource"],
64
+ "fields_of_interest": {
65
+ "mcpServers.*.command": "stdio command",
66
+ "mcpServers.*.args": "stdio command arguments",
67
+ "mcpServers.*.url": "remote endpoint",
68
+ "mcpServers.*.env": "runtime environment variables"
69
+ }
70
+ },
71
+ {
72
+ "path": ".config/JetBrains/Junie/mcp.json",
73
+ "scope": "user",
74
+ "format": "jsonc",
75
+ "risk_surface": ["mcp_config", "command_exec", "remote_resource"],
76
+ "fields_of_interest": {
77
+ "mcpServers.*.command": "stdio command",
78
+ "mcpServers.*.args": "stdio command arguments",
79
+ "mcpServers.*.url": "remote endpoint",
80
+ "mcpServers.*.env": "runtime environment variables"
81
+ }
82
+ },
83
+ {
84
+ "path": "AppData/Roaming/JetBrains/Junie/mcp.json",
85
+ "scope": "user",
86
+ "format": "jsonc",
87
+ "risk_surface": ["mcp_config", "command_exec", "remote_resource"],
88
+ "fields_of_interest": {
89
+ "mcpServers.*.command": "stdio command",
90
+ "mcpServers.*.args": "stdio command arguments",
91
+ "mcpServers.*.url": "remote endpoint",
92
+ "mcpServers.*.env": "runtime environment variables"
93
+ }
94
+ },
95
+ {
96
+ "path": ".idea/ai-assistant.xml",
97
+ "scope": "project",
98
+ "format": "text",
99
+ "risk_surface": ["ide_settings", "command_exec"]
100
+ },
101
+ {
102
+ "path": ".idea/workspace.xml",
103
+ "scope": "project",
104
+ "format": "text",
105
+ "risk_surface": ["ide_settings", "command_exec"]
106
+ },
107
+ {
108
+ "path": "Library/Application Support/JetBrains/**/options/aiAssistant.xml",
109
+ "scope": "user",
110
+ "format": "text",
111
+ "risk_surface": ["ide_settings", "command_exec"]
112
+ },
113
+ {
114
+ "path": ".config/JetBrains/**/options/aiAssistant.xml",
115
+ "scope": "user",
116
+ "format": "text",
117
+ "risk_surface": ["ide_settings", "command_exec"]
118
+ },
119
+ {
120
+ "path": "AppData/Roaming/JetBrains/**/options/aiAssistant.xml",
121
+ "scope": "user",
122
+ "format": "text",
123
+ "risk_surface": ["ide_settings", "command_exec"]
124
+ },
125
+ {
126
+ "path": "Library/Application Support/JetBrains/AI Assistant/ai-assistant.xml",
127
+ "scope": "user",
128
+ "format": "text",
129
+ "risk_surface": ["ide_settings", "command_exec"]
130
+ },
131
+ {
132
+ "path": ".config/JetBrains/AI Assistant/ai-assistant.xml",
133
+ "scope": "user",
134
+ "format": "text",
135
+ "risk_surface": ["ide_settings", "command_exec"]
136
+ },
137
+ {
138
+ "path": "AppData/Roaming/JetBrains/AI Assistant/ai-assistant.xml",
139
+ "scope": "user",
140
+ "format": "text",
141
+ "risk_surface": ["ide_settings", "command_exec"]
142
+ }
143
+ ],
144
+ "skill_paths": [
145
+ {
146
+ "path": ".aiassistant/rules/**/*.md",
147
+ "scope": "project",
148
+ "type": "project_rule",
149
+ "risk_surface": ["prompt_injection", "unicode_backdoor"]
150
+ },
151
+ {
152
+ "path": ".aiassistant/rules/**/*.md",
153
+ "scope": "user",
154
+ "type": "project_rule",
155
+ "risk_surface": ["prompt_injection", "unicode_backdoor"]
156
+ },
157
+ {
158
+ "path": ".junie/guidelines/*.md",
159
+ "scope": "project",
160
+ "type": "guideline",
161
+ "risk_surface": ["prompt_injection", "unicode_backdoor"]
162
+ },
163
+ {
164
+ "path": ".junie/guidelines/*.md",
165
+ "scope": "user",
166
+ "type": "guideline",
167
+ "risk_surface": ["prompt_injection", "unicode_backdoor"]
168
+ },
169
+ {
170
+ "path": "Library/Application Support/JetBrains/Junie/guidelines/**/*.md",
171
+ "scope": "user",
172
+ "type": "guideline",
173
+ "risk_surface": ["prompt_injection", "unicode_backdoor"]
174
+ },
175
+ {
176
+ "path": ".config/JetBrains/Junie/guidelines/**/*.md",
177
+ "scope": "user",
178
+ "type": "guideline",
179
+ "risk_surface": ["prompt_injection", "unicode_backdoor"]
180
+ },
181
+ {
182
+ "path": "AppData/Roaming/JetBrains/Junie/guidelines/**/*.md",
183
+ "scope": "user",
184
+ "type": "guideline",
185
+ "risk_surface": ["prompt_injection", "unicode_backdoor"]
186
+ },
187
+ {
188
+ "path": "Library/Application Support/JetBrains/AI Assistant/rules/**/*.md",
189
+ "scope": "user",
190
+ "type": "project_rule",
191
+ "risk_surface": ["prompt_injection", "unicode_backdoor"]
192
+ },
193
+ {
194
+ "path": ".config/JetBrains/AI Assistant/rules/**/*.md",
195
+ "scope": "user",
196
+ "type": "project_rule",
197
+ "risk_surface": ["prompt_injection", "unicode_backdoor"]
198
+ }
199
+ ],
200
+ "extension_mechanisms": [
201
+ {
202
+ "type": "jetbrains_plugin",
203
+ "install_pattern": "JetBrains Marketplace plugin install",
204
+ "risk": "plugins can alter assistant behaviour and tool invocation",
205
+ "fetchable": false
206
+ }
207
+ ]
208
+ }
@@ -0,0 +1,102 @@
1
+ {
2
+ "tool": "kiro",
3
+ "version_range": ">=0.1.0",
4
+ "config_paths": [
5
+ {
6
+ "path": "AGENTS.md",
7
+ "scope": "project",
8
+ "format": "markdown",
9
+ "risk_surface": ["prompt_injection"]
10
+ },
11
+ {
12
+ "path": ".kiro/config.json",
13
+ "scope": "project",
14
+ "format": "json",
15
+ "risk_surface": ["mcp_config", "command_exec"]
16
+ },
17
+ {
18
+ "path": ".kiro/config.json",
19
+ "scope": "user",
20
+ "format": "json",
21
+ "risk_surface": ["mcp_config", "command_exec"]
22
+ },
23
+ {
24
+ "path": ".kiro/mcp.json",
25
+ "scope": "project",
26
+ "format": "jsonc",
27
+ "risk_surface": ["mcp_config", "command_exec", "remote_resource"],
28
+ "fields_of_interest": {
29
+ "mcpServers.*.command": "stdio command",
30
+ "mcpServers.*.args": "stdio command arguments",
31
+ "mcpServers.*.url": "remote endpoint",
32
+ "mcpServers.*.env": "runtime environment variables",
33
+ "mcp_servers.*.command": "stdio command (snake_case alias)",
34
+ "mcp_servers.*.url": "remote endpoint (snake_case alias)"
35
+ }
36
+ },
37
+ {
38
+ "path": ".kiro/mcp.json",
39
+ "scope": "user",
40
+ "format": "jsonc",
41
+ "risk_surface": ["mcp_config", "command_exec", "remote_resource"],
42
+ "fields_of_interest": {
43
+ "mcpServers.*.command": "stdio command",
44
+ "mcpServers.*.args": "stdio command arguments",
45
+ "mcpServers.*.url": "remote endpoint",
46
+ "mcpServers.*.env": "runtime environment variables",
47
+ "mcp_servers.*.command": "stdio command (snake_case alias)",
48
+ "mcp_servers.*.url": "remote endpoint (snake_case alias)"
49
+ }
50
+ },
51
+ {
52
+ "path": ".kiro/hooks.json",
53
+ "scope": "project",
54
+ "format": "jsonc",
55
+ "risk_surface": ["hooks", "command_exec"]
56
+ },
57
+ {
58
+ "path": ".kiro/hooks.json",
59
+ "scope": "user",
60
+ "format": "jsonc",
61
+ "risk_surface": ["hooks", "command_exec"]
62
+ },
63
+ {
64
+ "path": ".kiro/product.json",
65
+ "scope": "project",
66
+ "format": "jsonc",
67
+ "risk_surface": ["plugin_config", "remote_resource", "command_exec"]
68
+ },
69
+ {
70
+ "path": ".kiro/product.json",
71
+ "scope": "user",
72
+ "format": "jsonc",
73
+ "risk_surface": ["plugin_config", "remote_resource", "command_exec"]
74
+ }
75
+ ],
76
+ "skill_paths": [
77
+ {
78
+ "path": ".kiro/steering/**/*.md",
79
+ "scope": "project",
80
+ "type": "steering_rule",
81
+ "risk_surface": ["prompt_injection", "unicode_backdoor"]
82
+ },
83
+ {
84
+ "path": ".kiro/steering/**/*.md",
85
+ "scope": "user",
86
+ "type": "steering_rule",
87
+ "risk_surface": ["prompt_injection", "unicode_backdoor"]
88
+ },
89
+ {
90
+ "path": ".kiro/commands/**/*.md",
91
+ "scope": "project",
92
+ "type": "slash_command",
93
+ "risk_surface": ["prompt_injection"]
94
+ },
95
+ {
96
+ "path": ".kiro/commands/**/*.md",
97
+ "scope": "user",
98
+ "type": "slash_command",
99
+ "risk_surface": ["prompt_injection"]
100
+ }
101
+ ]
102
+ }
@@ -0,0 +1,128 @@
1
+ {
2
+ "tool": "opencode",
3
+ "version_range": ">=0.1.0",
4
+ "config_paths": [
5
+ {
6
+ "path": "opencode.json",
7
+ "scope": "project",
8
+ "format": "jsonc",
9
+ "risk_surface": ["command_exec", "lsp_config", "formatter_config", "mcp_config"]
10
+ },
11
+ {
12
+ "path": ".opencode/opencode.json",
13
+ "scope": "project",
14
+ "format": "jsonc",
15
+ "risk_surface": ["command_exec", "lsp_config", "formatter_config", "mcp_config"]
16
+ },
17
+ {
18
+ "path": ".opencode/opencode.json",
19
+ "scope": "user",
20
+ "format": "jsonc",
21
+ "risk_surface": ["command_exec", "lsp_config", "formatter_config", "mcp_config"]
22
+ },
23
+ {
24
+ "path": ".config/opencode/opencode.json",
25
+ "scope": "user",
26
+ "format": "jsonc",
27
+ "risk_surface": ["command_exec", "lsp_config", "formatter_config", "mcp_config"]
28
+ },
29
+ {
30
+ "path": "Library/Application Support/OpenCode/opencode.json",
31
+ "scope": "user",
32
+ "format": "jsonc",
33
+ "risk_surface": ["command_exec", "lsp_config", "formatter_config", "mcp_config"]
34
+ },
35
+ {
36
+ "path": "AppData/Roaming/OpenCode/opencode.json",
37
+ "scope": "user",
38
+ "format": "jsonc",
39
+ "risk_surface": ["command_exec", "lsp_config", "formatter_config", "mcp_config"]
40
+ },
41
+ {
42
+ "path": "AGENTS.md",
43
+ "scope": "project",
44
+ "format": "markdown",
45
+ "risk_surface": ["prompt_injection", "unicode_backdoor"]
46
+ },
47
+ {
48
+ "path": ".opencode/plugins.json",
49
+ "scope": "project",
50
+ "format": "jsonc",
51
+ "risk_surface": ["plugin_config", "command_exec", "remote_resource"]
52
+ },
53
+ {
54
+ "path": ".opencode/plugins.json",
55
+ "scope": "user",
56
+ "format": "jsonc",
57
+ "risk_surface": ["plugin_config", "command_exec", "remote_resource"]
58
+ },
59
+ {
60
+ "path": ".config/opencode/plugins.json",
61
+ "scope": "user",
62
+ "format": "jsonc",
63
+ "risk_surface": ["plugin_config", "command_exec", "remote_resource"]
64
+ },
65
+ {
66
+ "path": "Library/Application Support/OpenCode/plugins.json",
67
+ "scope": "user",
68
+ "format": "jsonc",
69
+ "risk_surface": ["plugin_config", "command_exec", "remote_resource"]
70
+ },
71
+ {
72
+ "path": "AppData/Roaming/OpenCode/plugins.json",
73
+ "scope": "user",
74
+ "format": "jsonc",
75
+ "risk_surface": ["plugin_config", "command_exec", "remote_resource"]
76
+ }
77
+ ],
78
+ "skill_paths": [
79
+ {
80
+ "path": ".opencode/rules/**/*.md",
81
+ "scope": "project",
82
+ "type": "rule_file",
83
+ "risk_surface": ["prompt_injection", "unicode_backdoor"]
84
+ },
85
+ {
86
+ "path": ".opencode/rules/**/*.md",
87
+ "scope": "user",
88
+ "type": "rule_file",
89
+ "risk_surface": ["prompt_injection", "unicode_backdoor"]
90
+ },
91
+ {
92
+ "path": ".opencode/agents/*.md",
93
+ "scope": "project",
94
+ "type": "agent_definition",
95
+ "risk_surface": ["prompt_injection"]
96
+ },
97
+ {
98
+ "path": ".opencode/agents/*.md",
99
+ "scope": "user",
100
+ "type": "agent_definition",
101
+ "risk_surface": ["prompt_injection"]
102
+ },
103
+ {
104
+ "path": ".opencode/skills/**/*.md",
105
+ "scope": "project",
106
+ "type": "skill",
107
+ "risk_surface": ["prompt_injection"]
108
+ },
109
+ {
110
+ "path": ".opencode/skills/**/*.md",
111
+ "scope": "user",
112
+ "type": "skill",
113
+ "risk_surface": ["prompt_injection"]
114
+ },
115
+ {
116
+ "path": ".opencode/commands/**/*.md",
117
+ "scope": "project",
118
+ "type": "command",
119
+ "risk_surface": ["prompt_injection", "command_exec"]
120
+ },
121
+ {
122
+ "path": ".opencode/commands/**/*.md",
123
+ "scope": "user",
124
+ "type": "command",
125
+ "risk_surface": ["prompt_injection", "command_exec"]
126
+ }
127
+ ]
128
+ }