Skip to content

Commit 5d37f99

Browse files
author
andrey.korchemkin
committed
feat: Introduce new rules for enhanced tool safety and scoring
- Added rules for identifying dangerous tools: - Dangerous filesystem deletion tools - Dangerous HTTP request tools - Dangerous network tools - Dangerous download-and-execute tools - Tools missing required critical fields - Tools with overly generic names - Tools allowing arbitrary properties in schemas - Tools that mention destructive access in descriptions - Tools without scope hints for write capabilities - Updated scoring logic to include new risk categories and rules. - Enhanced test coverage for SARIF reports and scoring breakdowns. - Introduced CI workflow for automated testing and linting. - Added release notes for version 0.4.0 highlighting new features and improvements.
1 parent d4836a4 commit 5d37f99

51 files changed

Lines changed: 2594 additions & 401 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
pull_request:
6+
7+
jobs:
8+
test:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v4
12+
13+
- name: Set up Python
14+
uses: actions/setup-python@v5
15+
with:
16+
python-version: "3.12"
17+
18+
- name: Install package
19+
run: |
20+
python -m pip install --upgrade pip
21+
python -m pip install -e .[dev]
22+
23+
- name: Run tests
24+
run: python -m pytest
25+
26+
- name: Lint
27+
run: python -m ruff check .
28+
29+
- name: Type-check
30+
run: python -m mypy

AGENTS.md

Lines changed: 0 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1 @@
11
Ты — мой инженерный агент в VS Code. Мы делаем open-source проект MCP Trust Kit: CI-first trust scoring для MCP servers.
2-
3-
Главная цель:
4-
собрать v0.3.0, которую уже можно публично выложить на GitHub и дать людям поставить через GitHub Actions.
5-
6-
Продуктовая рамка:
7-
- это НЕ security platform
8-
- это НЕ MCP gateway
9-
- это НЕ hosted service
10-
- это НЕ full certification authority
11-
- это deterministic scanner + score + reports + GitHub Action
12-
- optional AI explain layer не делаем в ядре v0.3
13-
14-
Что должен уметь v0.3:
15-
1) просканировать MCP server
16-
2) получить и нормализовать список tools
17-
3) прогнать deterministic rules
18-
4) посчитать trust score
19-
5) вывести terminal summary
20-
6) сохранить JSON report
21-
7) сохранить SARIF
22-
8) работать в GitHub Action
23-
9) иметь понятный README, examples и быстрый quickstart
24-
25-
Нефункциональные требования:
26-
- Python
27-
- аккуратная модульная архитектура
28-
- минимальный технический долг
29-
- предсказуемое поведение
30-
- хорошие сообщения об ошибках
31-
- никаких фейковых реализаций
32-
- никаких TODO-дыр в критическом пути
33-
- никакой магии через LLM в scoring engine
34-
- только реально работающий код
35-
36-
Правила работы:
37-
- сначала коротко опиши план на 5–10 пунктов
38-
- затем реализуй только тот scope, который я запросил в этом сообщении
39-
- если scope слишком большой, разбей на подшаги, но всё равно выполни максимум полезного
40-
- после изменений обязательно запусти релевантные тесты/линтеры
41-
- в конце дай:
42-
1) что сделал
43-
2) какие файлы изменил
44-
3) как проверить
45-
4) что ещё осталось
46-
- не переписывай весь проект без необходимости
47-
- не делай premature abstractions
48-
- не добавляй зависимости без причины
49-
- если делаешь CLI/API, сначала проектируй минимальный работающий интерфейс
50-
51-
Стандарт качества для каждого этапа:
52-
- код должен быть понятным
53-
- имена должны быть нормальными
54-
- типы и структуры данных должны быть ясными
55-
- ошибки должны быть обрабатываемыми
56-
- тесты должны покрывать новый функционал
57-
- результат должен быть коммитопригодным
58-
59-
Наша стратегия релиза:
60-
- публикуем v0.3.0 как можно раньше
61-
- v1 не ждём
62-
- README и GitHub Action должны быть сделаны так, чтобы человеку было тупо легко воткнуть инструмент себе в репозиторий
63-
64-
Если в моём запросе есть неоднозначность, делай лучший инженерный выбор в сторону:
65-
- более узкого scope
66-
- более быстрой поставки
67-
- более надёжного поведения
68-
- более ясного README

CHANGELOG.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,29 @@ All notable changes to this project will be documented in this file.
44

55
The format is based on Keep a Changelog and this project uses Semantic Versioning.
66

7+
## [0.4.0] - 2026-03-29
8+
9+
First practically useful public release.
10+
11+
### Added
12+
13+
- expanded deterministic ruleset for schema hygiene and risky exposed capabilities
14+
- capability-aware risk categories in findings and report summaries
15+
- terminal summary sections for score meaning, why-score explanation, high-risk capabilities, and review-first tools
16+
- repo CI workflow at `.github/workflows/ci.yml`
17+
18+
### Changed
19+
20+
- repositioned the score as deterministic surface risk rather than abstract trust
21+
- refined `weak_input_schema` to avoid penalizing empty object schemas for no-arg tools by default
22+
- Bash-first README and validation docs, with Windows examples moved behind details or separate notes
23+
- real-world validation docs refreshed against public MCP servers
24+
25+
### Fixed
26+
27+
- filesystem delete heuristic no longer false-positives on `directory_tree` and `get_file_info`
28+
- public example and sample artifacts regenerated from current scanner behavior
29+
730
## [0.3.0] - 2026-03-29
831

932
Initial public release.

0 commit comments

Comments
 (0)