trapline 0.1.0 → 0.1.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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/trapline/version.rb +1 -1
  4. metadata +49 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4512a1d91ced4516d053f35a63b9c3e421e13445a047bd6204890e1b28094dcf
4
- data.tar.gz: 63389b3d583eea89f84dcb04ce2fedf502ee5c917d9eb363b455237b3a117ba5
3
+ metadata.gz: 7fdc8ed7dd098d60e8f4bfa89f9cf9df427c42a783cee43534888f7a9dd8b752
4
+ data.tar.gz: ed7d1ba3a99cf576e116ee476a0ee3d0b8ed31d0ba3405d8222f37b814713e8b
5
5
  SHA512:
6
- metadata.gz: 52530cb305ad1f19e1740f7265b80fbd0345031cad2f4f033bf28908d122c272b04e1ea2279895a11a07b23ec776aa683787126f3199bb41ceb3f50e36dc22ed
7
- data.tar.gz: 67d866ff50f4d6fd28da3568322f34bb46928c95216f691257753e19a244a15544cbef9eddabfeb2791eeba4f2dcbc61c33896c9c6d48709f1fd33799ecfa949
6
+ metadata.gz: b13b080b1d97c92f110d3ee32be22b77078646f92f99805aa198409b33922fefabf658b4c6e69005163e1630397135abb32a5b598f2fd805764f9b51fce82352
7
+ data.tar.gz: e91f788c8e736f70da61cfd6737f8f672743e83129a77ba3c2149af9acf9f74c7c00cade672f44d5b05e11ddae63b287b575c959095ce4c223ddbc7e72d15744
data/README.md CHANGED
@@ -86,7 +86,7 @@ pip install semgrep # or: brew install semgrep
86
86
 
87
87
  ```bash
88
88
  trapline version
89
- # trapline 0.1.0
89
+ # trapline 0.1.1
90
90
  # engine: opengrep 1.33.1 (/Users/you/.opengrep/cli/latest/opengrep)
91
91
  ```
92
92
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Trapline
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.3"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trapline
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jose Augusto
@@ -45,10 +45,52 @@ dependencies:
45
45
  - !ruby/object:Gem::Version
46
46
  version: '13.0'
47
47
  description: |
48
- Trapline is a web editor for creating, testing and maintaining semgrep/opengrep
49
- rules, with structural validation, execution with ruleid/ok annotations and a
50
- draft generator from CVEs (NVD + OSV) with per-CWE templates. It works as a
51
- CLI (`trapline server`), as a Rack app and mounted in a Rails app.
48
+ Trapline is a web editor and CLI for writing and testing opengrep/semgrep
49
+ rules, plus a generator that turns a CVE into rule drafts with test code.
50
+ Test files stay in the standard --test format.
51
+
52
+ INSTALL
53
+
54
+ gem install trapline
55
+
56
+ Trapline needs an engine on your PATH, opengrep (recommended) or semgrep:
57
+
58
+ curl -fsSL https://raw.githubusercontent.com/opengrep/opengrep/main/install.sh | bash
59
+ pip install semgrep
60
+
61
+ The opengrep installer puts the binary in ~/.opengrep/cli/latest/. Add it to
62
+ your PATH or pass --engine-bin. Check the setup with:
63
+
64
+ trapline version
65
+
66
+ USAGE
67
+
68
+ Web editor (http://127.0.0.1:9292):
69
+
70
+ trapline server -r ./rules
71
+
72
+ Write the rule, paste vulnerable and fixed code, and click the margin to mark
73
+ the lines that must or must not match. Trapline writes the ruleid/ok
74
+ annotations and reruns as you type.
75
+
76
+ Rule drafts from a CVE or GHSA (looked up in NVD and OSV):
77
+
78
+ trapline cve CVE-2024-4577 # list the drafts
79
+ trapline cve CVE-2024-4577 --save --pick 2 -r ./rules
80
+
81
+ Validate and test rules (exits 1 on failure, for CI):
82
+
83
+ trapline validate --engine rules/*.yaml
84
+ trapline test -r ./rules
85
+ trapline run rules/my-rule.yaml app/models/user.rb
86
+
87
+ Rails: add gem "trapline" to the Gemfile, then
88
+
89
+ bin/rails generate trapline:install # editor at /trapline
90
+ bin/rails trapline:test
91
+
92
+ It also runs as a Rack app (run Trapline::Web::App.new in config.ru). No
93
+ runtime dependencies besides Ruby 3.3+ and the engine binary.
52
94
  email:
53
95
  - joseaugusto.881@outlook.com
54
96
  executables:
@@ -131,6 +173,6 @@ requirements:
131
173
  rubygems_version: 3.5.22
132
174
  signing_key:
133
175
  specification_version: 4
134
- summary: Editor and generator for semgrep/opengrep rules, standalone or mounted in
135
- Rails
176
+ summary: 'Write, test and generate opengrep/semgrep rules: web editor, CLI and CVE-to-rule
177
+ drafts'
136
178
  test_files: []