2025-08-28 Meeting notes

2025-08-28 Meeting notes

Date

Aug 28, 2025

Attendees

Name

Present

Planned Absences

Name

Present

Planned Absences

@Craig McNally

Y

 

@Julian Ladisch 

Y

 

@Axel Dörrer 

 

 

@Ryan Berger (Deactivated) 

 

 

@Chris Rutledge 

 

 

@Jakub Skoczen 

 

 

@John Coburn 

 

 

@Skott Klebe 

 

 

@Kevin Day

Y

 

@Jens Heinrich

Y

 

@Tom Gorman 

 

 

@Zak Burke

 

 

Discussion items

Time

Item

Who

Notes

Time

Item

Who

Notes

???

Ramsons Support Period

@Julian Ladisch

See https://folio-org.atlassian.net/wiki/spaces/TC/pages/1187348628/DR-000043+-+Support+period

  • Given the news about Trillium being extended to Spring 2026, what happens to the support periods for Ramsons/Sunflower?

  • Seems to make sense, let’s give it some thought and if there are any concerns raise them in Slack before next Wednesday.

  • Would bring Folio more in line with the support periods of spring, which has been a problem in the past.

  • This approach allows us to create a backport from Spring Boot 3.4 to Spring Boot 3.3 – Ramsons uses Spring Boot 3.3 – and avoids jumping over more minor revisions of Spring Boot.

15 min

https://semgrep.dev/

@Julian Ladisch

Update yarn.lock to pacify snyk? https://open-libr-foundation.slack.com/archives/CAN13SWBF/p1752866755366089

  • For the specific issue pbkdf2, we can probably ignore in snyk.

  • The broader question still remains… how do we want to manage yarn.lock files in the context of security scans, vulnerability tracking, etc.

    • What are the yarn.lock files used for?

      • Reproducible builds

      • Security scans

      • License scans (semgrep)

      • Anything else?

    • Should distinct yarn.lock files be generated for security scans? Should we exclude dev dependencies?

  • In order to make use of semgrep, we need yarn.lock files

    • We’d like to use this since it reports things snyk doesn’t. It also support license compliance checks.

    • Big picture: what is it we’re trying to accomplish with these tools?

      • We don’t yet have anything which performs the license checks.

      • Better visibility/awareness of vulnerabilities

  • Presently, the only reason why lock files for individual repositories are in place today are for consistent CI builds

  • Can we enable only the license checks?

  • Scanning the platform-complete lock file makes sense. This isn’t controversial.

  • Scanning individual ui module lock files is the sticking point.

    • This is needed if we want to scan dev dependencies - these are not included in platform-complete

    • Idea: fork each ui module repo, run the build/scans on a nightly basis.

      • This will raise awareness of issues early on.

    • Idea: maybe we can use the snyk/semgrep CLIs to avoid needing to create forks…

      • Clone, remove the lock file, build, scan local lock file with CLI.

      • More lightweight - no need to maintain forks

    • Idea: develop some automation which clones the repo, generates a new lock file, and commits/pushes it each night. Scans would go against the latest lock file.

      • Cons: lots of commits to the repo which don’t actually provide any benefit beyond these scans.

    • Generate manifest files or lockfiles for Semgrep Supply Chain in a Circle CI pipeline - Semgrep


Today:

  • No progress - revisit next week.

1 min

Snyk Vulnerability Stats

@Craig McNally

  • Latest dashboard screenshots posted to slack along with some notes.

  • TODO: incorporate SAST data, which requires calling additional snyk APIs.

1 min

MODLOGIN-164: Login allows username and password enumerationClosed

@Julian Ladisch

Notes:

  • We decided to bump this to P2 and ask the core platform team to work on it.

  • For consistency, it should be backported to Sunflower and Ramsons

  • Keeping this here to track since there isn’t a SECURITY issue for it.

*

Anything Urgent?
Review Security board?
Review labels=security?
Issues under review?

Under Review Filter:
0 Issues

Snyk Cleanup Filter:

9 Issues

Team

@Craig McNally made some progress on Snyk cleanup. Only 11 issues in the filter now; all of which require splitting/filing new JIRAs, additional investigation, etc. I’ll continue to work on this, but if anybody can help it would be greatly appreciated.

 

Topic Backlog

0 min

Jira Group and Security Level review

Team

From Craig in slack:

I've been in communication with David Crossley, Wayne Schneider, John Malconian and Peter Murray about the issue above.  They apparently didn't have access to these embargoed issues (SysOps and Core Team).  Peter shared this screenshot with me, which doesn't look right.  I'd like to review this at one of our meetings and come up with a list of changes/improvements for Peter to make.  A few ideas off the top of my head:

  1. Add descriptions to each of the security groups, like we have for "FOLIO Security Group"

  2. Maybe add a new security group and level for FOLIO devops

  3. Review membership of each of these groups and remove users no longer on the project

  4. Review the Security Level -> Group mappings.  Some of these don't look quite right to me.


  • If it makes this easier, we could invite Peter to a meeting so we can see the groups/levels interactively and makes adjustments as we go

  • Not exactly this, but related... 

    • Issues submitted to the SECURITY JIRA project should automatically be embargoed (Security Level = Folio Security Group)

    • The submitter of issues to the SECURITY JIRA project should be able to view issues they submit, regardless of their Security Level

    • Email notification sent to the Folio Security Group when an issue is created in the SECURITY Jira project.

  • Action@Craig McNally to setup a meeting with Peter and representatives from the Security Team to work through these things after WOLFcon?  

    • We need to look into how security level configuration works to gain a better understanding of why it behaves the way it does.  

      • Why do we have All Folio Developers in the "Sys Ops and Core Team" security level?


Today:

  • (Craig) no progress due to lack of time to spend on this.  Does someone else have time to work through this with Peter?

Time permitting

Advice for handling of sensitive banking information

Team

From slack conversation, I think I've gathered the following:

  • In this case (bank account and transit numbers), the information is highly sensitive.  

    • Highly sensitive information should:

      • Be stored in it's own table

      • Accessed via a dedicated API

      • Protected by a dedicated permission

      • Encrypted in the database, not only on disk.  

Let's review and discuss before providing this feedback to Raman.

@Axel Dörrer also suggested that defining classes of sensitivity could help teams determine which techniques are applicable in various situations.  I agree having some general guidelines on this would be helpful.

  • regular data

    • low sensitive - permission based on same API

    • high sensitive - permission based on dedicated API

It would probably help to provide concrete examples of data in each class.  This can be a longer term effort, we don't need to sort out all the details today.

  • Next Steps:

    • Clearly define/formalize the various classes

      • Come up with concrete examples of each class

      • Build out guidance

        • Come up with concrete examples of how to protect each class of data.

      • Consider storing some classes of data outside of postgres altogether - e.g. in secret storage.

        • What would be the guidance we provide to teams for this so we don't end up with each team doing things differently?

        • SecretStore interface and existing implementations are currently only read-only.  They would need to be extended to allow for creation/mgmt of this information.

      • Craig to start a conversation in slack about this.

        • Seeking a volunteer to generate a draft document for us to review at a later meeting.


Today:

@Axel Dörrer to do a first draft as a base for further discussions



Status on pentesting works within Network traffic control group

@Axel Dörrer 

Due to some absences on different reasons the group stalled. Axel will try to reactivate the group.

 

SFTP

 

MODEXPW-248: Implement support of sftp client to login by private key for Edifact Orders ExportIn Refinement

UIORGS-332: Add Private key field for FTP details tab In Refinement

Action items