-
Notifications
You must be signed in to change notification settings - Fork 141
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
encode best practice in default rule behavior for DISALLOW * #287
Comments
I believe that DISALLOW * was implicitly included as part of rules, but it was changed a while ago. |
IIUC the assessment note recommends a default in-toto/specification#4 calls for documenting the rationale for all artifact rule related design decisions. Currently it only lists pointers to related GitHub issues and prs. We should have the discussion there. |
According to @SantiagoTorres, I was also responsible for this, although I can't remember having this discussion, and it is conducive for present purposes to forget about it now even if it happened... In any case, @adityasaky and I were bitten by this today, and we highly recommend adding an implicit "DISALLOW *" pattern at the end of every step. At the very least, I will add it to my layout library as a default last step. |
poking this issue. Can we make a determination and move forward? |
If we |
I would imagine that an explicit ALLOW rule on a subset would override a
DISALLOW rule on a set that includes that subset.
…On Fri, Dec 23, 2022 at 6:13 AM Trishank Karthik Kuppusamy < ***@***.***> wrote:
If we DISALLOW * by default in the reference implementation to err on the
side of safety by default, how would exceptions work? Would an explicit
"ALLOW *beforehand have the intended effect, or would the implicitDISALLOW
*` always prevail?
—
Reply to this email directly, view it on GitHub
<#287 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ADMU746LANH2FBJ4ONUNLI3WOWCORANCNFSM4HWUC5VQ>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
I meant to say:
I would imagine that an explicit ALLOW rule on a subset would override an
implicit DISALLOW rule on a set that includes that subset.
…On Fri, Dec 23, 2022 at 6:13 AM Trishank Karthik Kuppusamy < ***@***.***> wrote:
If we DISALLOW * by default in the reference implementation to err on the
side of safety by default, how would exceptions work? Would an explicit
"ALLOW *beforehand have the intended effect, or would the implicitDISALLOW
*` always prevail?
—
Reply to this email directly, view it on GitHub
<#287 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ADMU746LANH2FBJ4ONUNLI3WOWCORANCNFSM4HWUC5VQ>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Have we considered a reversal of #140? My understanding is we wanted to match firewall rules but I'm not convinced that's the best option for artifact rules. In the general sense, we want firewalls to let through anything that's not on a denylist but I can't see why that should be default behaviour for in-toto. Perhaps |
I lean towards fixing this in artifact rules documentation, e.g. add a paragraph that strongly recommends adding This is not what OP recommends, i.e. adding those rules per default (for whatever that means), nor what has been discussed above, i.e. assuming the rule exists per default (as prior to #140), but has the advantage that it won't break any existing users, and is also an opportunity to review this particular part of the documentation. If breaking existing users is acceptable, we might want to make more drastic improvements to the verification language |
@lukpueh do you think you can submit a patch to the spec (and here where we discuss artifact rules) adding this note about |
Unfortunately, improving in-toto documentation is not a priority for me right now. |
Gotcha, I'll try and sneak it into in-toto/specification#69 🤔 |
I emphasized an existing mention of this in the spec here: in-toto/specification@e709692. I'm not sure if we want to make these kinds of recommendations there but curious what others think. |
I still disagree that this is a documentation-level thing, but maybe we can have opinionated tools like for ITE-2 fix that instead. |
I think we actually agree that this should be solved on a spec and implementation level, @trishankatdatadog. I was just trying to say that an isolated fix for |
Also added a note to artifact rules section in the readme: #530 |
With the above documentation changes, I'm going to resolve this issue. |
Description of issue or feature request:
CNCF SIG Security assessment notes: "As a recommended best practice, we assume there is a DISALLOW * rule at the end of the rule list for each step." This would be more robust if it was encoded in the step, rather than required for users to specify.
Current behavior:
From the demo, users must specify
DISALLOW *
as part of the rule...Expected behavior:
You could consider including that as part of the rules
"expected_materials
andexpected_products
and make different keys to implement the rare use cases where this is would not be desirable.The text was updated successfully, but these errors were encountered: