{"id":17968108,"url":"https://github.com/yanhuijessica/attack-seaman","last_synced_at":"2025-03-25T08:31:48.535Z","repository":{"id":48078191,"uuid":"274925260","full_name":"YanhuiJessica/Attack-Seaman","owner":"YanhuiJessica","description":"Visual Editor for MITRE™ ATT\u0026CK Knowledge Base - MITRE™ ATT\u0026CK 知识库可视化编辑工具","archived":false,"fork":false,"pushed_at":"2024-09-11T15:42:11.000Z","size":9775,"stargazers_count":9,"open_issues_count":1,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-20T00:02:09.144Z","etag":null,"topics":["golang","mitre-attack","navigator"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/YanhuiJessica.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-25T13:37:09.000Z","updated_at":"2024-09-11T15:42:09.000Z","dependencies_parsed_at":"2024-09-11T22:11:01.141Z","dependency_job_id":"91b3f520-a024-46a8-852c-01dd16f29cd5","html_url":"https://github.com/YanhuiJessica/Attack-Seaman","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YanhuiJessica%2FAttack-Seaman","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YanhuiJessica%2FAttack-Seaman/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YanhuiJessica%2FAttack-Seaman/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YanhuiJessica%2FAttack-Seaman/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YanhuiJessica","download_url":"https://codeload.github.com/YanhuiJessica/Attack-Seaman/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245426401,"owners_count":20613349,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["golang","mitre-attack","navigator"],"created_at":"2024-10-29T14:10:56.165Z","updated_at":"2025-03-25T08:31:47.183Z","avatar_url":"https://github.com/YanhuiJessica.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Attack-Seaman\n\n简单来说，这是一个为 [ATT\u0026CK® Navigator](https://mitre-attack.github.io/attack-navigator/) 服务的 [MITRE 知识库](https://github.com/mitre/cti/) 编辑工具。针对的人群主要是 ATT\u0026CK 矩阵的使用用户。\n\n目的是为解决以下问题：\n\n1. 难以编辑大 JSON 文件；\n2. 知识库字段繁多，易出错；\n   - 详见 [STIX](https://oasis-open.github.io/cti-documentation/stix/intro.html)\n\n### Usage\n\n1. 上传本地知识库\n2. 新增（子）Technique 与 Relationship\n3. 发布到 navigator\n   - 底层仅修改了 navigator 的 assets 来源\n   - 不对 upstream 做任何破坏\n\n为使 navigator 成功加载，你的编辑动作需满足以下条件：\n\n1. 前端列出的必填项\n2. 子技术的 kill_chase_phase 应当是 父技术的 kill_chase_phase 的子集\n3. relationship 的从属不能是同一个 Technique\n4. `x_mitre_is_subtechnique` 的 `true/false` 应当与定义的 relationship 从属关系一致\n\n由于项目硬编码了设想的域名 `attack-seaman.com` 在代码中，你可能需要：\n\n### 编辑 Hosts\n\n| 操作系统 | Hosts 文件位置                          |\n| -------- | --------------------------------------- |\n| Linux    | `/etc/hosts`                            |\n| Windows  | `C:\\Windows\\System32\\drivers\\etc\\hosts` |\n| Mac      | `/private/etc/hosts`                    |\n\n添加一行\n\n```bash\n127.0.0.1 attack-seaman.com\n```\n\n### Docker\n\n```sh\n# 通过 docker 启动项目\ndocker-compose up -d\n\n# 查看特定 container （如：app）日志\ndocker-compose logs app\n\n# 访问以下地址，如数据、操作等均无误则说明启动成功\n# 前端：attack-seaman.com:3000\n# 后端API：attack-seaman.com:6868\n# self-host navigator：attack-seaman.com:4200\n```\n\n### Dev\n\n如果需要本地开发，确保满足如下环境：\n\n```sh\n(master)⚡ % systemctl status mongodb\n\n● mongodb.service - High-**performance**, schema-free document-oriented database\n     Loaded: loaded (/usr/lib/systemd/system/mongodb.service; disabled; vendor preset: disabled)\n     Active: active (running) since Tue 2021-04-13 17:39:17 CST; 46s ago\n   Main PID: 4116 (mongod)\n      Tasks: 32 (limit: 17833)\n     Memory: 211.2M\n     CGroup: /system.slice/mongodb.service\n             └─4116 /usr/bin/mongod --quiet --config /etc/mongodb.conf\n\n4月 13 17:39:17 X systemd[1]: Started High-performance, schema-free document-oriented database.\n(master)⚡ % node -v\nv15.12.0\n(master)⚡ % go version\ngo version go1.16.2 linux/amd64\n```\n\n#### /src/config.yml \n```yml\n# 1. 配置好 mongodb connection\ndatabase:\n  dbname: attackSeaman\n  connection: mongodb://attackSeaman:cuccs1sgreat@127.0.0.1:27017\n  tbname: enterprise\n\n# 2. 上传文件的保存路径\nutils:\n  filepath: /app/assets/\n```\n#### API\n\n```sh\ncd src\ngo run .\n```\n\n#### frontend\n\n```sh\n# yarn 不行就试试 npm\ncd frontend\nyarn \u0026 yarn start\n```\n\n#### navigator\n```sh\ncd src/nav-app\nyarn \u0026 yarn start\n```\n\n\n### Mitre ATT\u0026CK 编辑\n添加好 (Sub)Technique 以及 Relationship(如果需要)\n\n#### 新建 Technique\n![](./assets/attackpatterns_create.png)\n\n#### 新建 Relationship\n![](./assets/relationship_create.png)\n\n\nATT\u0026CK® Navigator 新增的技术点\n\n![](./assets/res.png)\n\n# Refs\n\n* [Ten-Minutes-App](https://github.com/Kirk-Wang/Ten-Minutes-App)\n* [mongo-go-dirver offical examples](https://github.com/mongodb/mongo-go-driver/blob/master/examples/documentation_examples/examples.go)\n* [Go by Example](https://gobyexample.com/)\n* [gotify/server](https://github.com/gotify/server)\n* [gin-jwt](https://github.com/appleboy/gin-jwt)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyanhuijessica%2Fattack-seaman","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyanhuijessica%2Fattack-seaman","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyanhuijessica%2Fattack-seaman/lists"}