verifact 0.2.1 → 0.2.3

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 CHANGED
@@ -6,6 +6,18 @@ Markdown 文档里的性能基准、测试计数、版本号——这些数字
6
6
 
7
7
  Zero external dependencies. Pure Node.js.
8
8
 
9
+ ## 这个工具不做什么
10
+
11
+ 三件容易被误解的事,写在最前面:
12
+
13
+ - **不扫漏洞。** 它不分析代码、不查 CVE、不做污点分析。它只核对「文档里写的数字」与「仓库里的产出物」是否一致。没有产出物可对的声明会落到 `unbound`,那是「缺证据」,不是「安全」。
14
+ - **不保证安全。** `drift 0` 只代表本次扫描范围内没有发现数值漂移。它不是合规结论,也不能替代渗透测试或第三方审计。
15
+ - **不执行被审代码。** 扫描过程只读文件、解析文本与 JSON,不运行仓库里的任何脚本或二进制。
16
+
17
+ 报告长什么样、怎么读:<https://fibemate.net/tools/verifact-demo/>(那个页面只渲染 JSON,不做任何判定)。
18
+
19
+ 判定边界写在 `VERIFACT-DESIGN.md`。绑不上的声明会被列出来,工具不会替你补一个数字。
20
+
9
21
  ## 与 OWASP CycloneDX 规范的关系
10
22
 
11
23
  本工具对「字段缺失」与「显式零值」的区分,与 OWASP CycloneDX 密码学属性(cryptoProperties)语义澄清的方向一致。作者就该语义向上游规范仓库提交了澄清提案,已获规范维护者评审通过;**提案尚未合并,合并前不代表规范文本已变更**。
package/bin/verifact.js CHANGED
@@ -18,6 +18,7 @@ const HELP = `verifact — 事实哨兵:把文档里的硬数字声明绑定
18
18
  verifact diff [--since <n>] [--top <n>] 对比两次运行之间的状态迁移
19
19
  verifact serve [--config <file>] [--port <n>] 启动本地看板与 API
20
20
  verifact init [--dir <dir>] 生成一份 verifact.json 样例配置
21
+ verifact --version | -v 打印版本号
21
22
 
22
23
  verify 选项:
23
24
  --cwd <dir> 配置文件查找 / 缓存 / --out 的基准目录,默认当前目录
@@ -46,6 +47,7 @@ function parseArgs(argv) {
46
47
  while (i < argv.length) {
47
48
  const a = argv[i];
48
49
  if (a === '--help' || a === '-h') { out.flags.help = true; i++; continue; }
50
+ if (a === '-v') { out.flags.version = true; i++; continue; }
49
51
  if (a.startsWith('--')) {
50
52
  const key = a.slice(2);
51
53
  const next = argv[i + 1];
@@ -433,6 +435,10 @@ function cmdInit(args) {
433
435
  async function main() {
434
436
  const rawArgv = process.argv.slice(2);
435
437
  const args = parseArgs(rawArgv);
438
+ if (args.flags.version) {
439
+ process.stdout.write(require('../package.json').version + '\n');
440
+ return 0;
441
+ }
436
442
  if (args.flags.help || !args._.length) {
437
443
  process.stdout.write(HELP);
438
444
  return args._.length ? 0 : 2;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "verifact",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "事实哨兵 — 把文档里的硬数字声明绑定到真实产出物上逐条核验,漂移即红。",
5
5
  "license": "Apache-2.0",
6
6
  "author": "刘天赫 <research@fibemate.net>",